Oracle Database 12c release 2静默安装

大家在Windows下可以使用图形界面安装Oracle,但是在Linux下,特别是在没有安装桌面的条件下,安装Oracle就需要通过静默模式安装。作为一个新手,遇到很多问题,在这里记录一下。在安装过程中涉及一些配置文件的配置,请打开Oracle安装文件中配置文件,自行查看各个选项的含义(为了方便阅读,我在每个配置添加了行号,读者可以自行对应查看)。

参考文档

  1. Oracle官方文档-使用响应文件配置安装数据库
  2. Oracle官方文档-Oracle预安装任务
  3. Orace官方文档-手动完成Oracle预安装任务

创建组和用户

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

创建安装目录

mkdir -p /home/oracle/app/product/12.2.0.1/db_1
mkdir -p /home/oracle/app/oraInventory
chown -R oracle:oinstall /home/oracle
chmod -R 775 /home/oracle

配置内核参数

DATE=`date +'Edit date:%Y%m%d, edit by LiChun'`
cat >> /etc/sysctl.conf << COM
# $DATE
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
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
COM
# 使修改⽣效
/sbin/sysctl -p

设置用户限制

DATE=`date +'Edit date:%Y%m%d, edit by LiChun'`
cat >> /etc/security/limits.d/20-nproc.conf << COM
# $DATE
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
COM

配置环境变量

DATE=`date +'Edit date:%Y%m%d, edit by LiChun'`
cat >> /etc/profile << COM
# $DATE
# Oracle Settings
export TMP=/tmp
export TMPDIR=\$TMP
export ORACLE_HOSTNAME=Oracle
export ORACLE_UNQNAME=csdc
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=\$ORACLE_BASE/product/12.2.0.1/db_1
export ORACLE_SID=csdc
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
export PATH=\$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
COM

安装依赖包

yum install binutils compat-libstdc++* compat-libstdc++-*.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel -y

# 下面两个包镜像源中没有,需要下载安装
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.i686.rpm
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

上面两个包我已经上传到CSDN下载频道,由于分享时不能选择0积分,所以积分不足的小伙伴请自行到网上下载。

安装数据库管理软件

编辑应答文件

应答文件路径及名称:[安装包目录]/response/db_install.rsp

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0
                                                                           # 21
oracle.install.option=INSTALL_DB_SWONLY                                    # 30
UNIX_GROUP_NAME=oinstall                                                   # 35
INVENTORY_LOCATION=/home/oracle/app/oraInventory                           # 42
ORACLE_HOME=/home/oracle/app/product/12.2.0.1/db_1                         # 46
ORACLE_BASE=/home/oracle/app                                               # 51
oracle.install.db.InstallEdition=EE                                        # 64
oracle.install.db.OSDBA_GROUP=dba                                          # 81
oracle.install.db.OSOPER_GROUP=dba                                         # 87
oracle.install.db.OSBACKUPDBA_GROUP=dba                                    # 92
oracle.install.db.OSDGDBA_GROUP=dba                                        # 97
oracle.install.db.OSKMDBA_GROUP=dba                                        # 102
oracle.install.db.OSRACDBA_GROUP=dba                                       # 107
oracle.install.db.rac.configurationType=                                   # 122
oracle.install.db.CLUSTER_NODES=                                           # 132
oracle.install.db.isRACOneInstall=                                         # 142
oracle.install.db.racOneServiceName=                                       # 149
oracle.install.db.rac.serverpoolName=                                      # 157
oracle.install.db.rac.serverpoolCardinality=                               # 165
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE                    # 181
oracle.install.db.config.starterdb.globalDBName=oral                       # 186
oracle.install.db.config.starterdb.SID=oral                                # 191
oracle.install.db.ConfigureAsContainerDB=                                  # 198
oracle.install.db.config.PDBName=                                          # 203
oracle.install.db.config.starterdb.characterSet=AL32UTF8                   # 217
oracle.install.db.config.starterdb.memoryOption=                           # 225
oracle.install.db.config.starterdb.memoryLimit=                            # 233
oracle.install.db.config.starterdb.installExampleSchemas=                  # 241
oracle.install.db.config.starterdb.password.ALL=admin                      # 260
oracle.install.db.config.starterdb.password.SYS=change_on_install          # 265
oracle.install.db.config.starterdb.password.SYSTEM=manager                 # 270
oracle.install.db.config.starterdb.password.DBSNMP=                        # 276
oracle.install.db.config.starterdb.password.PDBADMIN=                      # 281
oracle.install.db.config.starterdb.managementOption=                       # 289
oracle.install.db.config.starterdb.omsHost=                                # 295
oracle.install.db.config.starterdb.omsPort=                                # 301
oracle.install.db.config.starterdb.emAdminUser=                            # 307
oracle.install.db.config.starterdb.emAdminPassword=                        # 313
oracle.install.db.config.starterdb.enableRecovery=                         # 327
oracle.install.db.config.starterdb.storageType=                            # 334
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=         # 343
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=     # 350
oracle.install.db.config.asm.diskGroup=                                    # 357
oracle.install.db.config.asm.ASMSNMPPassword=                              # 364
MYORACLESUPPORT_USERNAME=                                                  # 371
MYORACLESUPPORT_PASSWORD=                                                  # 378
SECURITY_UPDATES_VIA_MYORACLESUPPORT=                                      # 387
DECLINE_SECURITY_UPDATES=                                                  # 399
PROXY_HOST=                                                                # 406
PROXY_PORT=                                                                # 413
PROXY_USER=                                                                # 421
PROXY_PWD=                                                                 # 429
COLLECTOR_SUPPORTHUB_URL=                                                  # 436

