大家在Windows下可以使用图形界面安装Oracle,但是在Linux下,特别是在没有安装桌面的条件下,安装Oracle就需要通过静默模式安装。作为一个新手,遇到很多问题,在这里记录一下。在安装过程中涉及一些配置文件的配置,请打开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"。
安装数据库实例的时候日志文件中显示的错误内容:ORA-27104: system-defined limits for shared memory was misconfigured
解决方案:修改/etc/sysctl.conf
中kernel.shmall
的值为409600000
。
在服务器上使用sqlplus访问数据库,中文不能正常显示(显示问号)
解决方案:导出环境变量export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"