Centos7静默安装Oracle12c

本文基于Centos7静默安装Oracle11g,描述区别的地方。

基础步骤,参考《Centos7静默安装Oracle11g》:https://blog.csdn.net/sunny05296/article/details/80372256

 

Oracle12c需要的软件包:

其他流程都参考11g的安装方法。下面只描述12c的区别的地方。

1.依赖组件:
最初没有太关注12c和11g的依赖包有什么区别,直接尝试用下面3个命令安装依赖包:
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXext libXtst libX11 libXau libxcb libXi make sysstat 
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcclibstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaiolibaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
最后一个yum缺三个包:
gcc-c++glibc*.i686
libgcclibstdc++
libaiolibaio*.i686
忽略该错误。直接继续。

查阅Oracle官方文档,Oracle 12c(12.1)依赖的所有包(https://docs.oracle.com/en/database/oracle/oracle-database/index.html):

yum -y install binutils compat-libcap1 compat-libstdc++-33*.i686 compat-libstdc++-33 gcc gcc-c++ glibc*.i686 glibc glibc-devel*.i686 glibc-devel ksh libaio*.i686 libaio libaio-devel*.i686 libaio-devel libgcc*.i686 libgcc libstdc++*.i686 libstdc++ libstdc++-devel*.i686 libstdc++-devel libXi*.i686 libXi libXtst*.i686 libXtst make sysstat 

rpm -qa binutils compat-libcap1 compat-libstdc++-33*.i686 compat-libstdc++-33 gcc gcc-c++ glibc*.i686 glibc glibc-devel*.i686 glibc-devel ksh libaio*.i686 libaio libaio-devel*.i686 libaio-devel libgcc*.i686 libgcc libstdc++*.i686 libstdc++ libstdc++-devel*.i686 libstdc++-devel libXi*.i686 libXi libXtst*.i686 libXtst make sysstat  |wc -l 

总计27个包

2.创建的目录区别

创建用户和组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba -m oracle
passwd oracle

创建Oracle数据库的安装目录(for静默安装)
mkdir -p /opt/oracle
mkdir -p /opt/oraInventory
mkdir -p /opt/database
mkdir -p /opt/oracle/product/12.1.0
mkdir -p /opt/oracle/oradata
mkdir -p /opt/oracle/flash_recovery_area

chown -R oracle:oinstall /opt/oracle
chown -R oracle:oinstall /opt/oracle/oradata
chown -R oracle:oinstall /opt/oraInventory
chown -R oracle:oinstall /opt/database

chmod -R 775 /opt/oracle


3.环境变量区别
主要是ORACLE_HOME的区别,版本不同

#oracle数据库安装目录
export ORACLE_BASE=/opt/oracle
#oracle数据库路径
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0
#oracle启动数据库实例名
export ORACLE_SID=orcl
#xterm窗口模式安装
export ORACLE_TERM=xterm
#添加系统环境变量
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
#添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
#防止安装过程出现乱码
#export LANG=en_US.gbk
export LANG=en_US.UTF-8
#设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致,
#export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK


4.db_install.rsp配置区别:

[oracle@localhost database]$ vim db_install.rsp       

Oracle12c的
db_install.rsp需要设置的选项如下:

oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=localhost
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/opt/oracle/product/12.1.0
ORACLE_BASE=/opt/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
#12c除了上面11g的参数外,还要额外设置下面参数,否则会报错
oracle.install.db.BACKUPDBA_GROUP=dba
oracle.install.db.DGDBA_GROUP=dba
oracle.install.db.KMDBA_GROUP=dba

否则会有下面错误:
[oracle@localhost response]$ cd /opt/database/database
[oracle@localhost database]$ ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq 

正在启动 Oracle Universal Installer...

检查临时空间: 必须大于 500 MB。   实际为 30420 MB    通过
检查交换空间: 必须大于 150 MB。   实际为 20479 MB    通过
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2018-08-11_04-36-27PM. 请稍候...[oracle@localhost database]$ [FATAL] [INS-35344] 没有为Database Backup and Recovery (OSBACKUPDBA) group指定值。
   操作: 为Database Backup and Recovery (OSBACKUPDBA) group指定有效的组名。
[FATAL] [INS-35344] 没有为Data Guard administrative (OSDGDBA) group指定值。
   操作: 为Data Guard administrative (OSDGDBA) group指定有效的组名。
[FATAL] [INS-35344] 没有为Encryption Key Management administrative (OSKMDBA) group指定值。
   操作: 为Encryption Key Management administrative (OSKMDBA) group指定有效的组名。


安装成功:

[oracle@localhost database]$ Oracle Database 12c 的 安装 已成功。
请查看 '/opt/oraInventory/logs/silentInstall2018-08-11_04-44-38PM.log' 以获取详细资料。

以 root 用户的身份执行以下脚本:
        1. /opt/oracle/product/12.1.0/root.sh

Successfully Setup Software.

5.建库配置的区别:

以静默方式建立新库,同时也建立一个对应的实例。
vim /home/oracle/response/dbca.rsp

设置以下参数:
GDBNAME= "orcl"
SID ="orcl"
SYSPASSWORD= "1q2w3e"
SYSTEMPASSWORD= "1q2w3e"
#这里11g设置:SYSMANPASSWORD,12c则设置:SERVICEUSERPASSWORD
SERVICEUSERPASSWORD = "1q2w3e"
DBSNMPPASSWORD= "1q2w3e"
#DATAFILEDESTINATION=$ORACLE_BASE/oradata  #该参数配置注释掉,不修改,使用默认的,否则建库会报错。
RECOVERYAREADESTINATION=$ORACLE_BASE/flash_recovery_area
CHARACTERSET= "AL32UTF8"
TOTALMEMORY= "6553"
#其中TOTALMEMORY ="6553" 为6553MB,物理内存8G*80%


#responseFile必须使用绝对路径
建库:
dbca -silent -createDatabase -responseFile /home/oracle/response/dbca.rsp


注意:我之前有一次碰到用responseFile配置进行静默建库,卡住无进展,看不到日志。后来采用下面方式,能看到进度和错误信息:

dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname orcl -sid orcl -responseFile NO_VALUE -characterSet AL32UTF8 -memoryPercentage 80 -emConfiguration LOCAL

[oracle@localhost response]$ dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname orcl -sid orcl -responseFile NO_VALUE -characterSet AL32UTF8 -memoryPercentage 80 -emConfiguration LOCAL
Enter SYS user password: 
 
Enter SYSTEM user password: 
 
Copying database files
1% complete
2% complete
4% complete
DBCA Operation failed.
Look at the log file "/opt/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.

查看日志,发现错误:
ORA-27104: system-defined limits for shared memory was misconfigured

检查可能是因为系统优化参数设置错误导致。kernel.shmall 和 kernel.shmmax 没有设置正确。物理内存128G,创建库按照物理内存的80%来创建的。调整优化参数。
#共享内存的页数,Linux共享内存页大小为4KB,8G内存设置为:8GB/4KB=8*1024*1024*1024/4KB=2097152
#kernel.shmall = 2097152
#128GB/4KB
kernel.shmall = 33554432
#最大共享内存,官方文档建议是内存的1/2,例如:8G内存则设置为:4*1024*1024*1024
#kernel.shmmax = 4294967296
#128G * 50%
kernel.shmmax = 68719476736

参数调整以后(注意:修改/etc/sysctl.conf后,需要执行 sysctl -p 立即生效),就安装成功了,不过创建过程比较长,大概分钟级别。
...
75% complete
85% complete

96% complete
100% complete
Look at the log file "/opt/oracle/cfgtoollogs/dbca/orcl/orcl0.log" for further details.
[oracle@localhost response]$ 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值