执行安装程序

注意:以上操作都使用root用户进行操作,从下面开始使用oracle用户进行操作

# 切换到[安装包⽬录]/
./runInstaller -silent -responseFile /home/oracle/database/response/db_install.rsp

执行上命令后,安装程序会在后台运行,待终端显示如下内容则安装成功:

[oracle@db2node1 database]$ Oracle Database 12c 的 安装 已成功。
请查看 '/home/oracle/app/oraInventory/logs/silentInstall2018-03-12_04-41-37PM.log' 以获取详细资料。

以 root 用户的身份执行以下脚本:
    1. /home/oracle/app/oraInventory/orainstRoot.sh
    2. /home/oracle/app/product/12.2.0.1/db_1/root.sh



Successfully Setup Software.

完成安装

根据安装完成的提示信息,切换到root用户,完成数据库的安装。

/home/oracle/app/oraInventory/orainstRoot.sh
/home/oracle/app/product/12.2.0.1/db_1/root.sh

配置监听程序

编辑应答文件

应答文件路径及名称:[安装包目录]/response/netca.rsp

[GENERAL]                                             # 30
RESPONSEFILE_VERSION="12.2"                           # 31
CREATE_TYPE="CUSTOM"                                  # 32
[oracle.net.ca]                                       # 62
INSTALLED_COMPONENTS={"server","net8","javavm"}       # 66
INSTALL_TYPE="typical"                                # 71
LISTENER_NUMBER=1                                     # 75
LISTENER_NAMES={"LISTENER"}                           # 81
LISTENER_PROTOCOLS={"TCP;1521"}                       # 89
LISTENER_START="LISTENER"                             # 92
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}       # 99
NSN_NUMBER=1                                          # 115
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}                 # 119
NSN_SERVICE={"PLSExtProc"}                            # 123
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}                   # 129

执行安装程序

注意:下面使用oracle用户进行操作

netca -silent -responseFile /home/oracle/database/response/netca.rsp

创建数据库实例

编辑应答文件

应答文件路径及名称:[安装包目录]/response/dbca.rsp

responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0
                                                             # 21
