静默安装Oracle12.2数据库

时间:2022-01-27 07:21:09

实验环境:

操作系统:Redhat 6.4 64

数  据 库:Oracle 12c R2

 

一、 安装前准备

1、 创建用户和组

[root@wjq ~]# groupadd -g 1000 oinstall 

//oinstall组:是清单目录组(Oracle Inventory group),用于管理清单目录(Inventory)

[root@wjq ~]# groupadd -g 1001 dba       //dba组:用于数据库管理

[root@wjq ~]# useradd -u 600 -g oinstall -G dba oracle

[root@wjq ~]# passwd oracle

Changing password for user oracle.

New password:

BAD PASSWORD: it is based on a dictionary word

BAD PASSWORD: is too simple

Retype new password:

passwd: all authentication tokens updated successfully.

2、 创建目录

[root@wjq ~]# mkdir -p /u01/app/oracle/product/12.2.0/dbhome_1

[root@wjq ~]# chown -R oracle:oinstall /u01

[root@wjq ~]# chmod -R 775 /u01/app/oracle

3、 查看物理内存、交换空间和文件系统大小

[root@wjq ~]# free -m

total       used       free     shared    buffers     cached

Mem:        3016        358       2657      0        19        158

-/+ buffers/cache:          180       2835

Swap:        3023          0       3023

[root@wjq ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/vg_wjq-lv_root

26G  2.8G   22G  12% /

tmpfs                 1.5G   72K  1.5G   1% /dev/shm

/dev/sda1             485M   38M  423M   9% /boot

/dev/mapper/vg_wjq-lv_home

4.0G  137M  3.7G   4% /home

/dev/mapper/vg_wjq-lv_u01

66G  180M   62G   1% /u01

4、 查看操作系统架构

[root@wjq ~]# cat /proc/version

Linux version 2.6.32-358.el6.x86_64 (mockbuild@x86-022.build.eng.bos.redhat.com) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Tue Jan 29 11:47:41 EST 2013

[root@wjq ~]# lsb_release -a

LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch

Distributor ID: RedHatEnterpriseServer

Description:    Red Hat Enterprise Linux Server release 6.4 (Santiago)

Release:        6.4

Codename:       Santiago

[root@wjq ~]# uname -r

2.6.32-358.el6.x86_64

5、 安装软件包

binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6.i686
libXext-1.1 (x86_64)
libXext-1.1 (i686)
libXtst-1.0.99.2 (x86_64)
libXtst-1.0.99.2 (i686)
libX11-1.3 (x86_64)
libX11-1.3 (i686)
libXau-1.0.5 (x86_64)
libXau-1.0.5 (i686)
libxcb-1.5 (x86_64)
libxcb-1.5 (i686)
libXi-1.3 (x86_64)
libXi-1.3 (i686)
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)

6、 禁用SELinux和防火墙

[root@wjq sofrware]# vim /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of these two values:

#     targeted - Targeted processes are protected,

#     mls - Multi Level Security protection.

SELINUXTYPE=targeted

SELinux 的不正确配置会影响网络

(1)enforcing --- SELinux security policy is enforced.代表记录警告且阻止可疑行为
(2)permissive --- SELinux prints warnings instead of 
代表仅记录安全警告但不阻止可疑行为
(3)disabled --- SELinux is fully disabled.SELinux 
被禁用

SELINUXTYPE设置
(1)targeted 
代表仅针对预制的几种网络服务和访问请求使用 SELinux 保护,
(2)strict 
代表所有网络服务和访问请求都要经过 SELinux

查看当前系统的安全策略

[root@wjq ~]# sestatus 

SELinux status:                 disabled

[root@wjq ~]# getenforce

Disabled

[root@wjq sofrware]# service iptables stop

iptables: Flushing firewall rules:                         [  OK  ]

iptables: Setting chains to policy ACCEPT: filter            [  OK  ]

iptables: Unloading modules:                            [  OK  ]

[root@wjq sofrware]# chkconfig iptables off

7、 解压安装包,设置环境变量

[root@wjq sofrware]#unzip linuxx64_12201_database.zip

[oracle@wjq ~]$ vim .bash_profile

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1

