Oracle数据库部署
Oracle数据库在电信、银行、证券、交通等大型应用场合拥有绝对领先的优势。
安装Oracle 12c(CentOS-7)
注意事项:
防火墙设置为禁用;
SELinux设置为禁用;
默认安装设置为软件开发;
内核选择3.10.0.54.0.1.el7.x86_64及以上版本。
前置条件准备
1.系统配置要求:
Oracle 12c明确支持的Linux操作系统包括Oracle Linux 7. Oracle Linux 6. Oracle Linux 5. RedHat Enterprise Linux 7、Red Hat Enterprise Linux 6. Red Hat Enterprise Linux 5. SUSE Linux Distributions.NeoKylin Linux Advanced Server Distributions。 因为Red Hat Enterprise 和CentOS属于同步发行的操作系统,所以Oracle 12c也同样支持CentOS7. CentOS6. CentOS5 操作系统。在其他Linux系统中安装时,个别软件或配置文件可能需要做适当调整。通过以下命令可以查看系统版本。
[oracle@oracle-pc ~]$ cat /etc/centos-release CentOS Linux release 7.7.1908 (Core)
操作系统要求:
物理内存:必须高于1GB,对于vmware虚拟机不少于2GB
交换空间:物理内存为1~2GB时,交换空间为物理内存的1.5~2倍;物理内存为2~16GB时,交换空间与物理内存大小相同;物理内存超过16GB时,交换分区使用16GB就可以了。
查看物理内存和交换空间的命令
[root@oracle-pc ~]# grep MemTotal /proc/meminfo MemTotal: 7990132 kB [root@oracle-pc ~]# grep SwapTotal /proc/meminfo SwapTotal: 8257532 kB [root@oracle-pc ~]#
磁盘空间要求:
对于Oracle 12c 数据库,若程序文件和数据文件安装在同一分区,则该分区硬盘空间的最小要求为企业版6.4GB、标准版6.1GB;除此以外,还应确保/tmp目录的可用空间不少于1GB.总地来说,建议为Oracle 12c 准备至少15GB的硬盘空间。通过以下命令查看磁盘空间的使用情况。
[root@oracle-pc ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 devtmpfs devtmpfs 3.8G 0 3.8G 0% /dev tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs tmpfs 3.9G 13M 3.8G 1% /run tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/mapper/centos-root xfs 50G 19G 32G 37% / /dev/sda1 xfs 1014M 184M 831M 19% /boot /dev/mapper/centos-home xfs 441G 41M 441G 1% /home tmpfs tmpfs 781M 12K 781M 1% /run/user/42 tmpfs tmpfs 781M 0 781M 0% /run/user/54321 tmpfs tmpfs 781M 0 781M 0% /run/user/0
在/etc/hosts文件中添加,主机名和IP的映射关系
一旦Oracle安装完成建议就不要再修改主机名,否则会启动失败
[root@oracle-pc ~]# hostname oracle-pc [root@oracle-pc ~]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.19.10 oracle-pc
2.软件环境要求
Oracle 12c的安装过程通常在图形化界面进行,因此使用已经带有GNOME桌面环境的CentOS服务器。使用YUM安装Oracle所需要的依赖包。(本地yum源即可)
[root@Oracle ~]# yum -y install binutils compat-libcapl compat- libstdc++-33 \ gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libgcc libstdc++ \ libstdc++-devel 1ibXi libXtst make sysstat unixODBC uni xODBC-devel
3.内核要求
为了确保数据库运行稳定,Oracle 12c针对Linux内核参数、进程会话提出了一些要求,其中一部分设置在安装过程中检测并修复,但并不一定很完整,所以最好的做法是根据安装文档进行配置。
内核参数调整体现在/etc/sysctl. conf 文件中,主要包括与内存调度、端口范围.打开文件数、1/O请求等相关的一些设置,相关数值不可低于安装要求。修改完毕后通过执行如下的"sysctl -p‘命令使新配置立即生效。
[root@oracle-pc ~]# vim /etc/sysctl.conf ······ fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 //表示所有内存大小(单位:页) kernel.shmmax = 4294967295 //表示最大共享内存,如果小的话可以按实际情况而定,一般为物理内存的一半(单位:字节) kernel.shmmni = 4096 //表示最小共享内存固定4096KB(由于32位操作系统默认一页为4K) kernel.sem = 250 32000 100 128 //4个参数依次是SEMMSL:每个用户拥有信号量最大数,SEMMNS:系统信号量最大数,SEMOPM:每次semopm系统调用操作数,SEMMNI:系统辛苦量集数最大数。这4个参数为固定内容大小 net.ipv4.ip_local_port_range = 9000 65500 //ip_local_port_range表示端口的范围,为指定的内容 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
4.Oracle用户环境要求
Oracle 12c需要固定的运行用户oracle、安装组oinstall、管理组dba,这些账号应该提前建好。用来存放oracle程序及数据库文件的基本目录也要提前创建好(/u01/app/oracle)
[root@localhost ~]# mkdir -p /u01/app/oracle [root@localhost ~]# groupadd -g 54321 oinstall [root@localhost ~]# groupadd -g 54322 dba [root@localhost ~]# useradd -u 54321 -g oinstall -G dba oracle [root@localhost ~]# passwd oracle 更改用户 oracle 的密码 。 新的 密码: 无效的密码: 密码未通过字典检查 - 过于简单化/系统化 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。 [root@localhost ~]# chown -R oracle:oinstall /u01/app/ [root@localhost ~]# chmod -R 755 /u01/app/oracle/
Oracle 12c的安装任务以运行用户oracle的身份执行,需适当调整oracle用户的环境配置以满足要求。
[root@localhost ~]# vim /home/oracle/.bash_profile ······ umask 022 ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1/ ORACLE_SID=orcl NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8 PATH=$PATH:$ORACLE_HOME/bin LANG=zh_CN.UTF-8 export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID
5.oracle用户资源限制要求
进程会话限制可以采用pam. Jimits认证模块来实现.通过修改登录程序login的PAM设置以启用该认证,然后修改/etc/secrit/limits .conf 文件,使用户oracle能够打开的进程数.进程使用的文件数加大。具体操作如下:
[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 //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
不配置oracle用户资源限制部分,也不会影响Oracle数据库的成功安装。但是,若有糟糕的SQL语句对服务器的资源无限占用,导致长时间对用户请求无响应,则建议提前限制oralce用户资源。
准备工作完成后重启系统。
Oracle 12c 安装过程
Oracle的中文官方网址为https://www. oracle .com/cn,它支持Oracle 12c安装文件的免费下载(需注册账号)。正确选择所使用的系统平台(如Linux x86-64),然后下载linuxx64_ _12201_ _database. zip这个ZIP压缩包到/tmp/,解压后可获得database文件夹, Oracle 的安装脚本。产品手册等文档都位于此文件夹中,具体操作如下:
我已使用UltraISO_v9.7_Portable.exe把zip做成了ISO,在虚拟机中挂载光盘,就可以使用了。
挂载光盘,解压到/tmp目录
[root@localhost ~]# mount /dev/cdrom /mnt/cdrom/ mount: /dev/sr0 写保护,将以只读方式挂载 [root@localhost ~]# ll /mnt/cdrom/ 总用量 3372751 -r-------- 1 root root 3453696911 4月 12 22:51 linuxx64_12201_database.zip [root@localhost ~]# cd /tmp/ [root@localhost tmp]# unzip /mnt/cdrom/linuxx64_12201_database.zip
解压完毕后,会生成一个database目录,Oracle 12c 的安装主要通过runstaller 脚本进行,访问网页welcome .html 可以查阅产品手册,其中包括产品说明、发行注记、安装指南等文档,为管理员提供了极为丰富的帮助信息。所有前置条件都准备好以后,就可以正式开始安装了。如果当前的图形桌面环境是以其他用户的身份(如root)登录的,则还应添加授权以允许用户oracle 使用图形终端。例如,xhost +oracle@localhost"表示允许 用户oracle从本机访问、执行,“ xhost+” 表示取消所有 限制。以用户oracle的身份登录到CentOS的图形桌面环境,启动database/目录下的runInstaller脚本文件,具体操作如下:
[root@localhost database]# xhost +
access control disabled, clients can connect from any host
最好是注销一下切换到oracle用户,在执行下面的。
[oracle@localhost ~]$ cd /tmp/database/ [oracle@localhost database]$ ll 总用量 20 drwxr-xr-x 4 root root 234 1月 26 2017 install drwxrwxr-x 2 root root 61 1月 26 2017 response drwxr-xr-x 2 root root 35 1月 26 2017 rpm -rwxr-xr-x 1 root root 8771 1月 26 2017 runInstaller drwxrwxr-x 2 root root 29 1月 26 2017 sshsetup drwxr-xr-x 14 root root 4096 1月 26 2017 stage -rwxr-xr-x 1 root root 500 2月 7 2013 welcome.html [oracle@localhost database]$ export DISPLAY=:0.0 [oracle@localhost database]$ ./runInstaller 正在启动 Oracle Universal Installer... 检查临时空间: 必须大于 500 MB。 实际为 43177 MB 通过 检查交换空间: 必须大于 150 MB。 实际为 8063 MB 通过 检查监视器: 监视器配置至少必须显示 256 种颜色。 实际为 16777216 通过 准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2020-04-16_08-11-53PM. 请稍候...[oracle@localhost database]$
Oracle 12c的主要安装步骤
1.典型安装过程
Oracle 12c的安装过程分为典型安装和高级安装.采用高级安装方式可以指定数据库字符集.给多个管理员账号设置不同的密码以及指定SGA (System Global Area, 系统全局区)大小等。对于初学者,推荐采用典型安装方式;在对Oracle有一定的了解之后, 再使用高级安装方式。
(1)配置安全更新
实验过程中建议将电子邮件地址留空.并取消勾选“ 我希 望通过My Oracle Support 接收安全更新”复选框。但如果已购买Oracle 12o 数据库的授权,且服务器能够连接Internet,建议正确填写电子邮件地址和Oracle Support口令,以便及时接收官方的安全更新通知。完成后单击“下一步”按钮。
随后会弹出警告框,提示将无法接收安全更新,如图1.2所示,单击”是”按钮。
(2)安装选项
“选择安装选项”界面如图所示。全新安装建议点选‘创建和配置 数据库”或者‘ 仅安装数据库软件”单选按钮,后者将不会创建并配置数据库实例。只有在对旧版本的Oracle 数据库进行升级时,才点选” 升级现有的数据库”单选按钮。完成后单击“下一步”按钮。
(3)系统类
”选择系统类”界面如图所示。点选“服务器类” 单选按钮进行安装,该方式适用于企业环境的数据库系统。”桌面类”方式-般只建议个人用户使用,其包含的配置和功能比较少。完成后单击“下一步”按钮。
(4)数据库安装选项
“选择数据库安装选项” 界面如图所示。点选“ 单实例数据库安装”单选按钮, 因为大多数应用场合中Oracle数据库的用途比较单一,每台Oracle服务器只需要一个实例就可以了。 完成后单击“下一步”按钮。
(5)安装类型
“选择安装类型”界面如图所示。 点选‘典型安装” 单选按钮,采用Oracle 12c的基本配置进行完全安装。若要为各种管理账号分别设置口令,或者选择语言版本,设置自动备份、存储管理等,则应该点选“高级安装” 单选按钮。 完成后单击“下一步” 按钮。
(6)典型安装配置
在“ 典型安装配置”界面中,可以指定Oracle 12c 的基本目录.软件安装目录、数据库存放目录,也可以选择要安装的数据库版本(企业版.标准版).指定全局数据库名称.设置管理口令(8位数,大写字母,小写字母,数字),勾选“创建为容器数据库”复选框,如图所示。完成后单击“下一步”按钮。(环境配置前面已经完成,只需要设置口令即可)
在典型安装过程中,必须设置管理口令(如设为Oracle12c) .其他参数可采用默认值。Oracle 12c数据库自动创建超级管理员用户sys和system,当选择“高级安装” 时可以分别设置口令, 否则将使用同一个管理口令。输入完成后单击“下一步”按钮。
###Oracle 12c 提出了可插拔式数据库的概念,以配合云计算。多租户之间可以共享一套系统开销而又彼此独立。多租户是一种云概念,用于实现多用户环境下共用相同的系统或程序组件,用户之间彼此独立。详细信息请自行查阅资料。如需将数据库配置为可插拔数据库,那么要勾选“创建为 容器数据库”复选框,并输入插拔数据库的名称。
###图1.7中,“软件位置”和“数据库文件位置”字段路径均调用自环境变量,如果不显示默认路径,可能是环境变量没有定义或定义了没有生效。要让环境变量生效,可以尝试重新以oracle用户登录,或以oracle用户运行“. ~/.bash. profile” 命令。
(7)创建产品清单
保持默认设置,单击“下一步”
(8)先决条件检查及汇总
针对各种前置条件进行检查,若发现有未满足的条件则会给出提示,此时应根据检查结果进行修复或安装必需的软件包,如图所示。
###在此步骤中,还可以单击“保存响应文件” 按钮将本次安装设置保存 下来,生成数据库的应答响应文件,该文件可用来免除再次安装过程中的手动交互环节,便于Oracle 的重复部署或在文本界面中安装.
(9)安装产品
安装过程中,会弹出‘执行配置脚本” 对话框,如图1.12所示,根据提示切换为root用户并依次执行/u01/app/oralnventory/orainstRoot . sh、 /u01/app/oracle/product/12.2. 0/dbhome_ .1/root.sh(因人而异,根据提示执行即可) 脚本文件
执行配置脚本
打开命令行(执行root.sh脚本时,需要按照默认值按两次Enter键)
[oracle@localhost ~]$ su 密码: [root@localhost oracle]# /u01/app/oraInventory/orainstRoot.sh 更改权限/u01/app/oraInventory. 添加组的读取和写入权限。 删除全局的读取, 写入和执行权限。 更改组名/u01/app/oraInventory 到 oinstall. 脚本的执行已完成。 [root@localhost oracle]# /u01/app/oracle/product/12.2.0/dbhome_1/root.sh
(10)安装成功
安装结束后将弹出图所示的对话框.并提示通过访问htps://Oracle : 500/m/.实现访问EM (Enterprise Manager,企业管理器) Database Express 平台,以便对Oracle 12c 的数据库进行简单管理。单击“关闭”按钮关闭对话框,完成安装。