【oracle】靜默安裝 oracle 11gr2
【序言】
oracle 提供了靜默安裝方法在不適用圖形介面的情況下安裝 oracle 軟體 ,建立db,配置netca,快速完成oracle 的部署。
在以下情形中可以使用靜默安裝
a OUI 的 GUI 介面遠端互動比較慢 .
b 資料庫伺服器無法使用圖形介面訪問.
c 批次部署oracle (標準環境統一情況下可以使用oracle 的relink ,這樣更加快速).
本文主要講述基本安裝步驟,不涉及oracle 安裝完成之後的運維規範: 監控,備份,定時日誌清理,基礎運維配置。
一 準備工作
1.linux檢查安裝包是否全
如果有未安裝的rpm ,則需要手動安裝。
注意:其中oracleasm oracleasmlib oracleasm-support可以去oracle官方asm lib網站下載
2.OS引數修改
a 修改/etc/sysctl.conf 檔案 新增如下內容:
執行:
b 修改/etc/security/limits.conf 新增如下內容:
c 修改 /etc/pam.d/login 新增如下內容:
d 修改 /etc/profile
3 建立oracle屬組並新增oracle 使用者
建立oracle軟體安裝目錄
4 Oracle環境變數
---oracle .bash_profile
二 安裝
1 此步驟很重要,如果忽略1 ,最終會提示inventory 檔案目錄非空 導致靜默安裝失敗 文章末尾會加以說明
vim /etc/oraInst.loc
2 靜默安裝 11.2.0.1 採用 debug模式安裝 ,如果有異常則更容易發現錯誤原因。
安裝完成顯示如下資訊:
安裝完成之後 系統會提示我們用root使用者執行如下兩個指令碼 。
附上oracle軟體靜默安裝的引數含義如下:
-silent 表示以靜默方式安裝,不會有任何提示
-force 表示允許安裝到一個非空目錄
-noconfig 表示不執行配置助手netca
-responseFile 表示使用哪個響應檔案,必需使用絕對路徑
oracle.install.responseFileVersion 響應檔案模板的版本,該引數不要更改
oracle.install.option 安裝模式選項,本例只安裝oracle軟體,該引數不要更改
DECLINE_SECURITY_UPDATES 是否需要線上安全更新,設定為false,該引數不要更改
UNIX_GROUP_NAME oracle 使用者用於安裝軟體的組名
INVENTORY_LOCATION oracle 產品清單目錄
SELECTED_LANGUAGES oracle 執行語言環境,一般包括引文和簡繁體中文
ORACLE_HOME oracle安裝目錄
ORACLE_BASE oracle基礎目錄
oracle.install.db.InstallEdition 安裝版本型別,一般是企業版
oracle.install.db.isCustomInstall 是否定製安裝,預設Partitioning,OLAP,RAT都選上。根據自己的需要選擇元件。
oracle.install.db.customComponents 定製安裝元件列表:除了以上預設的,可加上Label Security和Database Vault
oracle.install.db.DBA_GROUP oracle 使用者用於授予osdba許可權的組名
oracle.install.db.OPER_GROUP oracle 使用者用於授予osoper許可權的組名
3 靜默安裝db
安裝完成oracle軟體之後還沒建立db,我們可以繼續使用靜默方式建立資料庫。
dbca.rsp 檔案內容如下:根據自己的場景進行修改。
靜默安裝的過程如下:
4 配置網路監聽
這一步我沒有使用netca的預設方式,而是直接編輯了$ORACLE_HOME/network/admin/ 下的*.ora 檔案。
根據需求編輯好了之後啟動監聽。
5 登陸資料庫
三 遇到的問題
問題一 相信這個問題也是很多人也會遇到
解決方法:
使用root vim /etc/oraInst.doc 加入
問題二
解決方法:
如提示所言 Inventory 目錄安裝在了$ORACLE_BASE 目錄下了,所以調整Inventory 目錄不在$ORACLE_BASE 目錄下,即可解決問題。
oraInventory 存放Oracle軟體安裝的目錄資訊,Oralce的安裝和升級都需要用到這個目錄,刪除或丟失oraInventory目錄的內容就會導致安裝/升級失敗。
Oracle官方文件對oraInventory的說明:
oraInventory 目錄的位置是由oraInst.loc 檔案決定的:
/etc/oraInst.loc (AIX and Linux Platform)
/var/opt/oracle/OraInst.loc (Solaris and HP-UX platform)
四 小結
說些題外話 因為專案的原因需要安裝一套oracle 系統,谷歌,度娘 靜默安裝 等關鍵詞,大多數文章基本都千篇一律。真不知道寫文章的人是否真正安裝成功?論壇上說學習稱讚的人是否動手驗證過?
紙上來得終覺淺 ,絕知此事要躬行。
做一個靠譜的人,更要做一個技術上靠譜的dba。
oracle 提供了靜默安裝方法在不適用圖形介面的情況下安裝 oracle 軟體 ,建立db,配置netca,快速完成oracle 的部署。
在以下情形中可以使用靜默安裝
a OUI 的 GUI 介面遠端互動比較慢 .
b 資料庫伺服器無法使用圖形介面訪問.
c 批次部署oracle (標準環境統一情況下可以使用oracle 的relink ,這樣更加快速).
本文主要講述基本安裝步驟,不涉及oracle 安裝完成之後的運維規範: 監控,備份,定時日誌清理,基礎運維配置。
一 準備工作
1.linux檢查安裝包是否全
- rpm -q --queryformat \"%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" binutils \
- compat-libstdc++-33 compat-db control-center elfutils-libelf elfutils-libelf-devel gcc \
- gcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ \
- libstdc++-devel make sysstat unixODBC glibc-headers unixODBC-devel \
- oracleasm oracleasmlib oracleasm-support \
- pdksh sysstat xscreensaver | grep not | grep -v grep | awk '{print "yum install -y " $2 }'
注意:其中oracleasm oracleasmlib oracleasm-support可以去oracle官方asm lib網站下載
2.OS引數修改
a 修改/etc/sysctl.conf 檔案 新增如下內容:
- fs.aio-max-nr = 1048576
- fs.file-max = 6815744
- kernel.shmall = 2097152
- kernel.shmmax = 48719476736
- kernel.shmmni = 4096
- kernel.sem = 250 32000 200 200
- net.ipv4.ip_local_port_range = 9000 65500
- net.core.rmem_default = 262144
- net.core.wmem_default = 262144
- net.core.wmem_max = 1048586
- net.core.rmem_max = 4194304
- /sbin/sysctl -p
- oracle soft nproc 2047
- oracle hard nproc 16384
- oracle soft nofile 1024
- oracle hard nofile 65536
- session required pam_limits.so
- if [ $USER = "oracle" ] ; then
- if [ $SHELL = "/bin/ksh" ]; then
- ulimit -p 16384
- ulimit -n 65536
- else
- ulimit -u 16384 -n 65536
- fi
- umask 022
- fi
- groupadd -g 501 oinstall
- groupadd -g 502 dba
- groupadd -g 601 asmadmin
- groupadd -g 602 asmdba
- groupadd -g 603 asmoper
-
useradd -u 1101 -g oinstall -G dba oracle
- mkdir -p /opt/app/oracle
- chown -R oracle:oinstall /opt/app/oracle
- chmod -R 775 /opt
---oracle .bash_profile
- # .bash_profile
- # Get the aliases and functions
- if [ -f ~/.bashrc ]; then
- . ~/.bashrc
- fi
- # User specific environment and startup programs
- PATH=$PATH:$HOME/bin:/opt/rac/oracle/opatch/OPatch
- export PATH
- umask 022
- export ORACLE_BASE=/opt/app/oracle
- export ORACLE_HOME=$ORACLE_BASE/11.2.0/product/db
- export ORACLE_SID=orcl
- export TNS_ADMIN=$ORACLE_HOME/network/admin
- export ORA_NLS10=$ORACLE_HOME/nls/data
- export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
- export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
- export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
- export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
- export PS1=$LOGNAME@`hostname`:'$PWD>'
- export SQLPATH=$ORACLE_HOME/sqlplus/admin:/home/oracle/admin/sql
- alias ohome="cd $ORACLE_HOME"
- alias tf="tail -f /opt/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log"
- alias sql='sqlplus "/"'
- alias sqln="sqlplus /nolog"
- alias rm='rm -i --'
- ulimit -u 16384 -n 63536 #linux
- esc="033["
- echo " "
- echo " "
- echo -e "${esc}31;1m******************************************************************${esc}0m"
- echo -e "${esc}31;1m***This is PRODUCT , Please be careful of your operation!***${esc}0m"
- echo -e "${esc}31;1m******************************************************************${esc}0m"
- echo " "
- echo " "
1 此步驟很重要,如果忽略1 ,最終會提示inventory 檔案目錄非空 導致靜默安裝失敗 文章末尾會加以說明
vim /etc/oraInst.loc
-
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
- ./runInstaller -silent -debug -force -noconfig -IgnoreSysPreReqs \
- oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 \
- oracle.install.option=INSTALL_DB_SWONLY \
- DECLINE_SECURITY_UPDATES=true \
- UNIX_GROUP_NAME=oinstall \
- INVENTORY_LOCATION=/u01/app/oraInventory \
- SELECTED_LANGUAGES=en,zh_CN,zh_TW \
- ORACLE_HOME=/u01/app/oracle/product/11.2.0/db \
- ORACLE_BASE=/u01/app/oracle \
- oracle.install.db.InstallEdition=EE \
- oracle.install.db.isCustomInstall=false \
- oracle.install.db.DBA_GROUP=dba \
- oracle.install.db.OPER_GROUP=dba
安裝完成之後 系統會提示我們用root使用者執行如下兩個指令碼 。
- sh /u01/app/oracle/oraInventory/orainstRoot.sh
- sh /u01/app/oracle/product/11.2.0/db /root.sh
-silent 表示以靜默方式安裝,不會有任何提示
-force 表示允許安裝到一個非空目錄
-noconfig 表示不執行配置助手netca
-responseFile 表示使用哪個響應檔案,必需使用絕對路徑
oracle.install.responseFileVersion 響應檔案模板的版本,該引數不要更改
oracle.install.option 安裝模式選項,本例只安裝oracle軟體,該引數不要更改
DECLINE_SECURITY_UPDATES 是否需要線上安全更新,設定為false,該引數不要更改
UNIX_GROUP_NAME oracle 使用者用於安裝軟體的組名
INVENTORY_LOCATION oracle 產品清單目錄
SELECTED_LANGUAGES oracle 執行語言環境,一般包括引文和簡繁體中文
ORACLE_HOME oracle安裝目錄
ORACLE_BASE oracle基礎目錄
oracle.install.db.InstallEdition 安裝版本型別,一般是企業版
oracle.install.db.isCustomInstall 是否定製安裝,預設Partitioning,OLAP,RAT都選上。根據自己的需要選擇元件。
oracle.install.db.customComponents 定製安裝元件列表:除了以上預設的,可加上Label Security和Database Vault
oracle.install.db.DBA_GROUP oracle 使用者用於授予osdba許可權的組名
oracle.install.db.OPER_GROUP oracle 使用者用於授予osoper許可權的組名
3 靜默安裝db
安裝完成oracle軟體之後還沒建立db,我們可以繼續使用靜默方式建立資料庫。
- dbca -silent -responseFile /u01/app/software/database/dbca.rsp
- [GENERAL]
- RESPONSEFILE_VERSION = "11.2.0"
- OPERATION_TYPE = "createDatabase"
- [CREATEDATABASE]
- GDBNAME = "orcl"
- SID = "orcl"
- TEMPLATENAME = "New_Database.dbt"
- SYSPASSWORD = "xxxxxxx"
- SYSTEMPASSWORD = "xxxxxxx"
- SYSMANPASSWORD = "xxxxxxx"
- DBSNMPPASSWORD = "xxxxxxx"
- DATAFILEDESTINATION ="/u01/app/oracle/oradata"
- STORAGETYPE=FS
- CHARACTERSET = "AL32UTF8"
- DATABASETYPE = "MULTIPURPOSE"
- AUTOMATICMEMORYMANAGEMENT = "FALSE"
- TOTALMEMORY =8192
4 配置網路監聽
這一步我沒有使用netca的預設方式,而是直接編輯了$ORACLE_HOME/network/admin/ 下的*.ora 檔案。
根據需求編輯好了之後啟動監聽。
- lsnrctl start
三 遇到的問題
問題一 相信這個問題也是很多人也會遇到
- [FATAL] [INS-32035] Unable to create a new central inventory at the specified location.
- CAUSE: The central inventory location provided is not empty.
- ACTION: Please provide another location for the inventory, or clean up the current location.
使用root vim /etc/oraInst.doc 加入
- inventory_loc=/u01/app/oraInventory
- inst_group=oinstall
- [WARNING] [INS-32055] The Central Inventory is located in the Oracle base.
- CAUSE: The Central Inventory is located in the Oracle base.
- ACTION: Oracle recommends placing this Central Inventory in a location outside the Oracle base directory.
如提示所言 Inventory 目錄安裝在了$ORACLE_BASE 目錄下了,所以調整Inventory 目錄不在$ORACLE_BASE 目錄下,即可解決問題。
oraInventory 存放Oracle軟體安裝的目錄資訊,Oralce的安裝和升級都需要用到這個目錄,刪除或丟失oraInventory目錄的內容就會導致安裝/升級失敗。
Oracle官方文件對oraInventory的說明:
- All Oracle software installations rely on this directory.
- Ensure that you back it up regularly.
- Do not delete this directory unless you have completely removed
- all Oracle software from the system.
/etc/oraInst.loc (AIX and Linux Platform)
/var/opt/oracle/OraInst.loc (Solaris and HP-UX platform)
四 小結
說些題外話 因為專案的原因需要安裝一套oracle 系統,谷歌,度娘 靜默安裝 等關鍵詞,大多數文章基本都千篇一律。真不知道寫文章的人是否真正安裝成功?論壇上說學習稱讚的人是否動手驗證過?
紙上來得終覺淺 ,絕知此事要躬行。
做一個靠譜的人,更要做一個技術上靠譜的dba。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-1062585/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 靜默安裝Oracle
- Oracle靜默安裝Oracle
- 靜默安裝ORACLE(文件)Oracle
- Oracle 11gr2 RAC on OEL6.4靜默安裝Oracle
- 靜默安裝oracle時報錯Oracle
- ORACLE 11.2.0.4靜默安裝Oracle
- 靜默安裝oracle軟體Oracle
- Oracle靜默安裝(單機)Oracle
- 靜默安裝ORACLE 軟體Oracle
- Oracle靜默安裝說明Oracle
- oracle靜默安裝raw裝置Oracle
- 【配置上線】靜默安裝資料庫Oracle 11gR2資料庫Oracle
- oracle 19C 靜默安裝Oracle
- oracle 12c 靜默安裝Oracle
- Oracle 11g 靜默安裝Oracle
- 靜默安裝oracle10gOracle
- oracle10g 靜默安裝Oracle
- Oracle 10g 靜默安裝Oracle 10g
- 靜默方式安裝11gR2
- 靜默方式安裝、升級oracle(一): 安裝oracle軟體Oracle
- 【靜默】在RHEL 6.5上靜默安裝Oracle 18cOracle
- centos 7.4靜默安裝oracle 19.3CentOSOracle
- 使用responseFile進行oracle靜默安裝Oracle
- Oracle 11g Database靜默安裝OracleDatabase
- oracle11g靜默安裝(修正)Oracle
- Oracle 11GR2 在CentOS 7 上的單例項靜默安裝OracleCentOS單例
- 【DBCA -SILENT】靜默方式安裝11gR2 oracle資料庫軟體Oracle資料庫
- oracle安裝:使用響應檔案靜默安裝Oracle
- RedHat上靜默安裝Oracle11gRedhatOracle
- CentOS 7.5靜默安裝Oracle 11gCentOSOracle
- CentOS 7.2靜默安裝Oracle11gCentOSOracle
- RedHat 7 靜默安裝Oracle11gRedhatOracle
- Oracle資料庫靜默安裝實踐Oracle資料庫
- centos6.8 靜默安裝 oracle 11.2.0.4CentOSOracle
- oracle 11g rac 靜默解除安裝Oracle
- oracle客戶端無人值守安裝 靜默安裝Oracle客戶端
- Oracle Linux 7.1 靜默安裝Oracle 18c RACOracleLinux
- RHEL5 Oracle 11G R2 RAC 靜默安裝 (二)GI靜默安裝Oracle