export ORACLE_SID=seiang

export ORACLE_OWNER=oracle

export ORACLE_TERM=vt100

export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH

export BASE_PATH=/usr/sbin:$PATH; export BASE_PATH

export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib

export ORACLE_HOSTNAME=wjq.comsys.com

export DB_UNIQUE_NAME=prod

export CVUQDISK_GRP=oinstall

umask 022

[oracle@wjq ~]$ source .bash_profile

 

8、 设置内核参数

[root@wjq sofrware]# vim /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 1349242060

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=1048586

[root@wjq sofrware]# sysctl –a   //让内核参数文件立即生效

shmmax=物理内存*80%*80%,单位是字节
kernel.shmmax
:表示单个共享内存段的最大值,以字节为单位,此值一般为物理内存的一半,不过大一点也没关系,这里设定的为4GB,即“4294967295/1024/1024/1024=4G”。
kernel.shmmin
:表示单个共享内存段的最小值,默认为1byte
kernel.shmall
:表示整个系统范围内可用共享内存页的总量,单位是页(page),在32位系统上一页等于4kB,也就是4096字节。计算公式是:shmmax/PAGE_SIZE
kernel.shmmni
:表示整个系统范围内内存段的最大数量,一般为4096.
ip_local_port_range  
:表示端口的范围。在监听器帮助客户端进程和服务器进程建立连接时,会用到指定范围内的端口。
kernel.sem  
:表示设置的信号量,这4个参数内容大小固定。
net.core.rmem_default  
:表示接收套接字缓冲区大小的缺省值(以字节为单位)。
net.core.rmem_max  
:表示接收套接字缓冲区大小的最大值(以字节为单位)
net.core.wmem_default  
:表示发送套接字缓冲区大小的缺省值(以字节为单位)。
net.core.wmem_max  
:表示发送套接字缓冲区大小的最大值(以字节为单位)。

9、 修改资源控制文件

[root@wjq sofrware]# vim /etc/security/limits.conf

oracle               soft    nproc   2047
oracle               hard    nproc   16384
oracle               soft    nofile  1024
oracle               hard    nofile  65536

资源限制是针对单个进程的限制,不是针对整个系统总的设置
修改limits.conf以后,将马上生效。但是,如果用户已经登录系统,那么对于该用户的限制将在下一次用户重新登录以后才生效。如果要让对该用户的限制生效,只能让该用户注销然后重新登录就可以了。
/etc/security/limits.conf
    core - 
限制内核文件的大小
  date - 最大数据大小
  fsize - 最大文件大小
  memlock - 最大锁定内存地址空间
  nofile - 打开文件的最大数目
  rss - 最大持久设置大小
  stack - 最大栈大小
  cpu - 以分钟为单位的最多 CPU 时间
  noproc - 进程的最大数目
  as - 地址空间限制
  maxlogins - 此用户允许登录的最大数目

nofile - 打开文件的最大数目,该值不能等于/proc/sys/fs/file-max,如果等于file-max且打开的文件句柄的数量达到file-max,用户将不能登陆操作系统。

二、安装Oracle软件

1、 相应文件模板的存放位置

[root@wjq sofrware]# find / -name *.rsp

/u01/sofrware/database/response/netca.rsp

/u01/sofrware/database/response/db_install.rsp

/u01/sofrware/database/response/dbca.rsp

2、 浏览响应文件内容,并编辑响应文件

[root@wjq response]# ll

total 64

drwxr-xr-x 2 root root  4096 Jul  5 16:32 backup.rsp

-rwxrwxr-x 1 root root 25502 Jan  5 14:00 dbca.rsp

-rw-rw-r-- 1 root root 22924 Jan 26 21:44 db_install.rsp

-rwxrwxr-x 1 root root  6209 Jun 20  2016 netca.rsp

浏览响应文件内容

[oracle@wjq database]$ sed -n '/^[^#]/p' response/db_install.rsp

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0

oracle.install.option=

UNIX_GROUP_NAME=

INVENTORY_LOCATION=

ORACLE_HOME=

ORACLE_BASE=

oracle.install.db.InstallEdition=

oracle.install.db.OSDBA_GROUP=

