Oracle 12c 静默安装(带注释)

前端之家收集整理的这篇文章主要介绍了Oracle 12c 静默安装(带注释)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Oracle静默安装

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系型数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

环境配置

1、安装centos6.5操作系统

物理内存不少于1.5G

硬盘可以空间不少于5G

swap分区空间不少于2G

支持256色以上显卡

cpu主频不小于550mHZ

2.下载安装包linuxx64_12201_database.zip的oracle12c第二版本

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle12c-linux-12201-3608234.html

3.配置hosts文件

格式:ip 主机名

4.配置yum源

使用默认yum源即可

yum clean all && yum makecache

5.关闭selinux&iptables

Vim /etc/selinux/config

SELINUX=disabled

/etc/init.d/iptables stop

chkconfig iptables off

安装部署

1、安装oracle依赖包关系

yuminstall-ybinutilscompat-libcap1compat-libstdc++-33compat-libstdc++-33.i686glibcglibc.i686glibc-develglibc-devel.i686kshlibaiolibaio.i686libaio-devellibaio-devel.i686libX11libX11.i686libXaulibXau.i686libXilibXi.i686libXtstlibXtst.i686libgcclibgcc.i686libstdc++libstdc++.i686libstdc++-devellibstdc++-devel.i686libxcblibxcb.i686makenfs-utilsnet-toolssmartmontoolssysstatunixODBCunixODBC-develgccgcc-c++libXextlibXext.i686zlib-develzlib-devel.i686


2、修改内核参数

内核参数调整体现在/etc/sysctl.conf文件中。主要包括对内存调度、端口范围、打开文件数、I/O请求等相关的一些设置,相关数值不可低于安装要求。修改完毕后通过执行sysctl–p命令使新配置立即生效。

vim/etc/sysctl.conf请根据自己实际情况修改,内核参数如下
fs.file-max=6815744
kernel.sem=25032000100128
kernel.shmmni=4096
kernel.shmall=1073741824
kernel.shmmax=4398046511104
kernel.panic_on_oops=1
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576
net.ipv4.conf.all.rp_filter=2
net.ipv4.conf.default.rp_filter=2
fs.aio-max-nr=1048576
net.ipv4.ip_local_port_range=900065500


各参数详解:

fs.aio-max-nr:

此参数限制并发未完成的请求,应该设置避免I/O子系统故障。

fs.file-max:

该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件数量

kernel.shmall:

该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求.

kernel.shmmax:

是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行识别,会有一些影响),但是其他时候都不会有影响。

官方建议值:

32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。

64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,例如,如果为12GB物理内存,可取12*1024*1024*1024-1=12884901887。

kernel.shmmni:

该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。

kernel.sem:

以kernel.sem = 250 32000 100 128为例:

250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。

32000是参数semmns的值,表示系统内可允许的信号量最大数目。

100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量

128是参数semmni的值,表示系统信号量集合总数。

net.ipv4.ip_local_port_range:

表示应用程序可使用的IPv4端口范围。

net.core.rmem_default:

表示套接字接收缓冲区大小的缺省值。

net.core.rmem_max:

表示套接字接收缓冲区大小的最大值。

net.core.wmem_default:

表示套接字发送缓冲区大小的缺省值。

net.core.wmem_max:

表示套接字发送缓冲区大小的最大值。

终端执行:

/sbin/sysctl -p 刷新内核参数表

3、修改内核限制参数

vim/etc/security/limits.d/20-nproc.conf
#Defaultlimitfornumberofuser'sprocessestoprevent
#accidentalforkbombs.
#Seerhbz#432903forreasoning.

*softnproc4096
rootsoftnprocunlimited
oraclesoftnofile1024
oraclehardnofile65536
oraclesoftnproc16384
oraclehardnproc16384
oraclesoftstack10240
oraclehardstack32768
oraclehardmemlock134217728
oraclesoftmemlock134217728

第1行是设置进程数软限制;

第2行是设置进程数硬限制;

第3行是设置文件数软限制;

第4行是设置文件数硬限制

4、创建oracle帐号和组

[root@Oracle~]#unziplinuxx64_12201_database.zip^C
[root@Oracle~]#groupadd-g54321oinstall
[root@Oracle~]#groupadd-g54322dba
[root@Oracle~]#groupadd-g54323oper
[root@Oracle~]#useradd-u54321-goinstall-Gdba,operoracle
[root@Oracle~]#passwdoracle


5、创建相关数据库目录

