靜默方式安裝oracle 11g 完整攻略

flzhang發表於2018-03-15

下載oracle 11g
下載地址:wget  http://v.yingsun.net/cobra/download/linux.x64_11gR2_database_1of2.zip
下載地址:wget  http://v.yingsun.net/cobra/download/linux.x64_11gR2_database_2of2.zip

一 安裝java
檢視CentOS自帶JDK是否已安裝。yum list installed |grep java

檢視yum庫中的Java安裝包 命令:yum -y list java 看看可安裝的軟體包有沒有java-1.8.0-openjdk

二 檢查和安裝需要的rpm

各個版本的檢查包和版本可以看官方文件
https://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#BHCFACHG
具體所有安裝包是否已安裝檢查方法
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst  make sysstat  unixODBC unixODBC-devel
檢查有沒有31個

還能用如下方式檢查,包括centos6,centos7的包
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils \
compat-libcap1 \
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 \
libXi \
libXtst \
make \
sysstat \
unixODBC \
unixODBC-devel

如缺少相應包可用yum -y install 安裝,也可以按如下方式直接把需要的所有依賴包安裝上
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686

網上搜尋的方法也可以參考如下
yum -y install binutils compat-libstdc++ compat-libstdc++-33 elfutils-libelf-devel gcc gcc-c++ glibc-devel glibc-headers ksh libaio-devel libstdc++-devel make sysstat unixODBC-devel binutils-* compat-libstdc++* elfutils-libelf* glibc* gcc-* libaio* libgcc* libstdc++* make* sysstat* unixODBC* wget unzip unixODBC-devel
還有必須下載的包
 wget ftp://ftp.pbone.net/mirror/www.whiteboxlinux.org/whitebox/4/en/updates/i686/glibc-2.3.4-2.43.i686.rpm

 
三 建立使用者組和使用者
userdel -r oracle
groupadd -g 700 oinstall
groupadd -g 701 dba
useradd -g oinstall -G dba -u 700 oracle
passwd oracle

id oracle

四 設定ORACLE環境變數
su - oracle
vi ~/.bash_profile
export ORACLE_BASE=/u02/oracle
export ORACLE_HOME=/u02/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export NLS_LANG="american_america.AL32UTF8"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:Mi:SS"
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH


//指令碼方式初始化環境變數參考方法
new_export = "export ORACLE_BASE=/u02/oracle"
echo "export ORACLE_BASE=/u02/oracle" >> ~/.bash_profile
echo "export ORACLE_HOME=/u02/oracle/product/11.2.0/dbhome_1" >> ~/.bash_profile
echo "export ORACLE_SID=orcl" >> ~/.bash_profile
bash shell:指令碼中修改profile檔案更新LD_LIBRARY_PATH的示例 http://blog.csdn.net/10km/article/details/51953721

source ~/.bash_profile

檢視環境變數是否完成
env | grep ORA


五 建立安裝目錄
su - root
mkdir -p /u02/oracle
mkdir -p /u02/oracle/product/11.2.0/dbhome_1
chown -R oracle:oinstall /u02/oracle
chmod -R 775 /u02/oracle

vi /etc/oraInst.loc
inventory_loc==/home/oracle/oraInventory
inst_group=oinstall

source /etc/oraInst.loc
 
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc

五 解壓安裝檔案
unzip p10404530_112030_Linux-x86-64_1of7.zip;
unzip p10404530_112030_Linux-x86-64_2of7.zip