oracle.install.db.OSOPER_GROUP=

oracle.install.db.OSBACKUPDBA_GROUP=

oracle.install.db.OSDGDBA_GROUP=

oracle.install.db.OSKMDBA_GROUP=

oracle.install.db.OSRACDBA_GROUP=

oracle.install.db.rac.configurationType=

oracle.install.db.CLUSTER_NODES=

oracle.install.db.isRACOneInstall=false

oracle.install.db.racOneServiceName=

oracle.install.db.rac.serverpoolName=

oracle.install.db.rac.serverpoolCardinality=

oracle.install.db.config.starterdb.type=

oracle.install.db.config.starterdb.globalDBName=

oracle.install.db.config.starterdb.SID=

oracle.install.db.ConfigureAsContainerDB=

oracle.install.db.config.PDBName=

oracle.install.db.config.starterdb.characterSet=

oracle.install.db.config.starterdb.memoryOption=

oracle.install.db.config.starterdb.memoryLimit=

oracle.install.db.config.starterdb.installExampleSchemas=

oracle.install.db.config.starterdb.password.ALL=

oracle.install.db.config.starterdb.password.SYS=

oracle.install.db.config.starterdb.password.SYSTEM=

oracle.install.db.config.starterdb.password.DBSNMP=

oracle.install.db.config.starterdb.password.PDBADMIN=

oracle.install.db.config.starterdb.managementOption=

oracle.install.db.config.starterdb.omsHost=

oracle.install.db.config.starterdb.omsPort=

oracle.install.db.config.starterdb.emAdminUser=

oracle.install.db.config.starterdb.emAdminPassword=

oracle.install.db.config.starterdb.enableRecovery=

oracle.install.db.config.starterdb.storageType=

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=

oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=

oracle.install.db.config.asm.diskGroup=

oracle.install.db.config.asm.ASMSNMPPassword=

MYORACLESUPPORT_USERNAME=

MYORACLESUPPORT_PASSWORD=

SECURITY_UPDATES_VIA_MYORACLESUPPORT=

DECLINE_SECURITY_UPDATES=

PROXY_HOST=

PROXY_PORT=

PROXY_USER=

PROXY_PWD=

COLLECTOR_SUPPORTHUB_URL=

编辑Oracle数据库软件响应文件db_install.rsp

[root@wjq response]# vim db_install.rsp

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0

oracle.install.option=INSTALL_DB_SWONLY

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/u01/app/oraInventory

ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1

ORACLE_BASE=/u01/app/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.OSDBA_GROUP=dba

oracle.install.db.OSOPER_GROUP=dba

oracle.install.db.OSBACKUPDBA_GROUP=dba

oracle.install.db.OSDGDBA_GROUP=dba

oracle.install.db.OSKMDBA_GROUP=dba

oracle.install.db.OSRACDBA_GROUP=dba

oracle.install.db.rac.configurationType=

oracle.install.db.CLUSTER_NODES=

oracle.install.db.isRACOneInstall=false

oracle.install.db.racOneServiceName=

oracle.install.db.rac.serverpoolName=

oracle.install.db.rac.serverpoolCardinality=

oracle.install.db.config.starterdb.type=

oracle.install.db.config.starterdb.globalDBName=

oracle.install.db.config.starterdb.SID=

oracle.install.db.ConfigureAsContainerDB=

oracle.install.db.config.PDBName=

oracle.install.db.config.starterdb.characterSet=

oracle.install.db.config.starterdb.memoryOption=

oracle.install.db.config.starterdb.memoryLimit=

oracle.install.db.config.starterdb.installExampleSchemas=

oracle.install.db.config.starterdb.password.ALL=

oracle.install.db.config.starterdb.password.SYS=

oracle.install.db.config.starterdb.password.SYSTEM=

oracle.install.db.config.starterdb.password.DBSNMP=

oracle.install.db.config.starterdb.password.PDBADMIN=

oracle.install.db.config.starterdb.managementOption=

oracle.install.db.config.starterdb.omsHost=

oracle.install.db.config.starterdb.omsPort=

oracle.install.db.config.starterdb.emAdminUser=