mkdir/u01
mkdir/u01/app
mkdir-p/u01/app/oracle/oradata//存放数据库的数据目录
mkdir-p/u01/app/oracle/oradata_back//存放数据库备份文件
chmod-R775/u01/app//权限
chown-Roracle:oinstall/u01//属主属组


6、修改oracle环境变量

vim/etc/proile(文件最后加入)
#.bash_profile

#Getthealiasesandfunctions
if[-f~/.bashrc];then
.~/.bashrc
fi

#Userspecificenvironmentandstartupprograms

PATH=$PATH:$HOME/.local/bin:$HOME/bin

exportPATH
#OracleSettings
exportTMP=/tmp#日志存放位置
exportTMPDIR=$TMP

exportORACLE_HOSTNAME=Oracle#主机名
exportORACLE_UNQNAME=cdb1#库名称
exportORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/db_1
exportORACLE_SID=cdb1#库名称

exportPATH=/usr/sbin:$PATH
exportPATH=$ORACLE_HOME/bin:$PATH

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
exportCLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
exportPATH=/usr/sbin:$PATH
exportPATH=$ORACLE_HOME/bin:$PATH

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
exportCLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

7、解压oracle二进制包至/opt目录下 (解压的目录默认名为database)

unziplinuxx64_12201_database.zip/u01
chown-Roracle:oinstall/u01

8修改配置文件

进入response目录下,编辑应答文件

配置文件设置--->http://blog.chinaunix.net/uid-23886490-id-3565908.html

vim/u01/database/response/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0
oracle.install.option=INSTALL_DB_SWONLY//30行安装类型,只装数据库软件
UNIX_GROUP_NAME=oinstall//35行主机名称(hostname查询)
INVENTORY_LOCATION=/u01/app/oracle/oraInventory//42行INVENTORY目录(不填就是默认值)
ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1//46行oracle目录
ORACLE_BASE=/u01/app/oracle//51行
oracle.install.db.InstallEdition=EE//63行oracle版本
oracle.install.db.OSDBA_GROUP=dba//80行
oracle.install.db.OSOPER_GROUP=oper//86行自定义安装,否,使用默认组件
oracle.install.db.OSBACKUPDBA_GROUP=dba//91行
oracle.install.db.OSDGDBA_GROUP=dba//96行
oracle.install.db.OSKMDBA_GROUP=dba//101行
oracle.install.db.OSRACDBA_GROUP=dba//106行
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE//180行数据库类型
oracle.install.db.config.starterdb.globalDBName=cdb1//185行
oracle.install.db.config.starterdb.SID=cdb1//190行
oracle.install.db.config.starterdb.characterSet=AL32UTF8//216行
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false//384行
DECLINE_SECURITY_UPDATES=true//398行//设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)


9、开始安装oracle 提醒:切换至oracle用户

cd/u01/database
./runInstaller-force-silent-noconfig-responseFile/u01/database/response/db_install.rsp

StartingOracleUniversalInstaller...

CheckingTempspace:mustbegreaterthan500MB.Actual11715MBPassed
Checkingswapspace:mustbegreaterthan150MB.Actual2047MBPassed
PreparingtolaunchOracleUniversalInstallerfrom/tmp/OraInstall2017-04-15_08-36-48PM.P[oracle@Oracledatabase]$[WARNING][INS-32055]TheCentralInventoryislocatedintheOraclebase.
ACTION:OraclerecommendsplacingthisCentralInventoryinalocationoutsidetheOraclebasedirectory.
Youcanfindthelogofthisinstallsessionat:
/u01/app/oracle/oraInventory/logs/installActions2017-04-15_08-36-48PM.log#日志位置
TheinstallationofOracleDatabase12cwassuccessful.
Pleasecheck'/u01/app/oracle/oraInventory/logs/silentInstall2017-04-15_08-36-48PM.log'formoredetails.

可以边装边查看日志

tail–f/u01/app/oracle/oraInventory/logs/installActions2017-04-15_08-36-48PM.log


报错:

找不到主机名

Hostname查看一下本机的主机名称是否和/etc/host&/home/oracle/.bash_profile环境变量里的主机名一致

退出oracle用户的时候会显示一下信息报告脚本位置

Asarootuser,executethefollowingscript(s):
1./u01/app/oracle/oraInventory/orainstRoot.sh
2./u01/app/oracle/product/12.2.0.1/db_1/root.sh


SuccessfullySetupSoftware.

报错:

此脚本必须为跟,必须是使用跟root用户来执行

10,执行脚本 提醒:切换至oracle用户

执行两个脚本:注意是用root用户执行的

