Linux平台下OracleSilentInstallations(静默安装),一直都没有尝试过用这种方法来装数据库。因为有高级的工具,就没有必要在来用这种方法了,Oracle的界面还是比较方便,而且我们还有Xmanager工具,所以在linux下装软件,还是很方便的。
因此也就没有太在意这种方法,昨天有网友问我了,就整理下吧。自己也顺便了解一下。毕竟没有实践过,就没有发言权。
贴了很多安装的Log,所以很长,其实安装过程很简单。
相关连接:
linux平台下oracle数据库安装
http://blog.youkuaiyun.com/tianlesoftware/archive/2009/10/24/4718218.aspx
linux下手工新建数据库
http://blog.youkuaiyun.com/tianlesoftware/archive/2009/10/17/4680213.aspx
Oracle数据库静默安装实践
http://www.oracle.com/technology/global/cn/pub/articles/10gdba/wininst_otn.html
实验平台:redhat4update7+oracle10g
1.下载软件
10G和11G的官网下载地址:
http://www.oracle.com/technology/software/products/database/index.html
2.检查相关包:
用命令:
rpm-qbinutilscompat-dbcontrol-centergccgcc-c++glibcglibc-common/
gnome-libslibstdc++libstdc++-develmakepdkshsysstatxscreensaverlibaioopenmotif21
哪些包没有打,把那些包打上就可以了。如果在安装系统的时候把所有的包都安装上的话,就不用做这一步了。
3.设置内核参数(在/etc/sysctl.conf文件中加入下列行)
kernel.shmall=2097152
kernel.shmmax=2147483648
kernel.shmmni=4096
#semaphores:semmsl,semmns,semopm,semmni
kernel.sem=25032000100128
fs.file-max=65536
net.ipv4.ip_local_port_range=102465000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
--然后运行下面命令,使上面的设置生效
#/sbin/sysctl-p
kernel.shmall为物理内存除以pagesize;
kernel.shmmax为物理内存的一半;
fs.file-max为512乘以processes(如128个process则为65536);
net.ipv4.ip_local_port_range/net.core.rmem_default/net.core.rmem_max三个参数设置和官方文档不一样,这是根据metalink343431.1最新要求更改的;
net.ipv4.tcp_rmem/net.ipv4.tcp_wmem两个参数一般情况下无需设置,除非是在Dataguard/Streams等需很多网络传输情况下;
其它参数根据官方文档要求设置即可.
具体内容参考我的blog:
Linux内核参数及Oracle相关参数调整
http://blog.youkuaiyun.com/tianlesoftware/archive/2009/10/15/4668741.aspx
4.因为所有的进程都是以Oracle身份来运行的,因此需要定义Oracle用户能够使用的系统资源数量。
vi/etc/sysconfig/limits.conf
--使用HugePage内存技术,添加下面2行
Oraclesoftmemlock5242880
Oraclehardmemlock524280
--进程句柄数量
oraclesoftnproc2047
oraclehardnproc16384
--文件句柄
oraclesoftnofile65536
oraclehardnofile65536
将下面一行添加到/etc/pam.d/login文件中:
sessionrequired/lib/security/pam_limits.so
5.禁用SELINUX,编辑/etc/selinux/config,将SELINUX设置为SELINUX=disabled
6.添加用户组和用户,并为oracle用户设置密码
#groupaddoinstall
#groupadddba
#useradd-goinstall-Gdbaoracle
-g后面只有一个参数,也就是指定用户属于该组
-G后面有好几个参数,也就是指定用户属于后面的多个组
-ginitial_group:group名称或以数字来做为使用者登入起始群组(group)。群组名须为现有存在的名称。群组数字也须为现有存在的群组。预设的群组数字为1。
-Ggroup,[...]定义此使用者为此一堆roups的成员。不可以夹杂空白字元。群组名同-g选项的限制.定义值为使用者的起始群组。
若存在oracle用户,则用以下语句来修改用户组:
###changeusergroupattribute
usermod-goinstall-Gdbaoracle
#passwdoracle
7.创建Oracle安装文件夹
mkdir-p/u01/app/oracle/product/10.2.0/db_1
chown-Roracle.oinstall/u01
chmod-R777/u01
8.设置oracle用户的环境变量
#vi/home/oracle/.bash_profile
--将如下代码添加到.bash_profile文件中:
#OracleSettings
TMP=/tmp;exportTMP
TMPDIR=$TMP;exportTMPDIR
ORACLE_BASE=/u01/app/oracle;exportORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;exportORACLE_HOME
ORACLE_SID=orcl;exportORACLE_SID
ORACLE_TERM=xterm;exportORACLE_TERM
PATH=/usr/sbin:$PATH;exportPATH
PATH=$ORACLE_HOME/bin:$PATH;exportPATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;exportLD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;exportCLASSPATH
if[$USER="oracle"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
fi
9.修改静默安装的参数文件
在安装软件install/response目录下有如下文件:custom.rsp,dbca.rsp,emca.rsp,enterprise.rsp,netca.rsp,standard.rsp。看到文件的名字就知道他的作用了。我们选择enterprise.rsp,修改相关参数后即可安装。
要修改的地方如下:
#------------------------------------------------------------------------------
#Name:ORACLE_HOME
#Datatype:String
#Description:CompletepathoftheOracleHome.
#Example:ORACLE_HOME="/product/10.2.0/db_1"
#------------------------------------------------------------------------------
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
#------------------------------------------------------------------------------
#Name:ORACLE_HOME_NAME
#Datatype:String
#Description:OracleHomeName.Usedincreatingfoldersandservices.
#Example:ORACLE_HOME_NAME="OraDbHome1"
#------------------------------------------------------------------------------
ORACLE_HOME_NAME=ORACLE_HOME
#------------------------------------------------------------------------------
#Name:n_configurationOption
#Datatype:Number
#Description:Determinesthetypeofconfigurationtoperformforthesession.
#
#Thisentryshouldbespecifiedasannumber.Thevalidvalues
#thatyoucanusemaptothefollowingoptions:
#1-CreateaDatabase
#2-ConfigureanASMinstance
#3-InstallSoftwareOnly
#
#Example:n_configurationOption=1
#------------------------------------------------------------------------------
n_configurationOption=1
#------------------------------------------------------------------------------
#Name:n_dbType
#Datatype:Number
#Description:Determinesthetypeofdatabasetocreate.
#
#Thisentryshouldbespecifiedasanumber.Thevalidvalues
#youcanspecifymaptothefollowingoptions:
#1-GeneralPurposeStarterDatabase
#2-TransactionProcessingStarterDatabase
#3-DataWarehouseStarterDatabase
#4-AdvancedConfiguration
#
#Pre-requsitesforsettingthisvariable:
#n_configurationOption=1
#n_performUpgrade=0
#
#Example:n_dbType=1
#------------------------------------------------------------------------------
n_dbType=1
#------------------------------------------------------------------------------
#Name:s_responseFileName
#Datatype:String
#Description:StoresthelocationoftheDBCAresponsefileforanAdvanced
#Configuration.
#
#IfyouchosetoperformasilentAdvancedConfigurationby
#specifyingn_dbType=4above,thenyouneedtospecifyanumber
#ofadditionalAdvancedConfigurationparametersinaresponse
#filethatisusedbytheDBCA.Atemplateofthisresponsefile
#canbefoundontheinstallationmediainresponse/dbca.rsp.Use
#thisfiletocompletelycustomizethesilentdatabase
#configuration,andsets_responseFileNametothelocationof
#thisresponsefile.
#
#Pre-requsitesforsettingthisvariable:
#n_configurationOption=1
#n_performUpgrade=0
#n_dbType=4
#
#Example:oracle.assistants.server:s_responseFileName="/tmp/dbca.rsp"
#------------------------------------------------------------------------------
oracle.assistants.server:s_responseFileName=/mnt/10201_database_linux32_FromOracle/database/response/dbca.rsp
#------------------------------------------------------------------------------
#Name:s_globalDBName
#Datatype:String
#Description:TheStarterDatabaseGlobalDatabaseName
#
#Pre-requsitesforsettingthisvariable:
#n_configurationOption=1
#n_performUpgrade=0
#n_dbType=1,2,or3
#
#Example:s_globalDBName="mydb.mydomain.com"
#------------------------------------------------------------------------------
s_globalDBName=orcl
#------------------------------------------------------------------------------
#Name:s_dbSid
#Datatype:String
#Description:TheStarterDatabaseSID.
#
#Pre-requsitesforsettingthisvariable:
#n_configurationOption=1
#n_performUpgrade=0
#n_dbType=1,2,or3
#
#Example:s_dbSid="orcl"
#------------------------------------------------------------------------------
s_dbSid=orcl
#------------------------------------------------------------------------------
#Name:n_dbStorageType
#Datatype:Number
#Description:Determinesthetypeofstoragetouseforthethedatabase.
#
#Thisentryshouldbespecifiedasannumber.Thevalidvalues
#thatyoucanusemaptothefollowingoptions:
#1-Placethedatafilesonafilesystem
#2-UseAutomaticStorageManagement(ASM)
#3-Placethedatafilesonrawpartitions
#
#Pre-requsitesforsettingthisvariable:
#n_configurationOption=1
#n_performUpgrade=0
#n_dbType=1,2,or3
#
#------------------------------------------------------------------------------
n_dbStorageType=1
#------------------------------------------------------------------------------
#Name:s_dlgRBORecoveryLocation
#Datatype:String
#Description:Ifusingafilesystemforstoringbackupandrecoveryfiles,
#thisentryisusedforspecifyingthelocationonthefile
#systemforstoringthesefiles..
#
#Pre-requsitesforsettingthisvariable:
#n_configurationOption=1
#n_performUpgrade=0
#n_dbType=1,2,or3
#b_enableAutoBackup=true
#b_useFileSystemForRecovery=true
#
#Example:s_dlgRBORecoveryLocation="/u01/app/oracle/flash_recovery_area"
#------------------------------------------------------------------------------
s_dlgRBORecoveryLocation="/u01/app/oracle/flash_recovery_area"
#------------------------------------------------------------------------------
#Name:s_dlgRBOUsername
#Datatype:String
#Description:Regardlessofthetypeofstorageyouchooseforbackupand
#recovery,ifyoudecidetoenableautomatedbackups,ajobwill
#bescheduledtorundailyat2:00AMtobackupyourdatabase.
#
#Thisjobwillrunastheoperatingsystemuserthatyouspecify
#usingthisentry.
#
#Pre-requsitesforsettingthisvariable:
#n_configurationOption=1
#n_performUpgrade=0
#n_dbType=1,2,or3
#b_enableAutoBackup=true
#
#Example:s_dlgRBOUsername="oracle"
#------------------------------------------------------------------------------
s_dlgRBOUsername=oracle
#------------------------------------------------------------------------------
#Name:s_superAdminSamePasswd
#Datatype:String
#Description:Storesthepasswordtobeusedforallaccounts.
#
#NOTE:Inordertoperformthesilentinstallsuccessfully,you
#mustspecifythesamepasswordinbothvariables:
#-s_superAdminSamePasswd
#-s_superAdminSamePasswdAgain
#
#Pre-requsitesforsettingthisvariable:
#n_configurationOption=1
#n_performUpgrade=0
#n_dbType=1,2,or3
#b_useSamePassword=true
#
#------------------------------------------------------------------------------
s_superAdminSamePasswd=admin
#------------------------------------------------------------------------------
#Name:s_superAdminSamePasswdAgain
#Datatype:String
#Description:Storesthepasswordtobeusedforallaccounts.
#
#NOTE:Inordertoperformthesilentinstallsuccessfully,you
#mustspecifythesamepasswordinbothvariables:
#-s_superAdminSamePasswd
#-s_superAdminSamePasswdAgain
#
#Pre-requsitesforsettingthisvariable:
#n_configurationOption=1
#n_performUpgrade=0
#n_dbType=1,2,or3
#b_useSamePassword=true
#
#------------------------------------------------------------------------------
s_superAdminSamePasswdAgain=admin
#------------------------------------------------------------------------------
#Name:s_superAdminSamePasswd
#Datatype:String
#Description:Storesthepasswordtobeusedforeachofthedatabaseschemas
#SYS,SYSTEM,SYSMAN,andDBSNMP.
#
#NOTE:Inordertoperformthesilentinstallsuccessfully,you
#mustspecifythesamepasswordsforeachschemausingboth:
#-sl_superAdminSamePasswds
#-sl_superAdminSamePasswdsAgain
#
#Pre-requsitesforsettingthisvariable:
#n_configurationOption=1
#n_performUpgrade=0
#n_dbType=1,2,or3
#b_useSamePassword=false
#
#Example:sl_superAdminPasswds={"<passwordforSYS>","<passwordforSYSTEM>","<passwordforSYSMAN>","<passwordforDBSNMP>"}
#------------------------------------------------------------------------------
sl_superAdminPasswds=admin
#------------------------------------------------------------------------------
#Name:s_superAdminSamePasswdAgain
#Datatype:String
#Description:Storesthepasswordtobeusedforeachofthedatabaseschemas
#SYS,SYSTEM,SYSMAN,andDBSNMP.
#
#NOTE:Inordertoperformthesilentinstallsuccessfully,you
#mustspecifythesamepasswordsforeachschemausingboth:
#-sl_superAdminSamePasswds
#-sl_superAdminSamePasswdsAgain
#
#Pre-requsitesforsettingthisvariable:
#n_configurationOption=1
#n_performUpgrade=0
#n_dbType=1,2,or3
#b_useSamePassword=false
#
#Example:sl_superAdminPasswdsAgain={"<passwordforSYS>","<passwordforSYSTEM>","<passwordforSYSMAN>","<passwordforDBSNMP>"}
#------------------------------------------------------------------------------
sl_superAdminPasswdsAgain=admin
其他的一切默认。
Linux挂载windows共享盘方法:
#servicenfsstart
#mount-ousername=administrator,password=pwd//10.85.10.80/RAC/mnt
10.开始安装
[oracle@Davedatabase]$pwd
/mnt/10201_database_linux32_FromOracle/database
[oracle@Davedatabase]$./runInstaller-silent-responseFile/mnt/10201_database_linux32_FromOracle/database/response/enterprise.rsp
................................................
.....半个小时之后....
................................................
Configurationassistant"OracleNetConfigurationAssistant"succeeded
Copyingdatabasefiles
1%complete
3%complete
11%complete
18%complete
26%complete
37%complete
CreatingandstartingOracleinstance
40%complete
45%complete
50%complete
55%complete
56%complete
60%complete
62%complete
CompletingDatabaseCreation
66%complete
70%complete
73%complete
85%complete
96%complete
100%complete
Lookatthelogfile"/u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/orcl/orcl.log"forfurtherdetails.
Configurationassistant"OracleDatabaseConfigurationAssistant"succeeded
INFO:Command=/u01/app/oracle/product/10.2.0/db_1/bin/isqlplusctlstart
iSQL*Plus10.2.0.1.0
Copyright(c)2003,2005,Oracle.Allrightsreserved.
StartingiSQL*Plus...
iSQL*Plusstarted.
Configurationassistant"iSQL*PlusConfigurationAssistant"succeeded
INFO:AllthetoolshavebeenexecutedSuccessfully
INFO:The"/u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/configToolAllCommands"scriptcontainsallcommandstobeexecutedbytheconfigurationassistants.ThisfilemaybeusedtoruntheconfigurationassistantsoutsideofOUI.Notethatyoumayhavetoupdatethisscriptwithpasswords(ifany)beforeexecutingthesame.
-----------------------------------------------------------------------------
WARNING:Anewinventoryhasbeencreatedinthissession.However,ithasnotyetbeenregisteredasthecentralinventoryofthissystem.
Toregisterthenewinventorypleaserunthescript'/u01/app/oracle/oraInventory/orainstRoot.sh'withrootprivileges.
Ifyoudonotregistertheinventory,youmaynotbeabletoupdateorpatchtheproductsyouinstalled.
11.运行root.sh脚本
[root@Dave~]#/u01/app/oracle/product/10.2.0/db_1/root.sh
RunningOracle10root.shscript...
Thefollowingenvironmentvariablesaresetas:
ORACLE_OWNER=oracle
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
Enterthefullpathnameofthelocalbindirectory:[/usr/local/bin]:
Copyingdbhometo/usr/local/bin...
Copyingoraenvto/usr/local/bin...
Copyingcoraenvto/usr/local/bin...
Creating/etc/oratabfile...
Entrieswillbeaddedtothe/etc/oratabfileasneededby
DatabaseConfigurationAssistantwhenadatabaseiscreated
Finishedrunninggenericpartofroot.shscript.
Nowproduct-specificrootactionswillbeperformed.
[root@Dave~]#
12.验证Oracle:
[root@Davehsperfdata_oracle]#ps-ef|grepsmon
oracle152331000:39?00:00:01ora_smon_orcl
root2229322126001:43pts/300:00:00grepsmon
[root@Davehsperfdata_oracle]#su-oracle
[oracle@Dave~]$exportORACLE_SID=orcl
[oracle@Dave~]$sqlplus/nolog
SQL*Plus:Release10.2.0.1.0-ProductiononWedMar301:43:322010
Copyright(c)1982,2005,Oracle.Allrightsreserved.
SQL>conn/assysdba
Connected.
SQL>select*fromv$version;
BANNER
----------------------------------------------------------------
OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Prod
PL/SQLRelease10.2.0.1.0-Production
CORE10.2.0.1.0Production
TNSforLinux:Version10.2.0.1.0-Production
NLSRTLVersion10.2.0.1.0-Production
SQL>
13.其他命令使用参考:
$./dbca-silent-createdatabase-responseFile/home/oracle/embed/dbca.rsp
$./dbca/silent/responseFile/home/oracle/embed/netca.rsp