部署Oracle12c企业版数据库(安装及使⽤)
在计算机信息安全领域中,数据库系统⽆疑有着举⾜轻重的地位。⽐如:SQL Server、MySQL、DB2、Oracle等,都是⽐较知名的数据库管理软件,由于Oracle数据库的安全性,所以在⼀些⽐较重要的场合被普遍使⽤,⽐如:电信、银⾏、政府部门等。
本次博⽂以Oracle 12c数据库的64位企业版为例,学习如何在Centos 操作系统中的安装和基本配置,包括安装的准备等。
博⽂⼤纲:
⼀、安装Oracle 12c
如何连接oracle数据库⼆、创建Oracle 12c数据库
三、Oracle 12c数据库的启动与关闭
四、将Oracle数据库设置为开机⾃启动
⼀、安装Oracle 12c
1.安装CentOS 7操作系统的注意事项
由于本次安装Oracle 12c软件是在CentOS 7系统上实现的,那么⾸次安装CentOS 7操作系统有⼏点要求:
防⽕墙的配置选项设置为禁⽤;
SELinux设置为禁⽤;
默认安装设置为软件开发;
内核选择3.10.0-862.el7.x86_64及以上版本;
2.前置条件的准备
Oracle数据库是⼀个相对庞⼤的应⽤软件,对服务器的系统类型、内存和交换分区、硬盘空阿⾦、内核参数、软件环境、⽤户环境等都有相应的要求。只要满⾜了这些必备的条件,才能确保Oracle 12c 安装成功并稳定运⾏。
(1)系统及配置要求
Oracle 12c明确⽀持的Linux操作系统包括Oracle Linux 7、Oracle Linux 6、Oracle Linux 5、Red Hat Enterprise Linux 7、Red Hat Enterprise Linux 6、Red Hat Enterprise Linux 5等,因为Red Hat Enterprise 和CentOS属于同步并⾏的操作系统,所以Oracle 12 c同样⽀持CentOS 7、CentOS 6、CentOS 5操作系统。在其他Linux系统中安装时,个别软件或配置⽂件可能需要进⾏适当的调整。[root@localhost ~]# cat /etc/centos-release              //查看系统版本信息
CentOS Linux release 7.5.1804 (Core)
[root@localhost ~]# uname -r                  //查看系统内核信息
3.10.0-862.el7.x86_64
Linux操作系统要求:
物理内存:必须⾼于1GB,对于VMware虚拟机建议不少于2GB;
交换空间:物理内存为1~2GB时,交换分区为物理内存的1.5~2倍;物理内存为2~16GB时,交换分区于物理内存⼤⼩相同;物理内存超过16GB时,交换分区使⽤16GB就可以了;
如果交换分区空间不⾜的话,可以使⽤以下⽅式扩展交换分区
[root@localhost ~]# dd if=/dev/zero of=/swap_file bs=1024 count=2097152
//这是扩展了2GB的交换分区,2097152除以1024等于2048,所以是2GB
[root@localhost ~]# mkswap /swap_file
[root@localhost ~]# swapon /swap_file
//完成之后,再次查询就会发现交换分区多了2GB的空间
[root@localhost ~]# grep MemTotal /proc/meminfo
MemTotal:    7992344 kB
[root@localhost ~]# grep SwapTotal /proc/meminfo
SwapTotal:  18568716 kB                        //交换分区空间及内存空间已经满⾜要求
对于Oracle 12c数据库,若程序⽂件和数据⽂件安装在同⼀分区,则该分区硬盘空间的最要要求为企业级为6.4G,标准版6.1G;除此之外,还应确保/tmp⽬录的可⽤空间不少于1G。总的来说,建议安装Oracle 12c准备⾄少15G的硬盘空间。
[root@localhost ~]# df -hT /tmp      //查看/tmp⽬录的磁盘使⽤情况
⽂件系统类型容量已⽤可⽤已⽤% 挂载点
/dev/mapper/centos-root xfs  50G  21G  30G  42% /
//很明显,满⾜了要求
安装Oracle数据库前,要求规划好主机名和IP。服务器的主机名、IP地址应提前确认⽆误,⼀旦Oracle数据库安装完成,建议不要轻易的修改主机名,否则会导致数据库启动失败。⽅法如下:
[root@localhost ~]# sed -i '1c oracle' /etc/hostname
//设置主机名为oracle
[root@localhost ~]# echo -e "192.168.1.1 oracle" >> /etc/hosts
//添加主机名与IP地址的对应关系
(2)软件环境要求
Oracle 12c的安装过程通常是在图形界⾯中进⾏,因此建议使⽤已安装有GNOME中⽂桌⾯环境的CentOS服务器,软件开发⼯具当然是必不可少的,应使⽤yum⽅式安装以下必要的软件环境。
[root@localhost ~]# yum -y install binutils compat-* gcc gcc-c++ glibc  glibc-devel ksh \
libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat \
unixODBC unixODBC-devel
//使⽤本地光盘或者⽹络yum都可以
Oracle 12c⾃⾝集成了Java运⾏环境,但安装界⾯对中⽂的⽀持并不完善,因此若希望使⽤中⽂的Oracle安装界⾯,建议提前安装好Java软件包。
(3)内核要求
为了确保数据库运⾏稳定,Oracle 12c针对Linux内核参数,进程会话限制提出了⼀些要求,其中⼀部分设置可以在安装过程中⾃动检测并进⾏修复,但并⼀定很完整,所以最好的做法是根据安装⽂档提前进⾏配置。
内核参数调整体现在/f⽂件中,主要包括与内存调度、端⼝范围、打开⽂件数、I/O请求等相关的⼀些设置,相关数值不可低于安装要求。如下:
[root@localhost ~]# vim /f
………………            //省略部分内容,在末尾添加即可!
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
[root@localhost ~]# sysctl -p          //重新加载配置⽂件
各参数详解:
fs.aio-max-nr:此参数限制并发未完成的请求,应该设置避免I/O⼦系统故障;
fs.file-max:该参数决定了系统中所允许的最⼤可以打开的⽂件数量;
kernel.shmall:该参数控制可以使⽤的共享内存的总页数;.
kernel.shmmax:是核⼼参数中最重要的参数之⼀,⽤于定义单个共享内存段的最⼤值。
建议:
32位linux系统:可取最⼤值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的⼀半,所以如果是32为系统,⼀般可取值为4294967295。
64位linux系统:可取的最⼤值为物理内存值-1byte,建议值为多于物理内存的⼀半,例如,如果为12GB物理内存,可取1210241024*1024-1=12884901887。
kernel.shmmni:该参数是共享内存段的最⼤数量。shmmni缺省值4096,⼀般肯定是够⽤了。
kernel.sem:
以kernel.sem = 250 32000 100 128为例:
250是参数semmsl的值,表⽰⼀个信号量集合中能够包含的信号量最⼤数⽬。
32000是参数semmns的值,表⽰系统内可允许的信号量最⼤数⽬。
100是参数semopm的值,表⽰单个semopm()调⽤在⼀个信号量集合上可以执⾏的操作数量。
128是参数semmni的值,表⽰系统信号量集合总数。
net.ipv4.ip_local_port_range:表⽰应⽤程序可使⽤的IPv4端⼝范围;
(4)Oracle⽤户环境要求
Oracle 12c需要固定的运⾏⽤户oracle、安装组oinstall、管理组dba,这些账号应提前创建好。⽤于存放Oracle程序及数据库⽂件的基本⽬录也应提前创建好。
[root@localhost ~]# groupadd oinstall
[root@localhost ~]# groupadd dba
[root@localhost ~]# useradd -g oinstall -G dba oracle
[root@localhost ~]# echo '123456' | passwd --stdin oracle
更改⽤户 oracle 的密码。
passwd:所有的⾝份验证令牌已经成功更新。
[root@localhost ~]# mkdir -p /u01/app/oracle
[root@localhost ~]# chown -R oracle:oinstall /u01/app
[root@localhost ~]# chmod -R 775 /u01/app/oracle
Oracle 12c的安装任务应以运⾏⽤户oracle的⾝份执⾏,需适当调整oracle⽤户的环境配置以满⾜需求。
[root@localhost ~]# vim /home/oracle/.bash_profile
………………            //省略部分内容,在末尾添加即可!
umask 022
ORACLE_BASE=/u01/app/oracle #oracle基本⽬录
ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1/ #安装家⽬录
ORACLE_SID=orcl #定义数据库实例名称
NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8 #是针对Oracle语⾔、地区、字符集的设置
PATH=$PATH:$ORACLE_HOME/bin
LANG=zh_CN.UTF-8 #LANG是针对Linux系统的语⾔、地区、字符集的设置。
DISPLAY=:0.0 #在哪个终端可以使⽤图形
export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID DISPLAY #将变量导出为全局变量
(5)oracle⽤户资源限制要求
进程会话限制可以采⽤pam_limits认证模块来实现,通过修改登录程序login的PAM设置以启⽤该认证,然后修改/etc/f ⽂件,使⽤户oracle能够打开的进程数、进程使⽤的⽂件数加⼤。[root@localhost ~]# vim /etc/pam.d/login
………………            //省略部分内容,在末尾添加即可!
session required /lib/security/pam_limits.so
session required pam_limits.so
[root@localhost ~]# vim /etc/f
……………            //省略部分内容,在末尾添加即可!
oracle soft nproc 2047          #设置进程数软限制
oracle hard nproc 16384        #设置进程数硬限制
oracle soft nofile 1024          #设置⽂件数软限制
oracle hard nofile 65536        #设置⽂件数硬限制
oracle soft stack 10240        # Oracle软堆栈限制
配置oracle⽤户资源限制,不配置也不会影响oracle数据库的成功安装,但是考虑到若有糟糕的sql语句对服务器资源的⽆限占⽤,导致长时间对⽤户请求⽆响应,建议提前限制oracle⽤户资源。
[root@localhost ~]# vim /etc/profile
if [ $USER = "oracle" ];then
if [ $SHELL = "/bin/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
准备⼯作完成后重新启动系统,重启之后,再次检查之前的配置是否⽣效。
3.Oracle 12c安装过程
[root@oracle ~]# cd /
[root@oracle /]# unzip /root/linuxx64_12201_database.zip
//进⼊根⽬录对下载的Oracle软件包进⾏解压
[root@oracle /]# ls database/          //解压之后⽣成database⽬录
install response rpm runInstaller sshsetup stage welcome.html
授权允许⽤户oracle使⽤图形终端,例如执⾏:xhost + oracle@localhost,表⽰允许⽤户oracle从本机访问,或者执⾏xhost + 表⽰取消所有限制,这⾥执⾏xhost +即可。
[root@oracle /]# xhost +          //⼀定要以root⽤户的⾝份在图形环境中操作
[root@oracle /]# su - oracle              //切换到oracle⽤户
[oracle@oracle ~]$ cd /database/
[oracle@oracle database]$ export DISPLAY=:0.0          设置DISPLAY环境变量
[oracle@oracle database]$ ./runInstaller      //执⾏安装脚本
执⾏完成后会弹出图形化界⾯,进⾏以下操作:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。