[root@Oracle~]#/u01/app/oracle/oraInventory/orainstRoot.sh
Changingpermissionsof/u01/app/oracle/oraInventory.
Addingread,writepermissionsforgroup.
Removingread,write,executepermissionsforworld.

Changinggroupnameof/u01/app/oracle/oraInventorytooinstall.
Theexecutionofthescriptiscomplete.

[root@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_Oracle_2017-04-15_20-56-27-813321685.logfortheoutputofrootscript

11,静默配置监听 提醒:切换至oracle用户

netca-silent-responsefile/u01/database/response/netca.rsp

备注: netca命令是oracle提供的命令,如果显示找不到命令请检查环境变量

12,通过netstat -tlnp 命令查看监听地址 提醒:切换至oracle用户

tcp00:::1521:::*LISTEN5477/tnslsnr

13,静默建立新库提醒:切换至oracle用户 (如果一下各参数在/u01/database/response/dbca.rsp文件中 重复出现,可以全改)

修改/u01/database/response/dbca.rsp,设置如下:

vim/u01/database/response/dbca.rsp
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0//21行不可更改
gdbName=cdb1//32
sid=cdb1//42
databaseConfigType=SI//52
policyManaged=false//74
createServerPool=false//88
force=false//127
createAsContainerDatabase=true//163
numberOfPDBs=1//172
pdbName=cdb1pdb//182
useLocalUndoForPDBs=true//192
templateName=/u01/app/oracle/product/12.2.0.1/db_1/assistants/dbca/templates/General_Purpose.dbc//223
emExpressPort=5500//273
runCVUChecks=false//284
omsPort=0//313
dvConfiguration=false//341
olsConfiguration=false//391
datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates///401
datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}///411
recoveryAreaDestination={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}//421
storageType=FS//431
characterSet=AL32UTF8//468字符集创建库之后不可更改
nationalCharacterSet=AL16UTF16//478
registerWithDirService=false//488
listeners=LISTENER//526
variables=DB_UNIQUE_NAME=cdb1,ORACLE_BASE=/u01/app/oracle,PDB_NAME=,DB_NAME=cdb1,ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1,SID=cdb1//546

initParams=undo_tablespace=UNDOTBS1,memory_target=796MB,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_CDB1,compatible=12.2.0,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//555

sampleSchema=false//565
memoryPercentage=40//574
databaseType=MULTIPURPOSE//584
automaticMemoryManagement=true//594
totalMemory=0//604


14,静默建库命令如下 (dbca是oracle命令,如果提示命令找不到,检查环境变量)

cd/u01/database
[oracle@oracleresponse]$dbca-silent-createDatabase-responseFile/u01/database/response/dbca.rsp

[WARNING][DBT-06801]SpecifiedFastRecoveryAreasize(2,780MB)islessthantherecommendedvalue.
CAUSE:FastRecoveryAreasizeshouldatleastbethreetimesthedatabasesize(2,730MB).
ACTION:SpecifyFastRecoveryAreaSizetobeatleastthreetimesthedatabasesize.
[WARNING][DBT-11209]Currentavailablephysicalmemoryislessthantherequiredphysicalmemory(796MB)forcreatingthedatabase.
EnterSYSuserpassword:#超级管理员密码

EnterSYSTEMuserpassword:#管理员密码

EnterPDBADMINUserPassword:#库密码

