所需軟件:oracle11.2.0.4安裝包、Xshell 6、Xmanager 6
環(huán)境說(shuō)明:宿主機(jī)ip:192.168.88.2
虛機(jī)ip:192.168.88.200
虛機(jī)內(nèi)存:2G
虛機(jī)主機(jī)名:vm-demo
oracle數(shù)據(jù)庫(kù)名:orcl
oracle實(shí)例名:orcl
命令說(shuō)明:root#ls -l表示在root用戶下執(zhí)行
oracle>ls -l 表示在oracle用戶下執(zhí)行
用root用戶修改內(nèi)核配置文件/etc/sysctl.conf。
- 同時(shí)可以擁有的的異步IO請(qǐng)求數(shù)目。 推薦值:1048576
fs.aio-max-nr = 1048576
- 系統(tǒng)允許的文件句柄最大數(shù)目,代表linux系統(tǒng)可以打開(kāi)的文件數(shù)量
fs.file-max = 6815744
- 物理內(nèi)存K數(shù)/4K(根據(jù)虛機(jī)的實(shí)際內(nèi)存設(shè)置,以下是2G內(nèi)存的設(shè)置)
kernel.shmall = 524288
- 可取的最大值為物理內(nèi)存值-1byte,建議值為多于物理內(nèi)存的一半(根據(jù)虛機(jī)的實(shí)際內(nèi)存設(shè)置,以下是2G內(nèi)存的設(shè)置)
kernel.shmmax = 2147483647
- 共享內(nèi)存段的最大數(shù)量,取缺省值4096
kernel.shmmni = 4096
- 250是參數(shù)semmsl的值,表示一個(gè)信號(hào)量集合中能夠包含的信號(hào)量最大數(shù)目。
32000是參數(shù)semmns的值,表示系統(tǒng)內(nèi)可允許的信號(hào)量最大數(shù)目。
100是參數(shù)semopm的值,表示單個(gè)semopm()調(diào)用在一個(gè)信號(hào)量集合上可以執(zhí)行的操作數(shù)量。
128是參數(shù)semmni的值,表示系統(tǒng)信號(hào)量集合總數(shù)。
kernel.sem = 250 32000 100 128
- 應(yīng)用程序可使用的IPv4端口范圍。
net.ipv4.ip_local_port_range = 9000 65535
- 套接字接收緩沖區(qū)大小的缺省值。
net.core.rmem_default = 262144
- 套接字接收緩沖區(qū)大小的最大值。
net.core.rmem_max = 4194304
- 套接字發(fā)送緩沖區(qū)大小的缺省值。
net.core.wmem_default = 262144
- 套接字發(fā)送緩沖區(qū)大小的最大值。
net.core.wmem_max = 1048586
- 以上參數(shù)除了有說(shuō)明需要根據(jù)實(shí)際情況設(shè)置,其它參數(shù)照抄即可。執(zhí)行sysctl -p生效;
用root用戶增加組和用戶。
- root#groupadd -g 500 oinstall
- root#groupadd -g 501 dba
- root#useradd -g oinstall -G dba,oinstall oracle
- root#passwd oracle
用root用戶創(chuàng)建swap分區(qū)。
- 通過(guò)命令swapon -s來(lái)檢查當(dāng)前是否有swap分區(qū)。swap分區(qū)有2種:分區(qū)或文件;可以任意選一種創(chuàng)建(創(chuàng)建swap文件較為方便),大小為4G(內(nèi)存大小的1.5-2倍)。
- 創(chuàng)建swap分區(qū)
- fdisk -l 查看磁盤是否還有剩余未分配的扇區(qū):若有,使用fdisk來(lái)格式化成swap分區(qū)(分區(qū)類型為82);若無(wú),在虛機(jī)新添加一塊硬盤,然后按下面步驟操作:
- root#fdisk -l /dev/sdb
- root#mkswap /dev/sdb1
- root#swapon -s
- root#swapon /dev/sdb1
- root#swapon -s
- root#echo "/dev/sdb1 none swap sw 0 0" >> /etc/fstab
- 創(chuàng)建swap文件
- root#dd if=/dev/zero of=/mnt/oracle.swap bs=1024 count=524288*8
- root#chown oracle:oinstall /mnt/oracle.swap
- root#chmod 600 /mnt/oracle.swap
- root#mkswap /mnt/oracle.swap
- root#swapon /mnt/oracle.swap
- root#swapon -s
- root#echo "/mnt/oracle.swap none swap sw 0 0" >> /etc/fstab
用root用戶修改/etc/security/limits.conf限制。
- 添加以下行:
oracle soft nproc 65535
oracle hard nproc 65535
oracle soft nofile 65535
oracle hard nofile 65535
用root用戶修改/etc/pam.d/login。
- 添加以下一行:
session required /lib64/security/pam_limits.so
修改profile文件。
- 用root用戶修改/etc/profile文件,增加以下內(nèi)容:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 65535
ulimit -n 65535
else
ulimit -u 65535 -n 65535
fi
fi
- 用oracle用戶修改其.bash_profile文件
export ORACLE_SID=orcl
export ORACLE_BASE=/opt/App/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export INVENTORY_LOCATION=/opt/app/oraInventory
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LANG=C
export NLS_LANG="American_america.zhs16gbk"
export PATH=$ORACLE_HOME/bin:$PATH
umask 022
- 生效配置,并echo檢查是否生效:
oracle>source .bash_profile
用root用戶在/opt下建目錄,并修改歸屬。
root#mkdir -p /opt/app/database
root#mkdir -p /opt/app/oraInventory
root#mkdir -p /opt/app/oracle
root#chown -R oracle:oinstall /opt/app/database
root#chown -R oracle:oinstall /opt/app/oraInventory
root#chown -R oracle:oinstall /opt/app/oracle
用root用戶關(guān)閉selinux
- 修改/etc/selinux/config里的SELINUX=disabled
用root用戶配置/etc/hosts
- 修改/etc/hosts增加一行: <ip> <主機(jī)名>
檢查oracle軟件包依賴
- root#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 elfutils-libelf elfutils-libelf-devel
- 安裝上圖提示未安裝的軟件包
root#yum -y install compat-libcap1 compat-libstdc++-33 ksh libaio-devel unixODBC unixODBC-devel elfutils-libelf elfutils-libelf-devel
解壓安裝包,放到/opt/app/database下
- 包里有database目錄,因此只需解壓到/opt/app/
root#unzip p13390677_112040_Linux-x86-64_1of7.zip -d /opt/app/
root#unzip p13390677_112040_Linux-x86-64_2of7.zip -d /opt/app/
root#chown -R oracle:oinstall /opt/app/
- /opt/app/database只是安裝程序目錄。安裝全部完成后,如果空間緊張,可以刪除。
如果選擇靜默安裝,請(qǐng)?zhí)领o默安裝部分;否則,進(jìn)行圖形界面配置。
- 用root用戶修改/etc/ssh/sshd_config,重啟sshd服務(wù)。
X11Forwarding yes
AllowTcpForwarding yes
root#systemctl restart sshd
- 在windows機(jī)器安裝XManager,運(yùn)行Xmanager - Passive,默認(rèn)是:0.0(即6000端口)。
- 打開(kāi)Xshell6,隧道選項(xiàng)里要選中x11轉(zhuǎn)移;telnet 宿主機(jī)ip(192.168.88.2)的6000端口(:0.0)要通。
- 設(shè)置X服務(wù)器的訪問(wèn)權(quán)限。
root#su - oracle
oracle>export DISPLAY=192.168.88.2:0:0.0
oracle>xhost +
- cd /opt/app/database 運(yùn)行./runInstaller,看圖形界面是否能啟動(dòng)。
看到如下界面,成功啟動(dòng)圖形界面。
- 以下均是圖形界面,不再詳細(xì)描述。
- OSOPER組不用選。
- pdksh包在linux下叫ksh,之前yum時(shí)已經(jīng)檢查安裝。此處若只有這一項(xiàng),可忽略。
- 在快安裝完的時(shí)候,會(huì)報(bào)錯(cuò): Error in invoking target 'agent nmhs' of makefile
解決方案:
修改$
ORACLE_HOME/sysman/lib/ins_emagent.mk,將 $(MK_EMAGENT_NMECTL)修改為:$(MK_EMAGENT_NMECTL) -lnnz11,然后“Retry”。
- 按提示運(yùn)行orainstRoot.sh和root.sh腳本
- 至此,oracle軟件安裝完成。
用netca配置監(jiān)聽(tīng)。
dbca建庫(kù)
- 在輸入“Global Database Name”和“SID”時(shí),若出現(xiàn)下圖的情況(輸一個(gè)字符,顯示有2個(gè)),請(qǐng)切換一下輸入法(按ctrl+空格)。
- 配置企業(yè)管理器可選,也可不選。
- 存儲(chǔ)位置可以選擇系統(tǒng)默認(rèn)的使用模板數(shù)據(jù)庫(kù)文件位置,也可以自定義一個(gè)文件位置。
- 指定閃回區(qū)和開(kāi)啟歸檔模式可以先不選,等后續(xù)安裝完后再配置。
- 字符集選擇:ZHS16GBK;其他默認(rèn)
- 控制文件數(shù)量:最少有2個(gè)。最好放在不同位置(截圖上是演示環(huán)境,就放在一個(gè)目錄里
)
- 重做日志組數(shù)量默認(rèn)3個(gè),后續(xù)可以增加;成員大小默認(rèn)是50M,對(duì)于正式環(huán)境,建議改成500M。
- 至此,建庫(kù)完成。
lsnrctl status檢查監(jiān)聽(tīng)狀態(tài)
- 查看監(jiān)聽(tīng)狀態(tài):
oracle>lsnrctl status
- oracle>lsnrctl restart重啟
- 監(jiān)聽(tīng)文件說(shuō)明:
按上述方法建立的監(jiān)聽(tīng)是動(dòng)態(tài)監(jiān)聽(tīng),靜態(tài)文件($
ORACLE_HOME/network/admin/listener.ora)內(nèi)容如下:
可以將配置文件改成如下方式,則為靜態(tài)監(jiān)聽(tīng)。
靜態(tài)監(jiān)聽(tīng)啟動(dòng)后,此處為unknown;而動(dòng)態(tài)靜態(tài)為ready。
Oracle的靜默安裝。
- 在/opt/app/database/response下有3個(gè)rsp文件:
a、db_install.rsp:安裝oracle軟件的響應(yīng)文件
b、dbca.rsp:建庫(kù)用的響應(yīng)文件
c、netca.rsp:建監(jiān)聽(tīng)用的響應(yīng)文件
根據(jù)實(shí)際情況修改下面列出的參數(shù),沒(méi)有列出的參數(shù)就取默認(rèn)值。
- db_install.rsp:
ORACLE_HOSTNAME= vm-demo
INVENTORY_LOCATION=/opt/app/oraInventory
ORACLE_HOME= /opt/app/oracle/product/11.2.0/db_1
ORACLE_BASE= /opt/app/oracle
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.memoryLimit=1024M
oracle.install.db.config.starterdb.password.ALL=change_on_install
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/data/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/opt/app/oracle/fast_recovery_area
修改完后,執(zhí)行下面這條命令:
oracle>./runInstaller -silent -responseFile /opt/app/database/response/db_install.rsp
- dbca.rsp
OPERATION_TYPE = "createDatabase"
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "change_on_install"
SYSTEMPASSWORD = " change_on_install "
DATAFILEDESTINATION =/data/oradata
RECOVERYAREADESTINATION=/opt/app/oracle/fast_recovery_area
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = "1024"
修改完后,執(zhí)行下面這條命令:
oracle>dbca -silent -responseFile /opt/app/database/response/dbca.rsp
- netca.rsp(無(wú)特殊情況,不用修改,直接執(zhí)行下面這條命令)
oracle>netca -silent -responsefile /opt/app/database/response/netca.rsp
總結(jié):
- 本文只是簡(jiǎn)單的安裝數(shù)據(jù)庫(kù)軟件和建庫(kù),基本參數(shù)的調(diào)整將會(huì)放到下一篇文章。