oracle.install.db.config.starterdb.emAdminPassword=

oracle.install.db.config.starterdb.enableRecovery=

oracle.install.db.config.starterdb.storageType=

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=

oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=

oracle.install.db.config.asm.diskGroup=

oracle.install.db.config.asm.ASMSNMPPassword=

MYORACLESUPPORT_USERNAME=

MYORACLESUPPORT_PASSWORD=

SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

DECLINE_SECURITY_UPDATES=true

PROXY_HOST=

PROXY_PORT=

PROXY_USER=

PROXY_PWD=

COLLECTOR_SUPPORTHUB_URL=

3、 获取帮助,启动静默安装

在静默安装Oracle软件之前,如果没有配置/etc/hosts文件,将会出现如五(1)的错误。

[oracle@wjq database]$ ./runInstaller –help

[oracle@wjq database]$ ./runInstaller -silent -ignoreSysPrereqs -ignorePrereq -responseFile /u01/sofrware/database/response/db_install.rsp

Starting Oracle Universal Installer...

Checking Temp space: must be greater than 500 MB.   Actual 18788 MB    Passed

Checking swap space: must be greater than 150 MB.   Actual 3023 MB    Passed

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2017-07-06_02-07-35PM. Please wait ...[oracle@wjq database]$ You can find the log of this install session at:

/u01/app/oraInventory/logs/installActions2017-07-06_02-07-35PM.log

The installation of Oracle Database 12c was successful.

Please check '/u01/app/oraInventory/logs/silentInstall2017-07-06_02-07-35PM.log' for more details.

As a root user, execute the following script(s):

        1. /u01/app/oraInventory/orainstRoot.sh

        2. /u01/app/oracle/product/12.2.0/dbhome_1/root.sh

Successfully Setup Software.

-silent             表示静默安装
-noconfig          
表示只安装软件
-responseFile     
指定响应文件

4、 监控安装过程所产生的日志

[root@wjq response]# tail -f /u01/app/oraInventory/logs/installActions2017-07-06_02-07-35PM.log

INFO: Using paramFile: /u01/sofrware/database/install/oraparam.ini

INFO:

INFO:

INFO: Checking Temp space: must be greater than 500 MB.   Actual 18788 MB    Passed

INFO: Checking swap space: must be greater than 150 MB.   Actual 3023 MB    Passed

INFO:

INFO: The commandline for unzip:

INFO: /u01/sofrware/database/install/unzip -qqqo ../stage/Components/oracle.jdk/1.8.0.91.0/1/DataFiles/\*.jar -d

/tmp/OraInstall2017-07-06_02-07-35PM

INFO: Using the umask value '022' available from oraparam.ini

INFO: INFO: Oracle Universal Installer Version 12.2.0.1.4

INFO:

INFO: Execvp of the child jre : the cmdline is /tmp/OraInstall2017-07-06_02-07-35PM/jdk/jre/bin/java, and the arg

v is

INFO: /tmp/OraInstall2017-07-06_02-07-35PM/jdk/jre/bin/java

INFO: -Doracle.installer.library_loc=/tmp/OraInstall2017-07-06_02-07-35PM/oui/lib/linux64

INFO: -Doracle.installer.oui_loc=/tmp/OraInstall2017-07-06_02-07-35PM/oui

INFO: -Doracle.installer.bootstrap=TRUE

INFO: -Doracle.installer.startup_location=/u01/sofrware/database/install

INFO: -Doracle.installer.jre_loc=/tmp/OraInstall2017-07-06_02-07-35PM/jdk/jre

INFO: -Doracle.installer.nlsEnabled="TRUE"

INFO: -Doracle.installer.prereqConfigLoc=

INFO: -Doracle.installer.unixVersion=2.6.32-358.el6.x86_64

………

………

INFO: Completed executing action at state

INFO: Waiting for completion of background operations

INFO: Completed background operations

INFO: Waiting for completion of background operations

INFO: Completed background operations

INFO: Moved to state

INFO: Waiting for completion of background operations

INFO: Completed background operations

INFO: Validating state

WARNING: Validation disabled for the state finish

INFO: Completed validating state

INFO: Terminating all background operations