[WARNING][DBT-06208]The'SYS'passwordentereddoesnotconformtotheOraclerecommendedstandards.
CAUSE:
a.Oraclerecommendsthatthepasswordenteredshouldbeatleast8charactersinlength,containatleast1uppercasecharacter,1lowercasecharacterand1digit[0-9].
b.ThepasswordenteredisakeywordthatOracledoesnotrecommendtobeusedaspassword
ACTION:Specifyastrongpassword.IfrequiredreferOracledocumentationforguidelines.
[WARNING][DBT-06208]The'SYSTEM'passwordentereddoesnotconformtotheOraclerecommendedstandards.
CAUSE:
a.Oraclerecommendsthatthepasswordenteredshouldbeatleast8charactersinlength,1lowercasecharacterand1digit[0-9].
b.ThepasswordenteredisakeywordthatOracledoesnotrecommendtobeusedaspassword
ACTION:Specifyastrongpassword.IfrequiredreferOracledocumentationforguidelines.
[WARNING][DBT-06208]The'PDBADMIN'passwordentereddoesnotconformtotheOraclerecommendedstandards.
CAUSE:
a.Oraclerecommendsthatthepasswordenteredshouldbeatleast8charactersinlength,1lowercasecharacterand1digit[0-9].
b.ThepasswordenteredisakeywordthatOracledoesnotrecommendtobeusedaspassword
ACTION:Specifyastrongpassword.IfrequiredreferOracledocumentationforguidelines.
[WARNING][DBT-06801]SpecifiedFastRecoveryAreasize(2,780MB)islessthantherecommendedvalue.
CAUSE:FastRecoveryAreasizeshouldatleastbethreetimesthedatabasesize(3,571MB).
ACTION:SpecifyFastRecoveryAreaSizetobeatleastthreetimesthedatabasesize.
Copyingdatabasefiles
1%complete
13%complete
25%complete
CreatingandstartingOracleinstance
26%complete
30%complete
31%complete
35%complete
38%complete
39%complete
41%complete
CompletingDatabaseCreation
42%complete
43%complete
44%complete
46%complete
49%complete
50%complete
CreatingPluggableDatabases
55%complete
75%complete
ExecutingPostConfigurationActions
100%complete
Lookatthelogfile"/u01/app/oracle/cfgtoollogs/dbca/cdb1/cdb1.log"forfurtherdetails.

数据库信息:

全局数据库名:

系统标识符 (SID): 如有相关显示 则表明成功

15,检查oracle进程状态

ps-ef|grepora_|grep-vgrep
lsnrctlstatus(lsnrctl是oracle命令)

16登录数据库 提醒:切换至oracle用户

[oracle@Oracleresponse]$sqlplus/assysdba
sql*Plus:Release12.2.0.1.0ProductiononSatApr1523:07:082017

Copyright(c)1982,2016,Oracle.Allrightsreserved.


Connectedto:
OracleDatabase12cEnterpriseEditionRelease12.2.0.1.0-64bitProduction

sql>selectopen_modefromv$database;

OPEN_MODE
--------------------
READWRITE

sql>selectstatusfromv$instance;

STATUS
------------
OPEN

Oracle库操作

sqlplus/assysdba//登录数据库
alterusersysidentifiedbyoracle;//改sys超级管理员密码
alterusersystemidentifiedbyoracle;//改system管理员密码
exit//退出数据库
sqlplussys/oracleassysdba//使用sys超级管理员登录数据库
startup//启动数据库


Selectnamefromv$database;//查看数据库
Shutdownabort//关闭数据库


Connsystem/oracle//切换用户conn后面直接跟用户名和密码就可以


17修改oracle启动配置文件

@H_628_502@完成oracle11g数据库的安装后,相关服务器会自动启用,但并不表示下次开机后oracle服务器仍然可用。下面将介绍oracle的基本服务组件,以及如何编写服务脚本来控制oracle数据库系统的自动运行。

@H_628_502@根据上面的安装过程,oracle11g的数据库软件将安装在变量ORACLE_HOME所北定的位置。例如/opt/oracle/product/11.2.0/dbhome_1/,而各种服务器组件程序(也包括sqlplus命令)正是位于其中的bin子目录下。

@H_628_502@Oracle11g数据库的基本服务组件如下所述:(注:oracle服务组件最好以oracle用户身份运行如:su - oracle)

lsnrctl:监听器程序,用来提供数据库访问,默认监听TCP 1521端口。

dbstart、dbshut:数据库控制程序,用来启动、停止数据库实例。

emctl:管理器控制工具,用来控制OEM平台的开启与关闭,OEM平台通过1158端口提供HTTPS访问,5520端口提供TCP访问。

为了方便执行oracle11g的服务组件程序,建议对所有用户的环境配置作进一步的优化调整、补充PATH路径、oracle终端类型等变量设置。除此以外,还应该修改/etc/oratab配置文件,以便运行dbstart时自动启用数据库实例。

$vim /etc/oratab

racl:/u01/app/oracle/product/11.2.0/db_1:Y //把“N”改成“Y”

这样就可以通过dbstart 启动此实例,也可以通过dbshut关闭此实例了。

$ dbshut /u01/app/oracle/product/11.2.0/db_1/

Processing Database instance "hello": log file /u01/app/oracle/product/11.2.0/db_1/shutdown.log

此时所有oracle的进程关闭,监听器也停止。

$dbstart /u01/app/oracle/product/11.2.0/db_1/

Processing Database instance "hello": log file /u01/app/oracle/product/11.2.0/db_1/startup.log

此时监听器工作,hello实例运行,再次查看监听器状态。

猜你在找的Oracle相关文章