六 複製響應檔案模板
用oracle使用者複製
su - oracle
mkdir /home/oracle/etc --放配置檔案 如響應檔案
mkdir /home/oracle/oraInventory --放產品目錄相關檔案
cp /u02/oracle/database/response/*  /home/oracle/etc/

七 設定響應檔案許可權
su - root
chmod 700 /home/oracle/etc/*.rsp(注意所有者,oinstall)
八 靜默安裝Oracle軟體 
su - oracle
修改安裝Oracle軟體的響應檔案/home/oracle/etc/db_install.rsp

#刪除應答檔案中的註釋行(以#開頭)
$ sed -i 's/^#.*$//g' *.rsp
刪除沒有內容的空行(^$)
$ sed -i '/^$/d' *.rsp

檔案內容詳細介紹
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY         // 29 安裝型別

ORACLE_HOSTNAME=oracle                            // 37 主機名稱(hostname查詢)

UNIX_GROUP_NAME=oinstall                          // 42 安裝組

INVENTORY_LOCATION=/home/oracle/oraInventory            //47 INVENTORY目錄(不填就是預設值)  注意:這裡inventory目錄最好不要填寫與oracle安裝路徑一致的目錄,會報錯

SELECTED_LANGUAGES=en,zh_CN,zh_TW                       // 78 選擇語言

ORACLE_HOME=/u02/oracle/product/11.2.0/dbhome_1         // 83 oracle_home

ORACLE_BASE=/u02/oracle                                 // 88 oracle_base

oracle.install.db.InstallEdition=EE                     // 99 oracle版本

oracle.install.db.isCustomInstall=false                     //自定義安裝,否,使用預設元件

oracle.install.db.DBA_GROUP=dba                          // 143 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=81920        // 200 自動管理記憶體的記憶體(M)

oracle.install.db.config.starterdb.password.ALL=oracle        // 233 設定所有資料庫使用者使用同一個密碼
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false            // 376(手動寫了false)

DECLINE_SECURITY_UPDATES=true                                // 385 設定安全更新(貌似是有bug,這個一定要選true,否則會無限提醒郵件地址有問題,終止安裝。PS:不管地址對不對)


實際產品庫詳單參考db_install.rsp內容
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=
ORACLE_HOSTNAME=iZ2zehy7gff0kpg1swp1czZ
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/oraInventory
SELECTED_LANGUAGES=en
ORACLE_HOME=/u02/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/u02/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
oracle.install.db.CLUSTER_NODES=
"/home/oracle/etc/db_install.rsp" 53L, 2500C
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=
ORACLE_HOSTNAME=iZ2zehy7gff0kpg1swp1czZ
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/oraInventory
SELECTED_LANGUAGES=en
ORACLE_HOME=/u02/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/u02/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=
oracle.install.db.racOneServiceName=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl11g
oracle.install.db.config.starterdb.SID=orcl11g
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=400
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u02/oracle/oradata/
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u02/oracle/flash_recovery_area/
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
oracle.installer.autoupdates.option=
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=


執行命令 開始預設安裝
cd /u02/oracle/database

./runInstaller  -ignorePrereq -showProgress -silent -responseFile  /home/oracle/etc/db_install.rsp 這種方法不顯示日誌
./runInstaller  -ignorePrereq -showProgress -silent -force -responseFile  /home/oracle/etc/db_install.rsp
./runInstaller  -silent -force -responseFile /home/oracle/etc/db_install.rsp
這時可以看安裝日誌
INFO: Number of threads for fast copy :1

注意問題點
這裡在centos7上安裝oracle11g時,不論11.1.0.1還是 11.2.0.4 都會報錯
String: Error in invoking target 'agent nmhs' of makefile '/u02/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk'.
這個錯誤相當於圖形介面安裝時遇到的錯誤,但圖形介面安裝遇到錯誤,會停止,且提供重試的按鈕,靜默安裝就不成,具體解決方法可以參考
http://www.jb51.net/article/129719.htm《CentOS 7.4下安裝Oracle 11.2.0.4資料庫的方法》 這裡需要編輯安裝檔案

按嚮導執行倆檔案
/home/oracle/oraInventory/orainstRoot.sh
/u02/oracle/product/11.2.0/dbhome_1/root.sh

九 靜默配置網路
編輯netca.rsp檔案

$ more /home/oracle/etc/netca.rsp
[GENERAL]
RESPONSEFILE_VERSION="11.2"
CREATE_TYPE="CUSTOM"
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;1521"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}

在oracle使用者下
$ORACLE_HOME/bin/netca /silent /responsefile /home/oracle/database/response/netca.rsp

十 靜默安裝資料庫
在oracle 使用者安裝。需要配置靜默安裝資料庫響應的模板檔案,也是在安裝軟體包中解壓在database下的response 目錄下的 dbca_rsp 檔案,具體配置如下
//$ more /u02/soft/database/response/dbca.rsp

vi /home/oracle/etc/dbca.rsp

[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl11g.localdomain"
SID = "orcl11g"
TEMPLATENAME = "General_Purpose.dbc"
DATAFILEDESTINATION=/u02/oracle/oradata
RECOVERYAREADESTINATION=/u02/oracle/flash_recovery_area
CHARACTERSET = "AL32UTF8"
NATIONALCHARACTERSET= "AL16UTF16"
DB_UNIQUE_NAME = "orcl11g"
LISTENERS=LISTENER
TOTALMEMORY = "700"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"

執行安裝
$ORACLE_HOME/bin/dbca -silent -responseFile /home/oracle/etc/dbca.rsp
--/u02/oracle/database/response/dbca.rsp


十一 刪除方法
資料庫安裝成功後,要刪除執行的命令
先刪除資料庫
/home/oracle/database/dbca -silent -deleteDatabase -sourcedb orcl11g -sid orcl11g -sysDBAUserName system -sysDBAPassword oracle

沒安裝成功時刪除資料庫和軟體方法
刪除/u02/oracle/oradata目錄下對應資料庫資料夾
刪除/u02/oracle/flash_recovery_area 目錄下對應資料庫資料夾
最重要/etc/oratab 刪除裡面最後的對應資料庫的記錄
--刪除 vi /home/oracle/oraInventory/ContentsXML/inventory.xml


root使用者
清空swap空間,刪除資料檔案和oracle相應目錄
swapoff -a && swapon -a
rm -fr /u02/oracle/oradata
rm -fr /u02/oracle/flash_recovery_area
rm -fr /home/oracle/oraInventory
rm -fr /u02/oracle/product/11.2.0/dbhome_1

刪除配置檔案內容
vi /etc/oratab
--vi /home/oracle/oraInventory/ContentsXML/inventory.xml
--sed -i '/^<HOME NAME="OraDb11g_home1"/d' /home/oracle/oraInventory/ContentsXML/inventory.xml
重建對應目錄
mkdir -p /u02/oracle/product/11.2.0/dbhome_1
chown -R oracle:oinstall /u02/oracle
chmod -R 775 /u02/oracle

mkdir -p /u02/oracle/oradata
mkdir -p /u02/oracle/flash_recovery_area
chown -R oracle:oinstall /u02/oracle/oradata
chmod -R 775 /u02/oracle/oradata
su - oracle
mkdir /home/oracle/oraInventory

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/750077/viewspace-2151888/,如需轉載,請註明出處,否則將追究法律責任。

相關文章