- 環境信息
suse 11 sp4 64位 企業版
配置:
虛擬機,1U4CORE,4GB內存,100GB存儲(實際可用空間20GB)
- linux環境配置修改
在安裝oracle之前,需要先對linux 的內核參數做一些調整。
首先修改 /etc/security/limits.conf 配置文件
在末尾增加
#oracle software oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
修改 /etc/pam.d/login 配置文件
在末尾增加
#oracle software session required /lib/security/pam_limits.so session required pam_limits.so
修改 /etc/sysctl.conf 配置文件,增加
fs.file-max = 6815744 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 kernel.shmmax = 2147483648 ernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144
net.core.wmem_max=1048576
【一些參數可以通過以下命令獲取】
cat /proc/sys/kernel/sem cat /proc/sys/kernel/shmall cat /proc/sys/kernel/shmmax cat /proc/sys/kernel/shmmni cat /proc/sys/net/core/rmem_default cat /proc/sys/net/core/wmem_default cat /proc/sys/net/core/wmem_max cat /proc/sys/net/ipv4 cat /proc/sys/fs/file-max cat /proc/sys/net/ipv4/ip_local_port_range
安裝oracle 需要至少 4GB 的swap 交換空間,而作者的環境只有2GB,所以需要增加swap 大小
在/tmp 目錄下創建一個 swap 目錄,使用dd 命令生成一個3GB 的文件
mkdir /tmp/swap ; cd /tmp/swap ; dd if=/dev/zero of=swapfree bs=1M count=3072 ;
創建swap
mkswap swapfree
將 swapfree 文件增加到 系統的swap 交換空間上
swapon swapfree
增加開機時加載 sysctl 相關參數
/sbin/chkconfig boot.sysctl on
立即生效
/sbin/sysctl -p
修改 /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
- 解決oracle 依賴包
在使用zypper 命令前,應該先確保安裝的ISO 文件被添加到zypper 安裝源上,如果讀者不知道如何操作,可以參考以下博客:
zypper install gcc-32bit zypper install gcc-c++ zypper install libaio-devel zypper install libaio-devel-32bit zypper install libstdc++43-devel-32bit zypper install libstdc++-devel-4.3 zypper install sysstat-8.1.5
- 創建oracle 系統用戶
創建系統用戶組和用戶
groupadd oracle
useradd -g oracle -m oracle
修改oracle 用戶密碼
passwd oracle
切換oracle 用戶,然后創建一些初始目錄
cd /home/oracle mkdir app mkdir app/oracle mkdir app/data mkdir app/product
安裝oracle 11g
讀者可以直接從oracle 的官方網站下載安裝包,下載完全免費,不需要導出找下載連接。
官網地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
作者是將 linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip 兩個壓縮文件都是以oracle 用戶的權限上傳到 /home/oracle 目錄下。
解壓zip 文件
unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip
進入database 目錄,執行runInstaller 程序。
這里需要提醒讀者,oracle 11g 安裝一定需要圖形化界面,另外用戶一定要在oracle 用戶下登陸圖形化界面執行 runInstaller 程序,否則將會出現“無法使用命令 /usr/bin/xdpyinfo 自動檢查顯示器顏色” 錯誤
安裝的過程都是圖形界面,這里作者沒有每個步驟截圖,但是大家可以參考以下博客進行操作
http://www.cnblogs.com/zhangyongli2011/archive/2012/04/04/2431953.html
安裝即將結束時,runInstaller 程序會彈出一個窗口,讓用戶在之后使用root 權限執行以下兩個文件
將系統用戶切換為root,在shell中繼續執行,執行完以下兩個腳本后,oracle部署就基本結束
sh /home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh sh /home/oracle/app/oraInventory/orainstRoot.sh
- 將 oracle 的執行命令和配置相關環境變量到oracle 用戶中
在系統 oracle 用戶下創建bash_profile 文件
vi ~/.bash_profile
增加以下內容
export ORACLE_BASE=/home/oracle/app export ORACLE_HOME=${ORACLE_BASE}/oracle/product/11.2.0/dbhome_1 export ORACLE_HOME_LISTNER=${ORACLE_HOME} export ORACLE_SID=orcl export PATH=${PATH}:${ORACLE_HOME}/bin export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:/usr/lib export DISPLAY=:0.0
設置 DISPLAY 參數環境變量,用戶可以通過以下命令查看
who
例如作者在shell 中執行 who 命令顯示
oracle :0 2017-08-22 13:53 oracle pts/1 2017-08-22 13:54 (:0.0) oracle pts/2 2017-08-22 14:13 (:0.0)
則在 ~/.bash_profile 中增加
export DISPLAY=:0.0
讓該配置實時生效
source ~/.bash_profile
- 新建oracle 數據庫
在系統 root 用戶下執行
xhost local:oracle non-network local connections being added to access control list
再切換回 oracle 用戶執行,注意,此時的圖形化界面依然是使用 oracle 用戶登錄的
dbca
圖形化界面上出現oracle 新建database 的窗口,點擊“next”后,彈出以下界面,直接選擇“continue”
選擇”create database“,點擊”next“
選擇”custom database“,點擊”next“
填寫”orcl“,點擊”next“
不勾選任何選項,直接點擊”next“
設置密碼,用戶按照自己的喜好進行設置,該密碼為oracle 管理員賬戶的密碼,即“system”和 “sys” 用戶的密碼。
數據庫存儲位置,默認就好
不指定”快速恢復歸檔“
忽略多余的模塊
內存分配和選擇字符集,這里作者選擇使用”utf8“
最后一個步驟,直接點擊”next“和下一頁的“finish”
出現以下窗口則證明創建成功。
- 設置監聽及本地網絡服務
在oracle 用戶下執行 netca 命令,啟動設置網絡監聽的設置窗口 (圖形化界面的登陸用戶依然是oracle)
選擇新建一個監聽服務,允許別的oracle客戶端可以連接到本地的oracle 數據庫服務。
選擇端口,默認為“1521”
設置完成,點擊“next”
設置本地網絡服務名(充當oracle 客戶端,連接別的oracle 服務器)
輸入數據庫的實例名,填寫”orcl“
填寫oracle 服務端 機器名,此處可以填寫hostname ,也可以填寫 ip 地址,由於作者機器ip 可能會發生變化,所以此處作者使用 HOSTNAME 代替。
在作者的環境中,HOSTNAME=chen, 並且 /etc/hosts 文件中包含 ip 地址和 hostname 的映射關系
連接測試
點擊”change login“, 更換連接數據庫服務其的賬號
用戶名填寫“system”,密碼填寫上面創建 database 時的密碼
如果能出現“Connecting ... Test successful"則代表設置成功,點擊”next“
為我們本地網絡服務起一個名字,作者填寫“orcl_ic"
選擇”finish“ 結束設置
- 設置開機自啟動
新建一個 /etc/init.d/after.local 腳本,該腳本為開機后最后執行的步驟腳本,如果該文件已經存在,則直接打開即可
增加以下內容,包含關閉系統放火牆、開啟oracle 監聽和 oracle 數據庫服務
#!/bin/bash
/sbin/SuSEfirewall2 stop
su oracle -lc "/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"
su oracle -lc "/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/dbstart"
修改 /etc/oratab 文件 (在oracle 用戶下操作)
將老的內容
orcl:/home/oracle/app/oracle/product/11.2.0/dbhome_1:N
修改為以下內容,保存退出
orcl:/home/oracle/app/oracle/product/11.2.0/dbhome_1:Y
分別修改 /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/dbstart (80行) 和 /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/dbshut (50行)文件
將以下代碼注釋 #ORACLE_HOME_LISTNER=$1
修改
ORACLE_HOME_LISTNER=${ORACLE_HOME}
參考博客:
http://www.cnblogs.com/zhangyongli2011/archive/2012/04/04/2431953.html
http://www.itexamprep.com/cn/oracle/soft/2011/0505/2027.html
http://blog.csdn.net/luoxia0805/article/details/24887723
http://www.cnblogs.com/Anonymous-1/p/4996326.html
http://blog.sina.com.cn/s/blog_5de102fb0101dr8b.html