INFO: Terminated all background operations

INFO: Successfully executed the flow in SILENT mode

INFO: Dispose the current Session instance

INFO: Dispose the install area control object

INFO: Update the state machine to STATE_CLEAN

INFO: Finding the most appropriate exit status for the current application

INFO: Exit Status is 0

INFO: Shutdown Oracle Database 12c Release 2 Installer

5、安装过程,以root用户运行相应的脚本

[root@wjq ~]# /u01/app/oraInventory/orainstRoot.sh

Changing permissions of /u01/app/oraInventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.

The execution of the script is complete.

[root@wjq ~]# /u01/app/oracle/product/12.2.0/dbhome_1/root.sh

Check /u01/app/oracle/product/12.2.0/dbhome_1/install/root_wjq.comsys.com_2017-07-06_14-23-00-707842960.log for the output of root script

三、 配置监听器

1、 浏览Oracle监听响应文件netca.rsp

[oracle@wjq database]$ sed -n '/^[^#]/p' response/netca.rsp

[GENERAL]

RESPONSEFILE_VERSION="12.2"

CREATE_TYPE="CUSTOM"

[oracle.net.ca]

INSTALLED_COMPONENTS={"server","net8","javavm"}

INSTALL_TYPE=""typical""

LISTENER_NUMBER=1

LISTENER_NAMES={"LISTENER"}

LISTENER_PROTOCOLS={"TCP;1521"}

LISTENER_START=""LISTENER""

NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}

NSN_NUMBER=1

NSN_NAMES={"EXTPROC_CONNECTION_DATA"}

NSN_SERVICE={"PLSExtProc"}

NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}

2、 编辑监听器配置响应文件netca.rsp

[oracle@wjq database]$ vim response/netca.rsp

[GENERAL]

RESPONSEFILE_VERSION="12.2"

CREATE_TYPE="CUSTOM"

[oracle.net.ca]

INSTALLED_COMPONENTS={"server","net8","javavm"}

INSTALL_TYPE=""typical""

LISTENER_NUMBER=1

LISTENER_NAMES={"LISTENER"}

LISTENER_PROTOCOLS={"TCP;1521"}

LISTENER_START=""LISTENER""

NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}

NSN_NUMBER=1

NSN_NAMES={"EXTPROC_CONNECTION_DATA"}

NSN_SERVICE={"PLSExtProc"}

NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}

3、静默安装监听器

[oracle@wjq database]$ $ORACLE_HOME/bin/netca -silent -responsefile /u01/sofrware/database/response/netca.rsp

Parsing command line arguments:

Parameter "silent" = true

Parameter "responsefile" = /u01/sofrware/database/response/netca.rsp

Done parsing command line arguments.

Oracle Net Services Configuration:

Profile configuration complete.

Oracle Net Listener Startup:

Running Listener Control:

/u01/app/oracle/product/12.2.0/dbhome_1/bin/lsnrctl start LISTENER

Listener Control complete.

    Listener started successfully.

Listener configuration complete.

Oracle Net Services configuration successful. The exit code is 0

4、查看监听状态,并启动监听器

[oracle@wjq database]$ lsnrctl status

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 06-JUL-2017 14:46:27

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=wjq.comsys.com)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production

Start Date                06-JUL-2017 14:43:52

Uptime                    0 days 0 hr. 2 min. 34 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora

Listener Log File         /u01/app/oracle/diag/tnslsnr/wjq/listener/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wjq.comsys.com)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

The listener supports no services

The command completed successfully

四、创建数据库

1、 浏览Oracle数据库响应文件dbca.rsp

[oracle@wjq database]$ sed -n '/^[^#]/p' response/dbca.rsp

responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0

gdbName=

sid=

databaseConfigType=

RACOneNodeServiceName=

policyManaged=

createServerPool=

serverPoolName=

cardinality=

force=

pqPoolName=

pqCardinality=

createAsContainerDatabase=

numberOfPDBs=

pdbName=

useLocalUndoForPDBs=

pdbAdminPassword=

nodelist=

templateName=

sysPassword=

systemPassword=

oracleHomeUserPassword=

emConfiguration=

