Centos 7上安装新版数据库Oracle12c

Oracle 是一个数据库管理系统,是Oracle公司的核心产品。其在数据安全性与安整性控制方面的优越性能,以及跨操作系统、跨硬件平台的数据操作能力。基于“客户端/服务器”(Client/Server)系统结构。

主要特点:

1.支持多用户、大事务量的事务处理。

2.在保持数据安全性和完整性方面性能优越。

3.支持分布式数据处理。将公布在不同物理位置的数据库用通信网络连接起来,组成一个逻辑上统一的数据库,完成数据处理任务。

4.具有可移植性。Oracle可以在Windows、Linux等多个操作系统平台上使用。
Oracle基本概念:

1.数据库。这里的数据库是磁盘上存储数据的集合,在物理上表现为数据文件、日志文件和控制文件等。在逻辑上以表空间形式存在。必须首先创建数据库,然后才能用Oracle。可以在Database Configuation Assistant上创建。

2.全局数据库名。用于区分一个数据库的标识。它由数据库名称和域名构成,类似网络中的域名,使数据库的命名在整个网络环境中唯一。

3.数据库实例。每个启动的数据库都对应一个数据库实例,由这个实例来访问数据库中的数据。

4.表空间。每个数据库都是由若干个表空间构成的,用户在数据库中建立的所有内容都被存储到表空间中。一个表空间可以由多个数据文件组成,但一个数据文件只能属于一个表空间。

5.数据文件。扩展名是.dbf,是用于存储数据库数据的文件。一个数据文件中可能存储很多个表的数据,而一个表的数据也可以存放在多个数据文件中。数据文件和数据库表不存在一对一的关系。

6.控制文件。技展名.ctl,是一个二进制文件。控制文件是数据库启动及运行所必需的文件。存储数据文件和日志文件的名称和位置。Oracle 11g默认包含三个控制文件。

7.日志文件。扩展名.log,它记录了数据的所有更改信息,并提供了一种数据恢复机制,确保在系统崩溃或其他意外出现后重新恢复数据库。在工作过程中,多个日志文件组之间循环使用。

8.模式和模式对象。模式是数据库对象(表、索引等,也称模式对象)的集合。

Oracle数据类型:

1、字符数据类型:

1)char数据类型。当需要固定长度字符串时,使用char。长度1~2000字节。如果没有指定大小,默认1字节。如果用户输入的值小于指定的大小,系统用空格填充。如果大于,报错。

2)varchar2数据类型,支持可变长度的字符串。大小为1~4000字节。如果用户输入的值小于指定的大小,不用填充,varchar2数据类型可以节省磁盘空间。如果varchar2想根据定义的长度存储相应的汉字个数
如:varchar2(10 char)

3)nchar数据类型,即国家字符集,使用方法和char相同。用来存储Unicode字符集类型,即双字节字符数据。最小单位1字符。

4)nvarchar2与nchar类似,只是可变长度的。

2.数值数据类型number:

number数据类型可以存储正数、负数、零、定点数、精度为38信的浮点数。

语法:number(p,s) --如果不写p,s内容,是否是没有限制?

p 为精度,表示数字的有效位数,在1~38之间,从左边第一个不为0的数算起,小数点和负号不计入有效位数。

s 为范围,表示小数右边数字的位数,在-84~+127之间。

规则:首先精确到小数中右边s位,并四舍五入。如果精确后值的有效位数<=p,则正确;否则报错。

3.日期时间数据类型:用于存储日期值和时间值

1)date数据类型,用于存储表中的日期和时间数据。使用7字节固定长度,每个字节分别存储世纪、年、月、日、时、分和秒。sysdate函数的功能是返回当前的日期和时间。

2)timestamp数据类型,用于存储日期的年、月、日以及时间的小时、分和秒。秒值精确到小数小后6位,包含时区信息。systimestamp函数的功能是返回当前日期、时间和时区。

改变日期格式:

Oracle中的SQL窗口:alter session set nls date format=’YYYY-MM-DD HH24:MI:SS’;//只对当前窗口有效。

环境变量:键:nls_date_format

值:YYYY-MM-DD HH24:MISS

4.游标类型,SYS_REFCURSOR类型是Oracle提供的系统游标类型。

如下,过程返回一个游标类型:

CREATE OR REPLACE PROCEDURE get_sals(

cur_salary OUT SYS_REFCURSOR

)

IS

BEGIN

OPEN our_salary FOR 

SELECT empno, sal FROM employee;

END;

简单介绍后我们开始安装!!!
前提条件:database包和flash-player-npapi-26.0.0.131-release.x86_64.rpm包

一、关闭防火墙自启动,以及相关功能和增强性安全功能

[root@localhost ~]# systemctl disable firewalld.service
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0

二、创建xfs格式文件系统并且进行挂载,创建/orc目录为挂载目录

[root@localhost~]#mkfs -t xfs /dev/sdb1
[root@localhost~]#mount /dev/sdb1 /orc
注:这里需要在虚拟机中添加一块不小于15G的硬盘,重启后生效

三、更改主机名,添加用户地址

[root@localhost ~]#vim /etc/hostname  //更改主机名Oracle
HOSTNAME=oracle    //重启虚拟机后生效
[root@localhost ~]#vim /etc/hosts
local_host_ip Oracle   //本机地址和用户,’O‘为大写 

