参考教程:
https://www.cnblogs.com/kerrycode/archive/2013/09/13/3319958.html
http://www.cnblogs.com/champaign/p/7211662.html
http://blog.csdn.net/jc_benben/article/details/69911904
1、新建目录 GINA用于存放安装包及解压文件
2、检查oracle 12c所需包
rpm -q binutilscompat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcclibstdc++ libstdc++-devel libXext libXtst libX11 libXau libXi make sysstat
现在需要解决的是安装依懒包
yum install binutils compat-libstdc++ gcc gcc-c++ glibcglibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXextlibXtst libX11 libXau libXi make sysstat
只需要将rpm –q 更换为 yum install 即可
3、系统配置准备
修改hosts文件:
vi /etc/hosts
写入以下内容:
127.0.0.1 SVR-28-137 //实际的服务器名称
3.1创建Oracle用户和用户组
[root@SVR-29-152response]# groupadd dba
[root@SVR-29-152response]# groupadd oinstall
[root@SVR-29-152response]# useradd -g oinstall -G dba oracle
passwd oracle
密码:zaqwsxcde321q
3.2创建安装目录
[root@SVR-29-152 gina]# mkdir -p/u01/app/oracle
[root@SVR-29-152response]# mkdir -p /u01/app/oracle/product/12.2.0.1/db_1
[root@SVR-29-152 gina]# chown -Roracle:oinstall /u01/app/oracle
[root@SVR-29-152 gina]# chmod -R775 /u01/app/oracle
因为oracle账户无法创建oraInventory目录,所以必须先创建该用户并授权
[root@SVR-29-152 ~]# mkdir -p /u01/app/oraInventory
[root@SVR-29-152 ~]# chown -R oracle:oinstall/u01/app/oraInventory
[root@SVR-29-152 ~]# chmod -R 775 /u01/app/oraInventory
4.查看SELinux状态命令及关闭SELinux
[root@SVR-29-152 gina]# /usr/sbin/sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: disabled
Policy version: 24
Policy from config file: targeted
修改/etc/selinux/config 文件
[root@SVR-29-151 gina]# vi/etc/selinux/config
----将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
[root@SVR-29-151 gina]# reboot
Broadcast message from root@SVR-29-151
(/dev/pts/1) at 17:14 ...
The system is going down for reboot NOW!
查看SELinux状态&关闭SELinux
http://www.linuxidc.com/Linux/2016-11/137723.htm
http://blog.csdn.net/chenlix/article/details/45331981
5. 修改系统内核参数
5.1查看配置信息
[root@SVR-29-152 ~]# getconf PAGESIZE
4096
[root@SVR-29-152 ~]# sysctl -a | grep sem
kernel.sem = 250 32000 32 128
[root@SVR-29-152 ~]# sysctl -a | grep shm
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096
kernel.shm_rmid_forced = 0
vm.hugetlb_shm_group = 0
[root@SVR-29-152 ~]# sysctl -a | grep file-max
fs.file-max = 386478
[root@SVR-29-152 ~]# sysctl -a | grepip_local_port_range
net.ipv4.ip_local_port_range = 32768 61000
[root@SVR-29-152 ~]#
5.2配置文件/etc/sysctl.conf
[root@SVR-29-151~]# vi /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route =0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall =6029312 #由大改小了
------上面参数一般不需要调整
------下面新增加就好了
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
net.ipv4.ip_local_port_range = 9000 65500
fs.file-max = 65536
fs.aio-max-nr = 1048576
[root@SVR-29-152 ~]#
5.3修改完成后保存,然后运行sysctl -p 命令使之生效
5.4设置用户限制
在/etc/security/limits.conf中添加如下配置。
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
etc指的系统配置文件目录,pam.d指的是验证登陆配置,login是登陆配置文件。
linux /etc/security/limits.conf的相关说明
http://blog.csdn.net/taijianyu/article/details/5976319
5.4
5.5[root@SVR-29-152~]# vi /etc/profile
if [ $USER = "oracle" ]; then
ulimit -u 16384
ulimit -n 65536
fi
6创建目录:与上面的重复啦
[root@SVR-29-152 response]# mkdir -p/u01/app/oracle/product/12.2.0.1/db_1
[root@SVR-29-152 response]# chown -R oracle:oinstall/u01
[root@SVR-29-152 response]# chmod 775 /u01
[root@SVR-29-152 response]#
7修改配置文件db_install.rsp,并安装
[root@SVR-29-152response]#cp /gina/database/response/db_install.rsp/gina/database/response/db_install.rsp.bak
[root@SVR-29-152response]# pwd
/gina/database/response
[root@SVR-29-152 response]# vidb_install.rsp (黄色是需要添加的)
1. oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0
2.
3. oracle.install.option=INSTALL_DB_SWONLY
4. UNIX_GROUP_NAME=oinstall
5. INVENTORY_LOCATION=/u01/app/oracle/oraInventory
6. ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1
7. ORACLE_BASE=/u01/app/oracle
8. oracle.install.db.InstallEdition=EE
9. oracle.install.db.OSDBA_GROUP=dba
10. oracle.install.db.OSOPER_GROUP= oinstall
11. oracle.install.db.OSBACKUPDBA_GROUP=dba
12. oracle.install.db.OSDGDBA_GROUP=dba
13. oracle.install.db.OSKMDBA_GROUP=dba
14. oracle.install.db.OSRACDBA_GROUP=dba
15. oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
16. oracle.install.db.config.starterdb.globalDBName=orcl
17. oracle.install.db.config.starterdb.SID=orcl
18. oracle.install.db.config.starterdb.characterSet=AL32UTF8
19. SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
20. DECLINE_SECURITY_UPDATES=true
8配置环境变量 (两种方式 root 家下,或是oracle用户都可以)
[oracle@localhost ~]#vi .bash_profile //修改配置文件(注意切换用户)
修改后立即生效source .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startupprograms
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/db_1
export ORACLE_SID=orcl
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
exportCLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
9.登录oracle用户,执行安装
[root@SVR-29-152 database]# su oracle
[oracle@SVR-29-152 database]$ pwd
/gina/database
[oracle@SVR-29-152 database]$
[oracle@SVR-29-152 database]$ ^C
10.
[oracle@SVR-29-152 database]$ ./runInstaller -force -silent-noconfig -responseFile /gina/database/response/db_install.rsp
正在启动 Oracle Universal Installer...
检查临时空间: 必须大于 500 MB。 实际为 256178MB 通过
检查交换空间: 必须大于 150 MB。 实际为 8180MB 通过
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2017-12-29_10-47-07AM. 请稍候...[oracle@SVR-29-152database]$ [WARNING] [INS-32016] 所选 Oracle 主目录包含目录或文件。
操作: 要从空的 Oracle 主目录开始, 请删除其内容或选择其他位置。
[FATAL] [INS-32035] 无法创建新的主产品清单目录:/u01/app/oracle/oraInventory。
原因: 提供的主产品清单位置不为空。
操作: 请为产品清单提供其他位置,或者清除当前位置。
[WARNING] [INS-32055] 主产品清单位于Oracle 基目录中。
操作: Oracle 建议将此主产品清单放置在Oracle 基目录之外的位置中。
此会话的日志当前已保存为: /tmp/OraInstall2017-12-29_10-47-07AM/installActions2017-12-29_10-47-07AM.log。如果要保留此日志,Oracle 建议将它从临时位置中转移。
Oracle Database 12c 的 安装 已成功。
请查看'/u01/app/oracle/oraInventory/logs/silentInstall2017-12-29_10-39-00AM.log' 以获取详细资料。
以 root 用户的身份执行以下脚本:
1./u01/app/oracle/oraInventory/orainstRoot.sh
2./u01/app/oracle/product/12.2.0.1/db_1/root.sh
Successfully Setup Software.
[oracle@SVR-29-152 database]$ su #
密码:
[root@SVR-29-152 database]#/u01/app/oracle/oraInventory/orainstRoot.sh
更改权限/u01/app/oracle/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。
更改组名/u01/app/oracle/oraInventory 到 oinstall.
脚本的执行已完成。
[root@SVR-29-152 database]#/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_SVR-29-152_2017-12-29_10-59-23-491366695.logfor the output of root script
[root@SVR-29-152 database]#
[oracle@SVR-29-152database]$ ls $PWD/response/*------绝对路径
/gina/database/response/dbca.rsp /gina/database/response/db_install.rsp.bak
/gina/database/response/db_install.rsp /gina/database/response/netca.rsp
[oracle@SVR-29-152database]$ ls response/*
response/dbca.rsp response/db_install.rsp.bak
response/db_install.rsp response/netca.rsp
安装报错:
[FATAL] PRVF-0002 : 无法检索本地节点名
解决方案:
11
[root@SVR-29-152 database]# vi /etc/hosts
写入以下内容:
127.0.0.1 SVR-29-152 //实际的服务器名称 uname –a 查看服务器名称
10.1 创建数据库
修改配置文件response/dbca.rsp,静默建立新库
[FATAL] [INS-10105] 指定的响应文件/gina/database/response/db_install.rsp无效。
原因: 响应文件在语法上不正确。在响应文件中指定了意外的变量或未指定预期的变量。
解决办法:参数配置错误
[oracle@SVR-29-152 response]$ cat /gina/database/response/dbca.rsp | grep -Ev '^#|^$'
查找文件所在位置
[root@SVR-29-151 response]# find / type f -name dbca.rsp
/gina/database/response/dbca.rsp
/u01/app/oracle/product/12.2.0.1/db_1/assistants/dbca/dbca.rsp
12
[oracle@SVR-29-151 response]$ vi /u01/app/oracle/product/12.2.0.1/db_1/assistants/dbca/dbca.rsp
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0
gdbName=orcl
sid=orcl
databaseConfigType=SI
RACOneNodeServiceName=
policyManaged=false
createServerPool=false
serverPoolName=
cardinality=
force=false
pqPoolName=
pqCardinality=
createAsContainerDatabase=true
numberOfPDBs=1
pdbName=orclpdb
useLocalUndoForPDBs=true
pdbAdminPassword=
nodelist=
templateName=/u01/app/oracle/product/12.2.0.1/db_1/assistants/dbca/templates/General_Purpose.dbc
sysPassword=
systemPassword=
serviceUserPassword=
emConfiguration=
emExpressPort=5500
runCVUChecks=false
dbsnmpPassword=
omsHost=
omsPort=0
emUser=
emPassword=
dvConfiguration=false
dvUserName=
dvUserPassword=
dvAccountManagerName=
dvAccountManagerPassword=
olsConfiguration=false
datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates/
datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/
recoveryAreaDestination={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}
storageType=FS
diskGroupName=
asmsnmpPassword=
recoveryGroupName=
characterSet=AL32UTF8
nationalCharacterSet=AL16UTF16
registerWithDirService=false
dirServiceUserName=
dirServicePassword=
walletPassword=
listeners=LISTENER
variablesFile=
variables=DB_UNIQUE_NAME=orcl,ORACLE_BASE=/u01/app/oracle,PDB_NAME=,DB_NAME=orcl,ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1,SID=orcl
initParams=undo_tablespace=UNDOTBS1,memory_target=1796MB,processes=300,db_recovery_file_dest_size=2780MB,nls_language=AMERICAN,dispatchers=(PROTOCOL=TCP) (SERVICE=cdb1XDB),db_recovery_file_dest={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME},db_block_size=8192BYTES,diagnostic_dest={ORACLE_BASE},audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,nls_territory=AMERICA,local_listener=LISTENER_ORCL,compatible=12.2.0.1,control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl", "{ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}/control02.ctl"),db_name=cdb1,audit_trail=db,remote_login_passwordfile=EXCLUSIVE,open_cursors=300
sampleSchema=false
memoryPercentage=40
databaseType=MULTIPURPOSE
automaticMemoryManagement=false
totalMemory=0
[oracle@SVR-29-152 response]$
[root@SVR-29-151 response]# find / type f -name netca.rsp
/gina/database/response/netca.rsp
/u01/app/oracle/product/12.2.0.1/db_1/rdbms/admin/cdb_cloud/rsp/netca.rsp
/u01/app/oracle/product/12.2.0.1/db_1/assistants/netca/netca.rsp
13
[oracle@SVR-29-151 response]$ netca /silent /responsefile /u01/app/oracle/product/12.2.0.1/db_1/assistants/netca/netca.rsp
正在对命令行参数进行语法分析:
参数"silent" = true
参数"responsefile" = /u01/app/oracle/product/12.2.0.1/db_1/assistants/netca/netca.rsp
完成对命令行参数进行语法分析。
Oracle Net Services 配置:
完成概要文件配置。
监听程序 "LISTENER" 已存在。
成功完成 Oracle Net Services 配置。退出代码是0
14创建数据库
lsnrctl status 查看监听状态
lsnrctl start 开启监听
15 创建数据库
[oracle@SVR-29-151 response]$ dbca -silent -createDatabase -responseFile /u01/app/oracle/product/12.2.0.1/db_1/assistants/dbca/dbca.rsp
输入 SYS 用户口令: 123456789
输入 SYSTEM 用户口令:
输入 PDBADMIN 用户口令:
报错处理:
[FATAL] [DBT-11211] 当物理内存总量大于 4GB 时, 不允许使用自动内存管理选项。
原因: 当前的物理内存总量为 7GB。
将automaticMemoryManagement=true 改为FALSE
将memory_target=796MB 扩大1796MB
a. Oracle 建议, 输入的口令长度不应少于 8 个字符, 至少包含 1 个大写字符, 1 个小写字符和 1 个数字 [0-9]。
b. 输入的口令是一个关键字, Oracle 建议不要将其用作口令
操作: 指定强口令。如果需要, 请参阅 Oracle 文档以了解相关指南。
[WARNING] [DBT-06801] 指定的快速恢复区大小 (2,780 MB) 小于建议值。
原因: 快速恢复区大小至少应为数据库大小 (3,571 MB) 的三倍。
操作: 指定的快速恢复区大小至少应为数据库大小的三倍。
复制数据库文件
1%已完成
13%已完成
25%已完成
正在创建并启动 Oracle 实例
26%已完成
30%已完成
31%已完成
35%已完成
38%已完成
39%已完成
41%已完成
正在进行数据库创建
42%已完成
43%已完成
44%已完成
46%已完成
49%已完成
50%已完成
正在创建插接式数据库
55%已完成
75%已完成
执行配置后操作
100%已完成
有关详细信息, 请参阅日志文件 "/u01/app/oracle/cfgtoollogs/dbca/cdb1/cdb1.log"。
[oracle@SVR-29-152 response]$
[oracle@SVR-29-151 response]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Wed Jan 3 18:14:18 2018
Copyright (c) 1982, 2016, Oracle. All rights reserved.
???:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
SQL> select status from v$instance;
STATUS
------------
OPEN
SQL>