emExpressPort=5500

runCVUChecks=

dbsnmpPassword=

omsHost=

omsPort=

emUser=

emPassword=

dvConfiguration=

dvUserName=

dvUserPassword=

dvAccountManagerName=

dvAccountManagerPassword=

olsConfiguration=

datafileJarLocation=

datafileDestination=

recoveryAreaDestination=

storageType=

diskGroupName=

asmsnmpPassword=

recoveryGroupName=

characterSet=

nationalCharacterSet=

registerWithDirService=

dirServiceUserName=

dirServicePassword=

walletPassword=

listeners=

variablesFile=

variables=

initParams=

sampleSchema=

memoryPercentage=

databaseType=

automaticMemoryManagement=

totalMemory=

2、 编辑响应文件dbca.rsp

[oracle@wjq database]$ vim response/dbca.rsp                                                             responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0

gdbName=prod.comsys.com

sid=seiang

databaseConfigType=

RACOneNodeServiceName=

policyManaged=

createServerPool=

serverPoolName=

cardinality=

force=

pqPoolName=

pqCardinality=

createAsContainerDatabase=

numberOfPDBs=

pdbName=

useLocalUndoForPDBs=

pdbAdminPassword=

nodelist=

templateName=General_Purpose.dbc

sysPassword=oracle

systemPassword=oracle

oracleHomeUserPassword=oracle

emConfiguration=

emExpressPort=5500

runCVUChecks=

dbsnmpPassword=

omsHost=

omsPort=

emUser=

emPassword=

dvConfiguration=

dvUserName=

dvUserPassword=

dvAccountManagerName=

dvAccountManagerPassword=

olsConfiguration=

datafileJarLocation=

datafileDestination=

recoveryAreaDestination=

storageType=

diskGroupName=

asmsnmpPassword=

recoveryGroupName=

characterSet=

nationalCharacterSet=

registerWithDirService=

dirServiceUserName=

dirServicePassword=

walletPassword=

listeners=

variablesFile=

variables=

initParams=

sampleSchema=true

memoryPercentage=

databaseType=

automaticMemoryManagement=

totalMemory=

3、静默创建数据库

[oracle@wjq templates]$ $ORACLE_HOME/bin/dbca -silent -createDatabase -responseFile /u01/sofrware/database/response/dbca.rsp

[WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards.

CAUSE:

a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].

b.The password entered is a keyword that Oracle does not recommend to be used as password

ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.

[WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards.

CAUSE:

a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].

b.The password entered is a keyword that Oracle does not recommend to be used as password

ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.

Copying database files

1% complete

2% complete

18% complete

33% complete

Creating and starting Oracle instance

35% complete

40% complete

44% complete

49% complete

53% complete

54% complete

55% complete

58% complete

Completing Database Creation

59% complete

60% complete

61% complete

64% complete

68% complete

69% complete

Executing Post Configuration Actions

100% complete

Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/prod/prod.log" for further details.

3、测试实例是否注册成功和能否登录到数据库

[oracle@wjq database]$ lsnrctl status

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 07-JUL-2017 15:05:17

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=wjq.comsys.com)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production

Start Date                06-JUL-2017 14:43:52

Uptime                    1 days 0 hr. 21 min. 25 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora

Listener Log File         /u01/app/oracle/diag/tnslsnr/wjq/listener/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wjq.comsys.com)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Services Summary...

Service "prod.comsys.com" has 1 instance(s).

Instance "seiang", status READY, has 1 handler(s) for this service...

Service "seiangXDB.comsys.com" has 1 instance(s).

Instance "seiang", status READY, has 1 handler(s) for this service...

The command completed successfully

[oracle@wjq database]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Fri Jul 7 15:06:40 2017

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Connected to:

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL>

SQL> select status from v$instance;

STATUS

------------

OPEN

至此,静态安装Oracle12.2结束,其他复杂参数的配置请参考Oracle官方文档!

 

 

五、遇到的错误以及解决方法

1、安装Oracle软件时报错:PRVF-0002 : Could not retrieve local nodename.

查看日志信息

[root@wjq ~]# tail -f  /tmp/OraInstall2017-07-06_01-49-38PM/installActions2017-07-06_01-49-38PM.log

