LINUX下靜默方式安裝oracle資料庫
來源:互聯網
上載者:User
由於伺服器通過跳板機來運行,所以無法通過X案頭來安裝,因此需要通過靜默方式silent來安裝,步驟如下: oracle11G靜默安裝過程——linux環境 1.作業系統及Oracle版本 Linux版本:CentOS release 5.5 (Final) Oracle版本:Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64 (linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip) 2.硬體檢測: 實體記憶體不少於1G 硬碟可以空間不少於5G swap分區空間不少於2G 支援256色以上顯卡 cpu主頻不小於550mHZ cat /etc/issue uname -r grep MemTotal /proc/meminfo grep SwapTotal /proc/meminfo grep "model name" /proc/cpuinfo free df -k /tmp df -k 3.檢查安裝依賴系統包 作業系統依賴的具體包,請參考官方安裝文檔。 以下為 Asianux 3, Oracle Linux 5, Red Hat Enterprise Linux 5, CentOS 5 作業系統依賴的包 binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 compat-libstdc++-33-3.2.3 (32 bit) elfutils-libelf-0.125 elfutils-libelf-devel-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-2.5-24 (32 bit) glibc-common-2.5 glibc-devel-2.5 glibc-devel-2.5 (32 bit) glibc-headers-2.5 ksh-20060214 libaio-0.3.106 libaio-0.3.106 (32 bit) libaio-devel-0.3.106 libaio-devel-0.3.106 (32 bit) libgcc-4.1.2 libgcc-4.1.2 (32 bit) libstdc++-4.1.2 libstdc++-4.1.2 (32 bit) libstdc++-devel 4.1.2 make-3.81 sysstat-7.0.2 unixODBC-2.2.11 (32-bit) or later unixODBC-devel-2.2.11 (64-bit) or later unixODBC-2.2.11 (64-bit) or later 檢查依賴包 rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel 如果包有顯示is not installed(沒安裝),就用yum install 命令安裝,如: yum install -y compat-libstdc++-33 4.建立所需的作業系統組和使用者 groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle 設定oracle使用者密碼 passwd oracle 5.修改核心參數 在/sbin/sysctl.conf 檔案中,使用文字編輯器或vi命令增加或修改以下參數 如果沒有的話: vi /etc/sysctl.conf fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 5368709120 (根據實際情況調整) 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 = 1048576 修改後,使設定生效 /sbin/sysctl -p 如果出現以下問題: error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
解決方案如下:
modprobe bridge
lsmod|grep bridge 6.修改使用者限制 在/etc/security/limits.conf 檔案中,使用文字編輯器或vi命令增加或修改以下參數 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 在/etc/pam.d/login 檔案中,使用文字編輯器或vi命令增加或修改以下內容 session required /lib/security/pam_limits.so session required pam_limits.so 此處需注意,如果為64位系統,則需改為 session required /lib64/security/pam_limits.so session required pam_limits.so 在/etc/profile 檔案中,使用文字編輯器或vi命令增加或修改以下內容 if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi 使設定生效 source /etc/profile 7.建立安裝目錄(可根據情況,選擇比較多空間的目錄建立) mkdir -p /u01/app/ chown -R oracle:oinstall /u01/app/ chmod -R 775 /u01/app/ 8.建立/etc/oraInst.loc檔案,內容如下 nventory_loc=/u01/app/oracle/oraInventory inst_group=oinstall 變更檔的許可權 chown oracle:oinstall /etc/oraInst.loc chmod 664 /etc/oraInst.loc 9.設定oracle環境變數 su - oracle vi ~/.bash_profile 在最後加上以下內容 export ORACLE_BASE=/u01/app/oracle export ORACLE_SID=orcl 注意,除了ORACLE_BASE和ORACLE_SID,( /etc/profile和.bash_profile中)不設定任何oracle相關環境變數(ORACLE_HOME, PATH, LD_LIBRARY_PATH等)。 使設定生效 source /home/oracle/.bash_profile 檢查環境變數: env 10.解壓oracle安裝檔案 unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip 11.複製回應檔模板 mkdir etc cp /home/oracle/database/response/* /home/oracle/etc/ 設定回應檔許可權 su - root chmod 700 /home/oracle/etc/*.rsp 12.靜默安裝Oracle軟體 su - oracle 修改安裝Oracle軟體的回應檔/home/oracle/etc/db_install.rsp oracle.install.option=INSTALL_DB_SWONLY//29 行 安裝類型 ORACLE_HOSTNAME=java-linux-test//37 行 主機名稱 UNIX_GROUP_NAME=oinstall//42 行 安裝組 INVENTORY_LOCATION=/u01/app/oracle/oraInventory//47 行 INVENTORY目錄 SELECTED_LANGUAGES=en,zh_CN,zh_TW//78 行 選擇語言 ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1//83 行 oracle_home ORACLE_BASE=/u01/app/oracle//88 行 oracle_base oracle.install.db.InstallEdition=EE//99 行 oracle版本 oracle.install.db.isCustomInstall=true//108行 自訂安裝 oracle.install.db.DBA_GROUP=dba//142行 dba使用者組 oracle.install.db.OPER_GROUP=oinstall//147行 oper使用者組 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE//160行 資料庫 類型 oracle.install.db.config.starterdb.globalDBName=orcl//165行 globalDBName oracle.install.db.config.starterdb.SID=orcl//170行 SID oracle.install.db.config.starterdb.memoryLimit=512//192行 自動管理記憶體的最小記憶體(M) oracle.install.db.config.starterdb.password.ALL=oracle//233行 設定所有資料庫使用者使用同一個密碼 DECLINE_SECURITY_UPDATES=true//385行 設定安全更新 進行靜默安裝 Oracle 軟體 cd database ./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp 安裝中,如果提示[WARNING]不必理會,此時安裝程式仍在進行,如果出現[FATAL],則安裝程式已經停止了。 查看安裝日誌資訊瞭解安裝進度 cd $ORACLE_BASE/oraInventory/logs tail -100f installActions*.log 出現類似如下提示表示安裝完成: #------------------------------------------------------------------- ... /u01/app/oracle/product/11.2.0/db_1/root.sh To execute the configuration scripts: 1. Open a terminal window 2. Log in as "root" 3. Run the scripts 4. Return to this window and hit "Enter" key to continue Successfully Setup Software. #------------------------------------------------------------------- 使用root使用者執行root.sh su root /u01/app/oracle/product/11.2.0/db_1/root.sh 增加oracle環境變數 su - oracle vi ~/.bash_profile 在最後加上以下內容 export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export TNS_ADMIN=$ORACLE_HOME/network/admin export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib export ORACLE_OWNER=oracle export SPFILE_PATH=$ORACLE_HOME/dbs export ORA_NLS10=$ORACLE_HOME/nls/data 使設定生效 source /home/oracle/.bash_profile 13.靜默配置網路 $ORACLE_HOME/bin/netca /silent /responseFile /home/oracle/etc/netca.rsp 14.靜默安裝資料庫 修改僅安裝資料庫的回應檔/home/oracle/etc/dbca.rsp GDBNAME="orcl.java-linux-test"//78 行 全域資料庫的名字=SID+主機網域名稱 SID="orcl"//149行 SID CHARACTERSET="AL32UTF8"//415行 編碼 NATIONALCHARACTERSET="UTF8"//425行 編碼 進行靜默安裝資料庫 $ORACLE_HOME/bin/dbca -silent -responseFile /home/oracle/etc/dbca.rsp 建庫後執行個體檢查 ps -ef | grep ora_ | grep -v grep | wc -l ps -ef | grep ora_ | grep -v grep 建庫後監聽檢查 lsnrctl status 如果出現以下錯誤 lsnrctl: error while loading shared libraries: /u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1: cannot restore segment prot after reloc: Permission denied 解決辦法:在root使用者下執行以下命令 su - root setenforce 0 15.修改oracle啟動設定檔 su - oracle vi /etc/oratab racl:/u01/app/oracle/product/11.2.0/db_1:Y //把“N”改成“Y” 這樣就可以通過dbstart 啟動此執行個體,監聽器。 dbstart $ORACLE_HOME 此時所有oracle的進程關閉,監聽器也停止。 dbshut $ORACLE_HOME 再次查看監聽器狀態。 lsnrctl status