gdbName=csdc                                                 # 32
sid=csdc                                                     # 42
databaseConfigType=SI                                        # 52
RACOneNodeServiceName=                                       # 63
policyManaged=                                               # 74
createServerPool=                                            # 88
serverPoolName=                                              # 102
cardinality=                                                 # 113
force=                                                       # 127
pqPoolName=                                                  # 141
pqCardinality=                                               # 152
createAsContainerDatabase=                                   # 162
numberOfPDBs=                                                # 172
pdbName=                                                     # 182
useLocalUndoForPDBs=                                         # 192
pdbAdminPassword=                                            # 203
nodelist=                                                    # 213
templateName=General_Purpose.dbc                             # 223
sysPassword=change_on_install                                # 233
systemPassword=manager                                       # 243
oracleHomeUserPassword=tiger                                 # 252
emConfiguration=                                             # 262
emExpressPort=5500                                           # 273
runCVUChecks=                                                # 284
dbsnmpPassword=                                              # 295
omsHost=                                                     # 304
omsPort=0                                                    # 313
emUser=                                                      # 322
emPassword=                                                  # 331
dvConfiguration=                                             # 341
dvUserName=                                                  # 351
dvUserPassword=                                              # 361
dvAccountManagerName=                                        # 371
dvAccountManagerPassword=                                    # 381
olsConfiguration=                                            # 391
datafileJarLocation=                                         # 401
datafileDestination=                                         # 411
recoveryAreaDestination=                                     # 421
storageType=                                                 # 431
diskGroupName=                                               # 440
asmsnmpPassword=                                             # 449
recoveryGroupName=                                           # 458
characterSet=AL32UTF8                                        # 468
nationalCharacterSet=AL16UTF16                               # 478
registerWithDirService=                                      # 488
dirServiceUserName=                                          # 497
dirServicePassword=                                          # 506
walletPassword=                                              # 515
listeners=LISTENER                                           # 526
variablesFile=                                               # 537
variables=                                                   # 537
initParams=                                                  # 546
sampleSchema=                                                # 565
memoryPercentage=                                            # 574
databaseType=                                                # 584
automaticMemoryManagement=                                   # 594
totalMemory=                                                 # 604

执行安装程序

注意:下面使用oracle用户进行操作

dbca -silent -createDatabase -responseFile /home/oracle/database
/response/dbca.rsp

安装过程中显示如下内容则为正确完成安装:

[oracle@db2node1 ~]$ dbca -silent -createDatabase -responseFile /data/database/response/dbca.rsp 
[WARNING] [DBT-06208] 输入的 'SYS(S)' 口令未遵从 Oracle 建议的标准。
   原因: 
a. Oracle 建议, 输入的口令长度不应少于 8 个字符, 至少包含 1 个大写字符, 1 个小写字符和 1 个数字 [0-9]。
b. 输入的口令是一个关键字, Oracle 建议不要将其用作口令
   操作: 指定强口令。如果需要, 请参阅 Oracle 文档以了解相关指南。
[WARNING] [DBT-06208] 输入的 'SYSTEM' 口令未遵从 Oracle 建议的标准。
   原因: 
a. Oracle 建议, 输入的口令长度不应少于 8 个字符, 至少包含 1 个大写字符, 1 个小写字符和 1 个数字 [0-9]。
b. 输入的口令是一个关键字, Oracle 建议不要将其用作口令
   操作: 指定强口令。如果需要, 请参阅 Oracle 文档以了解相关指南。
复制数据库文件
1%已完成
2%已完成
18%已完成
33%已完成
正在创建并启动 Oracle 实例
35%已完成
40%已完成
44%已完成
49%已完成
50%已完成
53%已完成
55%已完成
正在进行数据库创建
56%已完成
57%已完成
58%已完成
62%已完成
65%已完成
66%已完成
执行配置后操作
100%已完成
有关详细信息, 请参阅日志文件 "/home/oracle/app/cfgtoollogs/dbca/csdc/csdc4.log"

遇到的问题

  1. 安装数据库实例的时候日志文件中显示的错误内容:ORA-27104: system-defined limits for shared memory was misconfigured
    解决方案:修改/etc/sysctl.confkernel.shmall的值为409600000

  2. 在服务器上使用sqlplus访问数据库,中文不能正常显示(显示问号)
    解决方案:导出环境变量export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

你可能感兴趣的:(Oracle)