所需軟體:oracle11.2.0.4安裝包、Xshell 6、Xmanager 6
環境說明:宿主機ip:192.168.88.2
虛機ip:192.168.88.200
虛機記憶體:2G
虛機主機名:vm-demo
oracle資料庫名:orcl
oracle例項名:orcl
命令說明:root#ls -l表示在root使用者下執行
oracle>ls -l 表示在oracle使用者下執行
用root使用者修改核心配置檔案/etc/sysctl。conf。
同時可以擁有的的非同步IO請求數目。 推薦值:1048576
fs。aio-max-nr = 1048576
系統允許的檔案控制代碼最大數目,代表linux系統可以開啟的檔案數量
fs。file-max = 6815744
物理記憶體K數/4K(根據虛機的實際記憶體設定,以下是2G記憶體的設定)
kernel。shmall = 524288
可取的最大值為物理記憶體值-1byte,建議值為多於物理記憶體的一半(根據虛機的實際記憶體設定,以下是2G記憶體的設定)
kernel。shmmax = 2147483647
共享記憶體段的最大數量,取預設值4096
kernel。shmmni = 4096
250是引數semmsl的值,表示一個訊號量集合中能夠包含的訊號量最大數目。
32000是引數semmns的值,表示系統內可允許的訊號量最大數目。
100是引數semopm的值,表示單個semopm()呼叫在一個訊號量集合上可以執行的運算元量。
128是引數semmni的值,表示系統訊號量集合總數。
kernel。sem = 250 32000 100 128
應用程式可使用的IPv4埠範圍。
net。ipv4。ip_local_port_range = 9000 65535
套接字接收緩衝區大小的預設值。
net。core。rmem_default = 262144
套接字接收緩衝區大小的最大值。
net。core。rmem_max = 4194304
套接字傳送緩衝區大小的預設值。
net。core。wmem_default = 262144
套接字傳送緩衝區大小的最大值。
net。core。wmem_max = 1048586
以上引數除了有說明需要根據實際情況設定,其它引數照抄即可。執行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使用者建立swap分割槽。
透過命令swapon -s來檢查當前是否有swap分割槽。swap分割槽有2種:分割槽或檔案;可以任意選一種建立(建立swap檔案較為方便),大小為4G(記憶體大小的1。5-2倍)。
建立swap分割槽
fdisk -l 檢視磁碟是否還有剩餘未分配的扇區:若有,使用fdisk來格式化成swap分割槽(分割槽型別為82);若無,在虛機新新增一塊硬碟,然後按下面步驟操作:
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
建立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檔案,增加以下內容:
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使用者關閉selinux、關閉firewalld服務
修改/etc/selinux/config裡的SELINUX=disabled
關閉firewalld服務
root#systemctl stop firewalld
root#systemctl disable firewalld
用root使用者配置/etc/hosts
修改/etc/hosts增加一行:
檢查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只是安裝程式目錄。安裝全部完成後,如果空間緊張,可以刪除。
如果選擇靜默安裝,請跳至靜默安裝部分;否則,進行圖形介面配置。
用root使用者修改/etc/ssh/sshd_config,重啟sshd服務。
X11Forwarding yes
AllowTcpForwarding yes
root#
systemctl restart sshd
在Windows機器安裝XManager,執行Xmanager - Passive,預設是:0。0(即6000埠)。
開啟Xshell6,隧道選項裡要選中x11轉移;telnet 宿主機ip(192。168。88。2)的6000埠(:0。0)要通。
設定X伺服器的訪問許可權。
root#
su - oracle
oracle>
export DISPLAY=192。168。88。2:0:0。0
oracle>
xhost +
cd /opt/app/database 執行。/runInstaller,看圖形介面是否能啟動。
看到如下介面,成功啟動圖形介面。
以下均是圖形介面,不再詳細描述。
OSOPER組不用選。
pdksh包在linux下叫ksh,之前yum時已經檢查安裝。此處若只有這一項,可忽略。
在快安裝完的時候,會報錯: Error in invoking target ‘agent nmhs’ of makefile
解決方案:
修改$ORACLE_HOME/sysman/lib/ins_emagent。mk,將 $(MK_EMAGENT_NMECTL)修改為:$(MK_EMAGENT_NMECTL) -lnnz11,然後“Retry”。
按提示執行orainstRoot。sh和root。sh指令碼
至此,oracle軟體安裝完成。
用netca配置監聽。
dbca建庫
在輸入“Global Database Name”和“SID”時,若出現下圖的情況(輸一個字元,顯示有2個),請切換一下輸入法(按ctrl+空格)。
配置企業管理器可選,也可不選。
儲存位置可以選擇系統預設的使用模板資料庫檔案位置,也可以自定義一個檔案位置。
指定閃回區和開啟歸檔模式可以先不選,等後續安裝完後再配置。
字符集選擇:ZHS16GBK;其他預設
控制檔案數量:最少有2個。最好放在不同位置(截圖上是演示環境,就放在一個目錄裡
)
重做日誌組數量預設3個,後續可以增加;成員大小預設是50M,對於正式環境,建議改成500M。
至此,建庫完成。
lsnrctl status檢查監聽狀態
檢視監聽狀態:
oracle>
lsnrctl status
oracle>
lsnrctl reload重啟
監聽檔案說明:
按上述方法建立的監聽是動態監聽,靜態檔案($ORACLE_HOME/network/admin/listener。ora)內容如下:
可以將配置檔案改成如下方式,則為靜態監聽。
靜態監聽啟動後,此處為unknown;而動態靜態為ready。
Oracle的靜默安裝。
在/opt/app/database/response下有3個rsp檔案:
a、db_install。rsp:安裝oracle軟體的響應檔案
b、dbca。rsp:建庫用的響應檔案
c、netca。rsp:建監聽用的響應檔案
根據實際情況修改下面列出的引數,沒有列出的引數就取預設值。
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
修改完後,執行下面這條命令:
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”
修改完後,執行下面這條命令:
oracle>
dbca -silent -responseFile /opt/app/database/response/dbca。rsp
netca。rsp(無特殊情況,不用修改,直接執行下面這條命令)
oracle>
netca -silent -responsefile /opt/app/database/response/netca。rsp
總結:
本文只是簡單的安裝資料庫軟體和建庫,基本引數的調整將會放到下一篇文章。