- 前一段時(shí)間公司負(fù)責(zé)在Linux服務(wù)器上安裝Oracle 11g R2的一些心得體會(huì),寫(xiě)個(gè)文章記錄一下。
- 本文參考了網(wǎng)上的一些類似的博文;系統(tǒng)環(huán)境基于無(wú)外網(wǎng)和無(wú)圖形化界面安裝Oracle 11G。
準(zhǔn)備軟件
- XShell+Xftp:用于連接Linux系統(tǒng)的終端模擬工具和FTP傳輸工具
- Oracle安裝文件下載(Oracle Database 11g Release 2安裝包文件總大小約2G):
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
下載完畢后會(huì)有兩個(gè)文件(我所安裝的Linux服務(wù)器是64位):
linux.x64_11gR2_database_1of1.zip
linux.x64_11gR2_database_2of2.zip
檢查系統(tǒng)配置
Oracle Database 11g Release 2官方的系統(tǒng)配置要求如下:
物理運(yùn)行內(nèi)存(Physical RAM):1GB以上,推薦配置2GB以上
查看內(nèi)存占用情況:
free -g硬盤(pán)空間(Disk Space):8GB以上,/tmp目錄剩余空間在1GB以上
查看其他掛載區(qū)的目錄使用情況:
df -h查看目錄的剩余空間:
df -kh /tmp查看系統(tǒng)當(dāng)前的版本:
lsb_release -a查看系統(tǒng)對(duì)應(yīng)的版本和位數(shù):
cat /proc/version
我所安裝的服務(wù)器環(huán)境是 Red Hat Enterprise Linux 4
系統(tǒng)安裝Oracle 11g R2所必須的安裝包
binutils-2.15.92.0.2
compat-libstdc++-33-3.2.3
elfutils-libelf-0.97
elfutils-libelf-devel-0.97
expat-1.95.7
gcc-3.4.6
gcc-c++-3.4.6
glibc-2.3.4-2.41
glibc-common-2.3.4
glibc-devel-2.3.4
glibc-headers-2.3.4
libaio-0.3.105
libaio-devel-0.3.105
libgcc-3.4.6
libstdc++-3.4.6
libstdc++-devel 3.4.6
make-3.80
numactl-0.6.4.x86_64
pdksh-5.2.14
sysstat-5.0.5
- 查詢系統(tǒng)安裝軟件是否缺失:
rpm -qa|grep 軟件包名
我所安裝Oracle的服務(wù)器不能連接外網(wǎng),只能通過(guò)下載安裝包用FTP傳輸?shù)椒?wù)器上安裝,以上安裝包缺失可以到一下地址查找:
http://vault.centos.org/6.5/os/x86_64/Packages/
- 安裝軟件命令(具體安裝順序自己調(diào)配,不能用通配符批量安裝,會(huì)出現(xiàn)依賴問(wèn)題):
rpm -ivh 軟件名.rpm
配置內(nèi)核參數(shù)和資源限制
- 使用vi編輯器對(duì)/etc/sysctl.conf文件進(jìn)行編輯:
vi /etc/sysctl.conf
文件末尾添加一下內(nèi)容:
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 = 1048576
- 使內(nèi)核參數(shù)生效,執(zhí)行命令:
sysctl -p
創(chuàng)建Oracle相關(guān)用戶
創(chuàng)建用戶組oinstall:
groupadd –g 200 oinstall創(chuàng)建用戶組dba:
groupadd –g 201 dba創(chuàng)建oracle用戶并指定用戶組和Oracle用戶的用戶目錄:
useradd –u 440 –g oinstall –G dba –d /home/oracle oracle更改Oracle用戶的用戶登錄密碼:
passwd oracle
修改登錄系統(tǒng)參數(shù)
- 使用vi編輯器對(duì)/etc/pam.d/login文件進(jìn)行編輯:
vi /etc/pam.d/login
在文件末尾添加:
session required pam_limits.so
修改Oracle軟件安裝用戶的資源限制
- 使用vi編輯器對(duì)/etc/security/limits.conf文件進(jìn)行編輯:
vi /etc/security/limits.conf
在文件末尾添加:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
修改環(huán)境變量文件
- 使用vi編輯器對(duì)/etc/profile文件進(jìn)行編輯:
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
- 更新配置文件更改:
source profile
創(chuàng)建目錄并分配權(quán)限
創(chuàng)建目錄
mkdir /oracle
授權(quán)oracle目錄
授權(quán)目錄給當(dāng)前用戶/其他用戶/用戶組 可讀可寫(xiě)可執(zhí)行
chmod -R 775 /oracle
chown –R oracle:oinstall /oracle切換到oracle帳號(hào)并添加oracle用戶下面的環(huán)境變量:
su – oracle使用vi編輯器對(duì)用戶目錄下.bash_profile文件進(jìn)行編輯:
vi ~/.bash_profile
在.base_profile里面添加如下內(nèi)容(有些內(nèi)容存在就不用加,對(duì)照著修改)
ORACLE_HOME在配置時(shí)注意后面不要帶有:分隔符,否則PATH會(huì)取不到;
ORACLE_HOME的路徑;
ORACLE_SID是對(duì)應(yīng)后面創(chuàng)建數(shù)據(jù)庫(kù)SID的,可以隨時(shí)更改;
以下是配置內(nèi)容:
PATH=$PATH:$HOME/bin
umask 022
export PATH
export ORACLE_BASE=/oracle
export ORACLE_SID=orcl
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin:
安裝數(shù)據(jù)庫(kù)
Ctrl+D注銷Oracle用戶,切換成root用戶
解壓Oracle 11g R2 數(shù)據(jù)庫(kù)壓縮包(在本文我已經(jīng)把數(shù)據(jù)庫(kù)壓縮包用FTP軟件傳輸?shù)?tmp目錄下),執(zhí)行命令:
cd /tmp
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip拷貝database/response/下面的dbca.rsp、db_install.rsp及netca.rsp三個(gè)文件至/home/oracle目錄中:
cp database/response/dbca.rsp /home/oracle/
cp database/response/db_install.rsp /home/oracle/
cp database/response/netca.rsp /home/oracle/
chmod 777 /home/oracle/dbca.rsp使用vi編輯數(shù)據(jù)庫(kù)安裝的配置文件db_install.rsp:
cd /home/oracle
vi db_install.rsp
修改如下參數(shù):
Oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME= master
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/oracle
Oracle.install.db.InstallEdition=EE
Oracle.install.db.DBA_GROUP=dba
Oracle.install.db.OPER_GROUP=oinstall
Oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
Oracle.install.db.config.starterdb.globalDBName=orcl
Oracle.install.db.config.starterdb.SID=orcl
Oracle.install.db.config.starterdb.characterSet=ZHS16GBK
Oracle.install.db.config.starterdb.password.ALL=oracle
DECLINE_SECURITY_UPDATES=true
切換到oracle 帳號(hào),創(chuàng)建oraInventory目錄:
su – oracle
mkdir /oracle/oraInventory切換到剛才解壓的Oracle安裝文件根目錄中:
cd /tmp/database
開(kāi)始執(zhí)行安裝操作:
./runInstaller -silent -ignorePrereq -responseFile /home/oracle/db_install.rsp
在/oracle/oraInventory/logs/可以查看對(duì)應(yīng)的安裝日志文件。上述執(zhí)行成功會(huì)提示執(zhí)行兩個(gè)腳本
Ctrl+D注銷Oracle用戶,切換成root用戶
執(zhí)行orainstRoot.sh及root.sh兩腳本:
cd /oracle/oraInventory
sh orainstRoot.sh
cd /oracle/product/11.2.0/dbhome_1
sh root.sh切換成oracle用戶:
su - oracle安裝監(jiān)聽(tīng),直接執(zhí)行監(jiān)聽(tīng)腳本:
netca /silent /responseFile /home/oracle/netca.rsp
安裝數(shù)據(jù)庫(kù)實(shí)例
- 使用vi編輯配置文件dbca.rsp:
vi dbca.rsp
修改以下配置,后面5個(gè)都要?jiǎng)h掉前面的#號(hào)改參數(shù)值:
GDBNAME="orcl"
SID="orcl"
DATAFILEDESTINATION="/oracle/oradata"
RECOVERYAREADESTINATION="/oracle/flash_recovery_area"
CHARACTERSET="ZHS16GBK"
TOTALMEMORY="800"
SYSPASSWORD = "password"
SYSTEMPASSWORD = "password"
上面配置注意去掉#,不然是注釋不生效
SYSPASSWORD和SYSTEMPASSWORD是sys和system數(shù)據(jù)庫(kù)用戶的默認(rèn)密碼(自己自行設(shè)置),不設(shè)置密碼無(wú)法安裝實(shí)例,顯示終端一直滾動(dòng)換行。
- 靜默模式建實(shí)例(確保在oracle用戶下執(zhí)行):
cd ~
dbca –silent –responseFile ~/dbca.rsp
另外:刪除數(shù)據(jù)庫(kù)實(shí)例方法,更改以上配置文件中的OPERATION_TYPE,默認(rèn)為createDatabase,變更為一下內(nèi)容:
OPERATION_TYPE = "deleteDatabase"
執(zhí)行命令:
dbca –silent –responseFile ~/dbca.rsp
測(cè)試和修改Oracle用戶密碼有效期
執(zhí)行命令:
sqlplus /nologSQLPlus:
以sysdba身份登錄:
conn / as sysdba
查詢用戶密碼有效時(shí)間:
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
修改有效時(shí)間為不限制:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
附上一些命令查看Oracle端口和Oracle進(jìn)程
查看Oracle開(kāi)放的1521端口號(hào):
netstat -lnp|grep 1521查看oracle進(jìn)程:
ps -ef|grep oracle
本人能力水平有限,如有錯(cuò)誤請(qǐng)指出。
參考文章:
http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#CEGIHDBF
http://haowen.blog.51cto.com/3486731/1599042
https://zhuanlan.zhihu.com/p/22600543?utm_source=qq&utm_medium=social