Linux CentOS 6.9 64位雲主機 靜默安裝Oracle11g和配置
通過SSH遠端連線雲主機,上傳oracle11g安裝包,在centos6.9上無圖形化介面靜默安裝oracle11g。
工具&環境
1、本地環境windows8+ssh遠端連線工具CRT7.3.3
2、遠端雲主機CentOS6.9 64位系統
3、安裝包檔案linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip
雲主機要求
1、最小記憶體1G,推薦2G或2G以上
2、1GB跟2GB實體記憶體之間的,設定swap大小為實體記憶體的1.5倍
2GB跟16GB實體記憶體之間的,設定swap大小與實體記憶體相等
16GB實體記憶體以上的,設定swap大小為16GB
3、硬碟要求空間至少5-6GB
安裝步驟
安裝依賴包
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++
glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686
libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel zip unzip
設定swap空間
1.在/home/下生成swap檔案 設定大小2GB dd if=/dev/zero of=/home/swapfile bs=1M count=2048 2.設定使用/home/swapfile交換檔案 mkswap /home/swapfile 3.啟用交換分割槽 swapon /home/swapfile 4.編輯檔案/ect/fstab vi /etc/fstab 以便引導系統時啟用交換檔案,檔案最下方插入 /home/swapfile swap swap defaults 0 0
新增oracle使用者
建立oinstall、dba組 將oracle使用者加入組 修改並設定oracle使用者密碼 groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle
修改核心引數
編輯檔案/etc/sysctl.conf vi /etc/sysctl.conf 配置檔案內加入 修改以下引數。如果沒有可以自己新增,如果預設值比參考值大,則不需要修改。 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 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 = 1048586 執行命令sysctl使其自檢並生效 sysctl -p
修改使用者資源限制
1.修改/etc/security/limits.conf配置檔案 vi /etc/security/limits.conf 2.配置檔案下方加入 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 vi /etc/profile if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi 使設定生效
3.修改/etc/pam.d/login配置檔案 vi /etc/pam.d/login 4.配置檔案內加入 session required /lib64/security/pam_limits.so session required pam_limits.so
建立安裝目錄
我的資料盤掛在/opt目錄 建立安裝目錄 /opt/oracle /opt/oraInventory /opt/oradata 並賦予組使用者及許可權 mkdir -p /opt/oracle /opt/oraInventory /opt/oradata/ chown -R oracle:oinstall /opt/oracle /opt/oraInventory /opt/oradata chmod -R 775 /opt/oracle /opt/oraInventory /opt/oradata
建立oraInst.loc檔案
建立/etc/oraInst.loc檔案 vi /etc/oraInst.loc 檔案內加入以下內容 inventory_loc=/opt/oraInventory inst_group=oinstall 儲存退出後執行以下命令。設定該檔案的使用者組及許可權。 chown oracle:oinstall /etc/oraInst.loc chmod 664 /etc/oraInst.loc
通過CRT rz命令上傳zip檔案並解壓
unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip
待解壓完畢後會生成資料夾/opt 修改其使用者組及許可權此處直接使用777 chmod 777 /opt/database chown -R oracle.oinstall /opt/database
準備oracle安裝應答模板檔案db_install.rsp檔案
1、該檔案預設存放在解壓後的安裝包內,也就是本例中/opt/database/response下, 將oracle靜默安裝所需應答檔案全部拷貝至 /opt/oracle資料夾下 cp /opt/database/response/* /opt/oracle/ 2、修改安裝所需的所有應答檔案的所屬組及許可權 chown oracle:oinstall /opt/oracle/*.rsp chmod 755 /opt/oracle/*.rsp 3、配置db_install.rsp檔案 vi /opt/oracle/db_install.rsp 4、檔案內修改相應的引數配置如下: oracle.install.option=INSTALL_DB_SWONLY //29行,安裝型別,只裝資料庫軟體 ORACLE_HOSTNAME=hostxxx //37行,主機名稱(命令hostname查詢) UNIX_GROUP_NAME=oinstall //42行,安裝組 INVENTORY_LOCATION=/opt/oraInventory //47行,INVENTORY目錄(**不填就是預設值,本例此處需修改,因個人建立安裝目錄而定) SELECTED_LANGUAGES=en,zh_CN,zh_TW //78行,選擇語言 ORACLE_HOME=/opt/oracle/product/11.2.0/db_1 //83行,路徑根據目錄情況注意修改 本例安裝路徑/opt/oracle ORACLE_BASE=/opt/oracle //88行,路徑根據目錄情況注意修改 oracle.install.db.InstallEdition=EE //99行,oracle版本 oracle.install.db.isCustomInstall=false //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(**此處注意與環境變數內配置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行 DECLINE_SECURITY_UPDATES=true //385行,設定安全更新 設定一定要為true
設定oracle使用者環境
由root切換至建立好的oracle使用者 su - oracle 修改該使用者的使用者配置檔案 vi .bash_profile 檔案內加入並修改至以下內容 export ORACLE_BASE=/opt/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使設定生效
在oracle使用者下開始安裝
執行命令。 /opt/database/./runInstaller -silent -force -ignorePrereq -responseFile /opt/oracle/db_install.rsp 引數說明 /opt/database是安裝包解壓後的路徑,此處根據安裝包解壓所在位置做修改,因人而異。 runInstaller 是主要安裝指令碼 -silent 靜默模式 -force 強制安裝 -ignorePrereq忽略warning直接安裝。 -responseFile讀取安裝應答檔案。
CRT另起視窗並切換到root使用者檢測安裝過程
通過 watch -d -n 2 'du -sh /opt/oracle' 監測oracle安裝目錄是否變化。或者直接tail -f命令監測安裝log日誌。
tailf /opt/oraInventory/logs/installActions2018-08-12_11-02-03AM.log
安裝成功後會會提示如下:
INFO: Exit Status is 0
INFO: Shutdown Oracle Database 11g Release 2 Installer
等待安裝編譯直至出現以下內容,在新建立的root視窗內執行以下提示內的指令碼
既 /opt/oracle/product/11.2.0/db_1/root.sh
The following configuration scripts need to be executed as the "root" user.
#!/bin/sh
#Root scripts to run
/opt/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.
增加oracle環境變數
所有export項:
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_SID=orcl
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使設定生效
靜默配置網路
$ORACLE_HOME/bin/netca /silent /responseFile /opt/oracle/netca.rsp
靜默安裝資料庫
修改僅安裝資料庫的響應檔案
vi /opt/oracle/dbca.rsp
GDBNAME="orcl.hostxxx" //78行,全域性資料庫的名字=SID+主機域名
SID="orcl" //149行,SID
CHARACTERSET="AL32UTF8" //415行,編碼
NATIONALCHARACTERSET="UTF8" //425行,編碼
執行靜默安裝資料庫
$ORACLE_HOME/bin/dbca -silent -responseFile /opt/oracle/dbca.rsp
建庫後例項檢查
ps -ef | grep ora_ | grep -v grep | wc -l
ps -ef | grep ora_ | grep -v grep
建庫後監聽檢查
lsnrctl status
設定配置服務名和監聽器
cd /opt/oracle/product/11.2.0/db_1/network/admin
tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl)
(GLOBAL_DBNAME=orcl)
(ORACLE_HOME = /opt/oracle/product/11.2.0/db_1)
(PRESPAWN_MAX=20)
(PRESPAWN_LIST=(PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIMEOUT=1)))
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /opt/oracle
sqlnet.ora
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
ADR_BASE = /opt/oracle