首页 > 代码库 > 静默安装Oracle12.2数据库

静默安装Oracle12.2数据库


实验环境:

操作系统:Redhat 6.4 64

数据库:Oracle 12c R2

 

一、安装前准备

1、  创建用户和组

[root@wjq~]# groupadd -g1000 oinstall  

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

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

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

[root@wjq~]# passwdoracle

Changingpassword for user oracle.

Newpassword:

BADPASSWORD: it is based on a dictionary word

BADPASSWORD: is too simple

Retypenew password:

passwd:all authentication tokens updated successfully.

 

2、  创建目录

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

[root@wjq~]# chown -Roracle: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

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

 [root@wjq ~]# lsb_release -a

LSBVersion:   :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

DistributorID: 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@wjqsofrware]# vim/etc/selinux/config

# Thisfile controls the state of SELinux on the system.

#SELINUX= can take one of these three values:

#     enforcing - SELinux security policy isenforced.

#     permissive - SELinux prints warningsinstead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled

#SELINUXTYPE= can take one of these two values:

#     targeted - Targeted processes areprotected,

#     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 

SELinuxstatus:                 disabled

[root@wjq~]# getenforce

Disabled

 

[root@wjqsofrware]#service iptables stop

iptables:Flushing firewall rules:                        [  OK  ]

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

iptables:Unloading modules:                           [  OK  ]

[root@wjqsofrware]# chkconfigiptables off

 

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

[root@wjqsofrware]#unziplinuxx64_12201_database.zip

[oracle@wjq~]$ vim.bash_profile

exportORACLE_BASE=/u01/app/oracle

exportORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1

exportORACLE_SID=seiang

exportORACLE_OWNER=oracle

exportORACLE_TERM=vt100

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

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

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

exportPATH=$ORACLE_HOME/bin:$BASE_PATH

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib

exportORACLE_HOSTNAME=wjq.comsys.com

exportDB_UNIQUE_NAME=prod

exportCVUQDISK_GRP=oinstall

umask022

[oracle@wjq~]$ source.bash_profile

 

8、  设置内核参数

[root@wjqsofrware]# 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@wjqsofrware]# 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@wjqsofrware]# 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@wjqsofrware]# find/ -name *.rsp

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

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

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

 

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

[root@wjqresponse]# ll

total64

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

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

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

-rwxrwxr-x1 root root  6209 Jun 20  2016 netca.rsp

 

浏览响应文件内容

[oracle@wjqdatabase]$ 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@wjqresponse]# vimdb_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@wjqdatabase]$./runInstaller –help

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

StartingOracle Universal Installer...

 

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

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

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

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

 

The installation of Oracle Database 12cwas successful.

Pleasecheck ‘/u01/app/oraInventory/logs/silentInstall2017-07-06_02-07-35PM.log‘ formore details.

 

As a root user, execute the followingscript(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@wjqresponse]# 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: CheckingTemp 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 <finish>

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 <finish>

INFO:Waiting for completion of background operations

INFO:Completed background operations

INFO:Validating state <finish>

WARNING:Validation disabled for the state finish

INFO:Completed validating state <finish>

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

Changingpermissions of /u01/app/oraInventory.

Addingread,write permissions for group.

Removingread,write,execute permissions for world.

 

Changinggroupname of /u01/app/oraInventory to oinstall.

Theexecution 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.logfor the output of root script

 

三、配置监听器

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

[oracle@wjqdatabase]$ 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@wjqdatabase]$ vimresponse/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@wjqdatabase]$ $ORACLE_HOME/bin/netca-silent -responsefile /u01/sofrware/database/response/netca.rsp

 

Parsingcommand line arguments:

    Parameter "silent" = true

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

Doneparsing command line arguments.

OracleNet Services Configuration:

Profileconfiguration complete.

OracleNet Listener Startup:

    Running Listener Control:

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

    ListenerControl complete.

   Listener started successfully.

Listener configuration complete.

Oracle Net Services configurationsuccessful. The exit code is 0

 

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

[oracle@wjqdatabase]$ lsnrctlstatus

 

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

 

Copyright(c) 1991, 2016, Oracle.  All rightsreserved.

 

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

STATUSof the LISTENER

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

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version12.2.0.1.0 - Production

StartDate                06-JUL-2017 14:43:52

Uptime                    0 days 0 hr. 2 min. 34 sec

TraceLevel               off

Security                  ON: Local OS Authentication

SNMP                      OFF

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

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

ListeningEndpoints Summary...

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

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

Thelistener supports no services

Thecommand completed successfully

 

四、创建数据库

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

[oracle@wjqdatabase]$ 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@wjqdatabase]$ 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@wjqtemplates]$ $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 Oraclerecommended standards.

   CAUSE:

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

b.Thepassword entered is a keyword that Oracle does not recommend to be used aspassword

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

[WARNING][DBT-06208] The ‘SYSTEM‘ password entered does not conform to the Oraclerecommended standards.

   CAUSE:

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

b.Thepassword entered is a keyword that Oracle does not recommend to be used aspassword

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

Copyingdatabase files

1%complete

2%complete

18% complete

33%complete

Creatingand starting Oracle instance

35%complete

40%complete

44%complete

49%complete

53%complete

54%complete

55%complete

58%complete

CompletingDatabase Creation

59%complete

60%complete

61%complete

64%complete

68%complete

69%complete

ExecutingPost Configuration Actions

100%complete

Look atthe log file "/u01/app/oracle/cfgtoollogs/dbca/prod/prod.log" forfurther details.

 

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

[oracle@wjqdatabase]$lsnrctl status

 

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

 

Copyright(c) 1991, 2016, Oracle.  All rightsreserved.

 

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

STATUSof the LISTENER

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

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version12.2.0.1.0 - Production

StartDate                06-JUL-2017 14:43:52

Uptime                    1 days 0 hr. 21 min. 25 sec

TraceLevel               off

Security                  ON: Local OS Authentication

SNMP                      OFF

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

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

ListeningEndpoints Summary...

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

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

ServicesSummary...

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...

Thecommand completed successfully

 

[oracle@wjqdatabase]$ 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 rightsreserved.

 

 

Connectedto:

OracleDatabase 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.

Referassociated 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 fromthe 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 localhost4localhost4.localdomain4

::1         localhost localhost.localdomainlocalhost6 localhost6.localdomain6

  1. 10.1.1.45      wjq.comsys.com   wjq

 

 

2、安装Oracle软件时报错:Invalid My Oracle Supportcredentials. Specify the correct email address and password that you use to login 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 backgroundoperations

INFO: Completed background operations

INFO: Validating state<getOCMDetails>

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

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

INFO: Adding ExitStatusVAR_VALIDATION_FAILURE to the exit status set

WARNING: A log of this session is currentlysaved 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 fromthe temporary location.

INFO: Finding the most appropriate exitstatus for the current application

INFO: Exit Status is -2

INFO: Shutdown Oracle Database 12c Release2 Installer

 

原因所在:

相应文件db_install.rsp文件中的参数MYORACLESUPPORT_USERNAMEMYORACLESUPPORT_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 Jan26 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 Jan26 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

 

 

作者:SEian.G(苦练七十二变,笑对八十一难)

◇本文在ITPUBhttp://blog.itpub.net/31015730/

      51CTOhttp://seiang.blog.51cto.com/上有同步更新

◇本文itpub地址:http://blog.itpub.net/31015730/viewspace-2137909/

◇本文51CTO地址:http://seiang.blog.51cto.com/10819863/1946087


本文出自 “SEianG之路” 博客,请务必保留此出处http://seiang.blog.51cto.com/10819863/1946087

静默安装Oracle12.2数据库