四、安装软件环境包

[root@localhost ~]#yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel

五、调整内核参数

[root@localhost ~]#vim /etc/sysctl.conf
fs.aio-max-nr = 1048576   #异步IO请求数目 推荐值是:1048576 其实它等于 1024*1024 也就是 1024K 个
fs.file-max = 6815744   #打开的文件句柄的最大数量,防止文件描述符耗尽的问题
kernel.shmall = 2097152 #共享内存总量 页为单位,内存除以4K所得
kernel.shmmax = 4294967295  
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128  #SEMMSL: 每个信号集的最大信号数量 SEMMNS:用于控制整个 Linux 系统中信号的最大数 SEMOPM: 内核参数用于控制每个 semop 系统调用可以执行的信号操作的数量 SEMMNI :内核参数用于控制整个 Linux 系统中信号集的最大数量
net.ipv4.ip_local_port_range = 9000 65500  #用于向外连接的端口范围  
net.core.rmem_default = 262144 #套接字接收缓冲区大小的缺省值
net.core.rmem_max = 4194304   #套接字接收缓冲区大小的最大值
net.core.wmem_default = 262144 #套接字发送缓冲区大小的缺省值
net.core.wmem_max = 1048576   #套接字发送缓冲区大小的最大值
[root@localhost ~]#sysctl -p   //重新加载配置文件

六、用户环境配置

[root@localhost ~]#groupadd oinstall
[root@localhost ~]#groupadd dba
[root@localhost ~]#useradd -g oinstall -G dba oracle
[root@localhost ~]#passwd oracle  //密码123123
[root@localhost ~]#mkdir -p /orc/app/oracle
[root@localhost ~]#chown -R oracle:oinstall /orc/app/
[root@localhost ~]#chmod -R 755 /orc/app/oracle/

七、oracle用户环境配置

[root@localhost ~]#vim /home/oracle/.bash_profile 
umask 022
ORACLE_BASE=/orc/app/oracle
ORACLE_HOME=/orc/app/oracle/product/12.2.0/dbhome_1/
ORACLE_SID=orcl
NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
LANG=zh_CN.UTF-8
export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID

八、oracle用户资源限制,使用pam_limits认证模式

注:这里编辑的内容在末行插入即可,不需要改变原有内容

[root@localhost ~]#vim /etc/pam.d/login
session    required     /lib/security/pam_limits.so
session    required     pam_limits.so
[root@localhost ~]#vim /etc/security/limits.conf
oracle        soft    nproc           2047       #单用户可使用的进程数量
oracle        hard    nproc           16384
oracle        soft    nofile          1024       #用户可打开的文件数量
oracle        hard    nofile          65536
oracle        soft    stack           10240      #堆栈设置
[root@localhost ~]#vim /etc/profile
if [ $USER = "oracle" ]
 then
   if [ $SHELL = "/bin/ksh" ]
     then
       ulimit -p 16384       #缓冲区大小
       ulimit -p 65536
   else
     ulimit -u 16384 -n 65536    #进程数  文件数
   fi
fi

九、oracle安装,把解压的database包挂载在/abc目录

[root@localhost ~]#mount database  /abc

十、在图形化界面操作

[root@localhost ~]#xhost +   //以root用户在图形化界面操作
[root@localhost ~]#su - oracle   //切换oracle用户
[oracle@localhost ~]$cd /abc
[oracle@localhost abc]$export DISPLAY=:0.0
[oracle@localhost database]$./runInstall //执行安装

挂载flash的rpm包安装
[root@localhost ~]#rpm -ivh flash-player-npapi-26.0.0.131-release.x86_64.rpm

使用火狐浏览打开
https://Oracle:5500/em
登录名:sys 密码:abc123 勾选:as sysdba
可能遇到问题的解决方案:
1、安装中在进程72%左右弹窗处理

[oracle@localhost ~]$su - root
[root@localhost ~]#/orc/app/oraInventory/orainstRoot.sh
[root@localhost ~]#/orc/app/oracle/product/12.2.0/dbhome_1/root.sh

Centos 7上安装新版数据库Oracle12c

2、报错磁盘空间不够
①检查添加硬盘的空间大小,不能小于15G
②oracle数据库安装成功后,执行./runInstall命令,可以再次安装,所以这里要避免重复安装
注意事项:
1、只有切换成oracle用户才可以安装,不要在root用户下安装
2、更改主机名时需重启生效,之前的挂载项需要重新挂载
3、界面访问登陆不上,需重新关闭防火墙和网络安全性增强功能
[root@localhost ~]#setenforce 0
Centos 7上安装新版数据库Oracle12c

Centos 7上安装新版数据库Oracle12c

Centos 7上安装新版数据库Oracle12c

Centos 7上安装新版数据库Oracle12c

Centos 7上安装新版数据库Oracle12c

Centos 7上安装新版数据库Oracle12c

Centos 7上安装新版数据库Oracle12c

Centos 7上安装新版数据库Oracle12c

Centos 7上安装新版数据库Oracle12c

Centos 7上安装新版数据库Oracle12c

猜你喜欢

转载自blog.51cto.com/13687553/2141313