INFO: Setting value for the property:configcmds in the bean:configcmdmappings

SEVERE: [FATAL] PRVF-0002 : could not retrieve local node name.

Refer associated stacktrace #oracle.install.commons.util.exception.AbstractErrorAdvisor:37

INFO: Advice is ABORT

SEVERE: Unconditional Exit

INFO: Adding ExitStatus FAILURE to the exit status set

WARNING: A log of this session is currently saved as: /tmp/OraInstall2017-07-06_01-49-38PM/installActions2017-07-06_01-49-38PM.log. Oracle recommends that if you want to keep this log, you should move it from the temporary location.

INFO: Finding the most appropriate exit status for the current application

INFO: Exit Status is -1

INFO: Shutdown Oracle Database 12c Release 2 Installer

猜测是找不到主机名的对应ip

解决办法:

修改了下/etc/hosts

[root@wjq ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

10.1.1.45       wjq.comsys.com   wjq

 

 

2、安装Oracle软件时报错:Invalid My Oracle Support credentials. Specify the correct email address and password that you use to log in to My Oracle Support.

查看日志信息

[root@wjq ~]# tail -f /tmp/OraInstall2017-07-06_01-57-21PM/installActions2017-07-06_01-57-21PM.log

INFO: Waiting for completion of background operations

INFO: Completed background operations

INFO: Validating state

SEVERE: Invalid My Oracle Support credentials. Specify the correct email address and password that you use to log in to My Oracle Support.

After 2 more incorrect attempts, the product will be registered anonymously with the specified email address.

INFO: Adding ExitStatus VAR_VALIDATION_FAILURE to the exit status set

WARNING: A log of this session is currently saved as: /tmp/OraInstall2017-07-06_01-57-21PM/installActions2017-07-06_01-57-21PM.log. Oracle recommends that if you want to keep this log, you should move it from the temporary location.

INFO: Finding the most appropriate exit status for the current application

INFO: Exit Status is -2

INFO: Shutdown Oracle Database 12c Release 2 Installer

原因所在:

相应文件db_install.rsp文件中的参数MYORACLESUPPORT_USERNAME和MYORACLESUPPORT_PASSWORD配置的有问题

解决办法:

这两个参数不进行设置

3、 静默创建数据库时报错:[DBT-10503] Invalid template file specified.

出现这个报错信息的原因是:dbcs.rsp响应文件中的参数templateName配置出现错误,下面的这个东西就是咱们在建库的时候选择的模板,general purpose还是Data warehouing还是custom。这个东西在该路径下$ORACLE_HOME/assistants/dbca/templates

[oracle@wjq ~]$ cd $ORACLE_HOME/assistants/dbca/templates

[oracle@wjq templates]$ ll

total 411616

-rw-r----- 1 oracle oinstall      4697 Jan 26 15:38 Data_Warehouse.dbc                   //数据仓库的模板

-rw-r----- 1 oracle oinstall      4577 Jan 26 15:38 General_Purpose.dbc                    //标准的模板

-rw-r----- 1 oracle oinstall     10578 Jun 10  2016 New_Database.dbt                      //自定义的模板

-rw-r----- 1 oracle oinstall 121667584 Jan 26 15:30 pdbseed.dfb

-rw-r----- 1 oracle oinstall      6685 Jan 26 15:30 pdbseed.xml

-rw-r----- 1 oracle oinstall  18726912 Jan 26 15:37 Seed_Database.ctl                    //这个就是恢复的种子数据库的控制文件

-rw-r----- 1 oracle oinstall 281059328 Jan 26 15:37 Seed_Database.dfb                 //这个就是种子数据库的备份片,加上控制文件就能恢复出一个数据库来

解决方法:

将dbca.rsp响应文件中的参数按照如下的方式进行设置:templateName=General_Purpose.dbc

 

 

4、其他错误

特别要注意的是,等号两边不能有空格:
oracle.install.option=INSTALL_DB_SWONLY
 
DECLINE_SECURITY_UPDATES要设置成true
INFO: Adding ExitStatus VAR_VALIDATION_FAILURE to the exit status set