Oracle12C静默安装
环境 Linux redhat 6.9Oracle:Oracle 12.2.0.1 安装准备#配置主机IP与主机名[root@POC-ORACLE~]# vi /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4localhost4.localdomain4#192.168.187.129POC-ORACLE192.9.
[root@POC-ORACLE~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4localhost4.localdomain4
::1 localhost localhost.localdomainlocalhost6 localhost6.localdomain6
[root@POC-ORACLE~]# service network restart
[root@POC-ORACLE~]# vim /etc/sysctl.conf
---------------------------------------
net.ipv4.conf.default.accept_source_route= 0
----------------------------------------
----------------------------------------
net.ipv4.conf.all.rp_filter= 2
net.ipv4.conf.default.rp_filter= 2
net.ipv4.ip_local_port_range= 9000 65500
[root@POC-ORACLE ~]# /sbin/sysctl -p
#为了提升性能增加oracle用户的shell限制.(在/etc/security/limits.conf文件最后增加或修改以下参数)
[root@POC-ORACLE~]# vi /etc/security/limits.conf
扩展:在linux中进行身份或是状态的验证程序是由PAM来进行的,PAM(PluggableAuthentication Modules)可动态加载验证模块,因为可以按需要动态的对验证的内容进行变更,所以可以大大提高验证的灵活性。(在文件 /etc/pam.d/login最后增加或修改以下参数)
[root@POC-ORACLE~]# vi /etc/pam.d/login
session required pam_limits.so
#oracle用户使用资源使用限制 (在文件/etc/profile最后增加或修改以下脚本)
#ulimit – p 512;限制管道缓冲区的大小为 512 Kbytes。
#ulimit – n 128;限制最大可以使用 128 个文件描述符。
[root@POC-ORACLE~]# vi /etc/profile
if [ $SHELL = "/bin/ksh" ]; then
unixODBC-devel | grep "not installed"
rpm -qbinutils compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devellibgcc libstdc++ libstdc++-devel libXext libXtst libX11 libXau libXi makesysstat unixODBC unixODBC-devel | grep "not installed"
创建用于安装和维护 Oracle 10g软件的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall(用于软件安装) 和 dba(用于数据库管理)。
#useradd -m -g oinstall -g dba oracle -poracle(p表示添加帐号密码)
现在,创建存储 Oracle 11g 软件和数据库文件的目录。本指南在创建目录结构时所用的命名惯例符合最佳灵活结构 (OFA) 规范。
#mkdir -p /u01/app/oracle #oracle根目录,-p 表示递归建立目录
#mkdir -p /u02/oradata # oracle数据文件存放目录
#chown -R oracle:oinstall /u01
#chown -R oracle:oinstall /u02
[root@POC-ORACLE~]# groupadd oinstall
[root@POC-ORACLE~]# groupadd dba
[root@POC-ORACLE~]# useradd -m -g oinstall -g dba oracle -p oracle
[root@POC-ORACLE~]# mkdir -p /u01/app/oracle
[root@POC-ORACLE~]# mkdir -p /u02/oradata
[root@POC-ORACLE~]# chown -R oracle:oinstall /u01
[root@POC-ORACLE~]# chown -R oracle:oinstall /u02
[root@POC-ORACLE~]# chmod -R 775 /u02
[root@POC-ORACLE~]# chmod -R 775 /u01
[root@POC-ORACLE~]# vi /etc/selinux/config
[root@POC-ORACLE~]# service iptables stop
#注意:这样关闭防火墙仅仅是关闭一次,若客户机重启则防火墙会重新打开
[root@POC-ORACLE~]# vi /home/oracle/.bash_profile
ORACLE_BASE=/u01/app/oracle #oracle 根目录
ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/db_1 #oracle 家目录(这里11g的话要换)
ORACLE_SID=orcl #根据实际需要命名(oracleSID)
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export TMP TMPDIR ORACLE_BASEORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH ORACLE_UNQNAME ORACLE_HOSTNAMENLS_LANG
[root@POC-ORACLE ~]# source/home/oracle/.bash_profile
drwxrwxr-x.4 oracle oinstall 4096 8月 22 20:55 app
drwxr-xr-x.7 oracle oinstall 4096 8月 22 21:31 database
安装文件放在database目录下与response下自带的模板文件区分。
[oracle@POC-ORACLEdatabase]$ ./runInstaller -force -silent -noconfig -responseFile/u01/database/db_install.rsp -ignorePrereq
[oracle@POC-ORACLEdatabase]$ ./runInstaller -force -silent -noconfig -responseFile/u01/database/db_install.rsp -ignorePrereq
正在启动 OracleUniversal Installer...
检查临时空间: 必须大于 500 MB。 实际为 8730 MB 通过
检查交换空间: 必须大于 150 MB。 实际为 2047 MB 通过
准备从以下地址启动Oracle Universal Installer /tmp/OraInstall2017-08-22_05-58-13AM. 请稍候...[oracle@POC-ORACLE database]$ 可以在以下位置找到本次安装会话的日志:
/u01/app/oraInventory/logs/installActions2017-08-22_05-58-13AM.log
请查看'/u01/app/oraInventory/logs/silentInstall2017-08-22_05-58-13AM.log' 以获取详细资料。
1./u01/app/oraInventory/orainstRoot.sh
2. /u01/app/oracle/product/12.2.0.1/db_1/root.sh
-ignorePrereq 如果哪块没有符合要求,不添加可能就安装不过去了(忽略可以忽略的错误)
[oracle@POC-ORACLEdatabase]$ tail -f/u01/app/oraInventory/logs/installActions2017-08-22_05-58-13AM.log
[root@POC-ORACLE~]# /u01/app/oraInventory/orainstRoot.sh
更改组名/u01/app/oraInventory到 dba.
[root@POC-ORACLE~]# /u01/app/oracle/product/12.2.0.1/db_1/root.sh
Check/u01/app/oracle/product/12.2.0.1/db_1/install/root_POC-ORACLE_2017-08-22_06-16-37-818507436.logfor the output of root script
cat netca.rsp | grep -Ev "^#|^$"
[oracle@POC-ORACLEdatabase]$ netca -silent -responsefile /u01/database/netca.rsp
参数"responsefile"= /u01/database/netca.rsp
/u01/app/oracle/product/12.2.0.1/db_1/bin/lsnrctl start LISTENER
成功完成 OracleNet Services 配置。退出代码是0
[oracle@POC-ORACLEdatabase]$ lsnrctl status
LSNRCTL forLinux: Version 12.2.0.1.0 - Production on 22-AUG-2017 06:26:09
Copyright(c) 1991, 2016, Oracle. All rightsreserved.
Connectingto (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=POC-ORACLE)(PORT=1521)))
Version TNSLSNR for Linux: Version12.2.0.1.0 - Production
StartDate 22-AUG-2017 06:24:07
Uptime 0 days 0 hr. 2 min. 2 sec
Security ON: Local OS Authentication
ListenerParameter File /u01/app/oracle/product/12.2.0.1/db_1/network/admin/listener.ora
ListenerLog File /u01/app/oracle/diag/tnslsnr/POC-ORACLE/listener/alert/log.xml
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=POC-ORACLE)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Thelistener supports no services
The commandcompleted successfully
#此时应该是没有库的实例注册到监听中来。The listener supports no services
#监听的状态为READY表示Instance正在监听,UNKNOWN表示该实例不可被远程连接
#监听文件中HOST可以填本机的IP或者IP对应的HOSTNAME 。如192.9.201.129对应为 /etc/hosts中的 POC-ORACLE
[root@POC-ORACLE~]# vi /etc/hosts
cat /home/oracle/dbca.rsp | grep -Ev '^#|^$'
[oracle@POC-ORACLEdatabase]$ dbca -silent -createDatabase -responseFile dbca.rsp
[FATAL][DBT-06604] 为 '数据文件位置' 指定的位置中的空闲空间不足。
原因: 位置 (/u01/app/oracle/oradata/orcl/) 上只有(1,352MB) 空闲空间可用。
操作: 选择具有足够空间 (最少 (4,260MB)) 的 '数据文件位置' 或者释放指定位置上的空间。
[oracle@POC-ORACLEdatabase]$ dbca -silent -createDatabase -templateName General_Purpose.dbc-gdbname orcl -sid orcl -responseFile NO_VALUE -characterSet AL32UTF8-memoryPercentage 30 -emConfiguration LOCAL
[oracle@POC-ORACLEdatabase]$ dbca -silent -createDatabase -templateName General_Purpose.dbc-gdbname orcl -sid orcl -responseFile NO_VALUE -characterSet AL32UTF8-memoryPercentage 30 -emConfiguration LOCAL
[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 文档以了解相关指南。
[FATAL][DBT-06604] 为 '数据文件位置' 指定的位置中的空闲空间不足。
原因: 位置 (/u01/app/oracle/oradata/orcl) 上只有(1,352MB) 空闲空间可用。
操作: 选择具有足够空间 (最少 (2,672MB)) 的 '数据文件位置' 或者释放指定位置上的空间。
#此处虚拟机一共有20个G的磁盘,然而还是不够。oracle12C版本需要30G,11g 版本20G
#不能直接给Linux添加一个磁盘,需要将安装的root挂载点添加容量
[oracle@POC-ORACLEdatabase]$ dbca -silent -createDatabase -responseFile 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 文档以了解相关指南。
[WARNING][DBT-06208] 输入的 'PDBADMIN' 口令未遵从 Oracle 建议的标准。
a. Oracle 建议, 输入的口令长度不应少于 8 个字符,至少包含 1 个大写字符, 1 个小写字符和 1 个数字 [0-9]。
b. 输入的口令是一个关键字, Oracle 建议不要将其用作口令
操作: 指定强口令。如果需要, 请参阅 Oracle 文档以了解相关指南。
[WARNING][DBT-06801] 指定的快速恢复区大小 (9,000 MB) 小于建议值。
原因: 快速恢复区大小至少应为数据库大小 (3,571 MB) 的三倍。
有关详细信息, 请参阅日志文件 "/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log"。
[oracle@POC-ORACLEdatabase]$ lsnrctl status
LSNRCTL forLinux: Version 12.2.0.1.0 - Production on 22-AUG-2017 19:44:04
Copyright(c) 1991, 2016, Oracle. All rightsreserved.
Connectingto (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=POC-ORACLE)(PORT=1521)))
Version TNSLSNR for Linux: Version12.2.0.1.0 - Production
StartDate 22-AUG-2017 19:13:52
Uptime 0 days 0 hr. 30 min. 12 sec
Security ON: Local OS Authentication
ListenerParameter File /u01/app/oracle/product/12.2.0.1/db_1/network/admin/listener.ora
ListenerLog File /u01/app/oracle/diag/tnslsnr/POC-ORACLE/listener/alert/log.xml
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=POC-ORACLE)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Service"5756fec1aef7140fe05381bba8c0e158" has 1 instance(s).
Instance "orcl", status READY, has1 handler(s) for this service...
Service"orcl" has 1 instance(s).
Instance "orcl", status READY, has1 handler(s) for this service...
Service"orclXDB" has 1 instance(s).
Instance "orcl", status READY, has1 handler(s) for this service...
Service"orclpdb" has 1 instance(s).
Instance "orcl", status READY, has1 handler(s) for this service...
The commandcompleted successfully
#以上按模板建立的库是含有pdb的,pdb是本地可插式数据库,可以不需要。则数据库创建直接执行以下语句(创建仅有cdb的数据库):
[oracle@POC-ORACLEdatabase]$ dbca -silent -createDatabase -templateName General_Purpose.dbc-gdbname orcl -sid orcl -responseFile NO_VALUE -characterSet AL32UTF8-memoryPercentage 30 -emConfiguration LOCAL
[oracle@POC-ORACLE~]$ sqlplus / as sysdba
[oracle@POC-ORACLE~]$ lsnrctl status
[oracle@POC-ORACLEdatabase]$ sqlplus / as sysdba
SQL*Plus:Release 12.2.0.1.0 Production on Tue Aug 22 19:45:13 2017
Copyright(c) 1982, 2016, Oracle. All rightsreserved.
OracleDatabase 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL>select open_mode from v$database;
SQL>select status from v$instance;
SQL> alter database archivelog;
SQL> alter database flashback on; (如果要启用数据库闪回功能则执行)
SQL> execute utl_recomp.recomp_serial(); (重新编译所有可能失效对象)
更多推荐
所有评论(0)