一、準備工作
◆1.下載oracle 9i for linux
◆2.下載補丁
p3006854_9204_LINUX.zip 在運行 runInstaller 之前打.
(解壓出來的名稱是rhel3_pre_install.sh)
◆3.修改內核參數 (不用到rman的話這裏就不用做了,要是用的話就得設置了)
echo "kernel.sem=\"250 32000 100 128\"" >> /etc/sysctl.conf
echo "kernel.shmmax=2147483648" >> /etc/sysctl.conf
設置內核參數
查看內核參數的值 cat sem或者more sem
echo 100 32000 100 100 > /proc/sys/kernel/sem
/* 其中, 100 是參數SEMMSL的值,
32000是參數SEMMNS的值,
100是參數SEMOPM的值,
而100則是參數SEMMNI的值。
echo 02653184 > /proc/sys/kernel/shmmax
/*設置共享內存大小,共享內存一般為物理內存的一半(318M RAM)
echo 4294967295 > /proc/sys/kernel/shmmax
/*設置共享內存大小,共享內存一般為物理內存的一半(512MB 4294967295)
根據內存大小而定。
第一條命令中的 250、32000、100、128 分別
對應SEMMSL、SEMMNS、SEMOPM、SEMMNI這四個核心參數。
上面是典型的核心參數配置.您可能需要根據您的實際環境進行適當的變動.
◆4.檢查設置
more /etc/sysctl.conf | grep kernel.s
kernel.sysrq = 0
kernel.shmmax=2147483648
kernel.sem="250 32000 100 128"
◆5.檢查安裝所需的rpm包是否齊全
<其實安裝linux AS 3 U8 的時候選擇全部安裝,以下這些就默認安裝上的,可以略過.>
確認以下rpm包都已經安裝(如果你安裝時選擇了全部安裝,那麽基本上下面所列的包都已經安裝了,
如果沒有安裝,大部分在第三張光盤上,安裝時註意一下順序)
# rpm -qa | grep compat
compat-gcc-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-glibc-7.x-2.2.4.32.5
compat-db-4.0.14-5
# rpm -qa | grep openmotif
openmotif-2.2.2-16
openmotif-devel-2.2.2-16
# rpm -qa | grep setarch
setarch-1.3-1[/quote:db788a2c24]
◆6.把gcc,g++更換為2.96的版本。----linux as 3下這步不用做,這裏作為參考
[quote:db788a2c24]# mv /usr/bin/gcc /usr/bin/gcc323
# ln -s /usr/bin/gcc296 /usr/bin/gcc
# mv /usr/bin/g++ /usr/bin/g++323
# ln -s /usr/bin/gcc296 /usr/bin/gcc
◆7.設置用戶及環境變量、安裝目標路徑
a.增加用戶和組
groupadd dba # 創建數據庫管理員組
groupadd oinstall # 創建oracle文件的所有組
useradd -g oinstall -G dba oracle #創建oracle用戶
passwd oracle #設置oracle用戶的密碼
b.創建安裝目標路徑(這個自己定義了,一般我都是根目錄下建立,好找)
mkdir /opt/oracle
mkdir /opt/oracle/product
mkdir /opt/oracle/product/9.2.0
chown -R oracle.oinstall /opt/oracle
mkdir /var/opt/oracle
chown oracle.dba /var/opt/oracle
chmod 755 /var/opt/oracle
c.設置環境變量
su - oracle
vi .bash_profile加入下面的內容
export LD_ASSUME_KERNEL=2.4.1 #這個參數必須指定,否則Java安裝界面無法啟動,
這個參數實際上是為了避免Linux上的NPTL(Native POSIX Thread Library)和Oracle應用不兼容的問題.
# Oracle Environment
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/9.2.0
export ORACLE_SID=test
export ORACLE_TERM=xterm
# export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
然後執行
$ source .bash_profe #讓配置文件生效
◆8.設置swap和臨時文件夾
<我這裏的配置都夠,所以這步就沒做,其實現在Pc的配置都可以,這步也可以忽略不設置,直接到9步>
oracle對內存和swap要求比較高,Oracle 建議 Oracle 9i 服務器至少需要 512M 內存,
兩倍內存或不少於 400M 的交換 (swap) 空間。如果你沒有足夠的交換空間或內存,
在數據庫創建過程中,你的 Oracle 服務器將變得非常遲鈍。
內存只有256M,512M的swap,新增了1000M的swap。
su root
dd if=/dev/zero of=tmpswap bs=100M count=10
chmod 600 tmpswap
mkswap tmpswap
swapon tmpswap
另外,oracle的安裝至少需要400M的/tmp臨時空間。
如果你/tmp下的空間不夠,可以可以臨時在另一個文件系統中建立一個/tmp 目錄。
su root
mkdir //tmp
chown root.root //tmp
chmod 1777 //tmp
export TEMP=/ # used by Oracle
export TMPDIR=/ # used by Linux programs
當安裝完 Oracle 之後,關閉 Oracle 並刪除臨時目錄:
su root
rmdir //tmp
unset TEMP
unset TMPDIR
Oracle 磁盤空間 (Sizing Oracle Disk Space)
僅安裝數據庫軟件,大約需要2.5G 的磁盤空間。
如果執行一個標準的數據庫安裝而不是自定義安裝,則大約需要3.5G空間。
◆9.解包安裝文件。<這個用戶自己定義,只要以oracle用戶建立的文件夾就成>
把下載的文件拷貝到/tmp中。以oracle那個用戶身份來解壓,如果用root解壓,解壓後的權限都是root. 以後管理是個麻煩.
a.解壓
gunzip lnx_920_disk1.cpio.gz lnx_920_disk2.cpio.gz lnx_920_disk3.cpio.gz Linux9i_Disk3.cpio.gz
b.解包
cpio -idmv < lnx_920_disk1.cpio
cpio -idmv < lnx_920_disk2.cpio
cpio -idmv < lnx_920_disk3.cpio
會生成Disk1,Disk2,Disk3三個文件夾, 好了,準備工作告一段落。
二、安裝數據庫軟件,不建庫.......
◆1.打第一個補丁。
運行runInstaller之前,需要打補丁3006854: 註意,必須以root身份運行.
# unzip p3006854_9204_LINUX.zip
會在當前目錄下創建一個目錄,進入到該目錄中
# cd 3006854
#chmod +x *.sh
# ./rhel3_pre_install.sh
◆2.運行runinstall
1)su - oracle
2)/tmp/Disk1/runInstaller
(進入到Disk1的文件夾中再執行./runInstaller,也可以)
3) 過一會兒就會出現Oracle的安裝界面
(如果安裝界面為亂碼 請輸入:
export LC_ALL=en_US <這個不做也可以>
export LANG=en_US
再執行 ./runinstaller )
4) 點擊「Next」進行下一步
5) 選擇默認,點擊「OK」繼續
6) 輸入組名「輸入oinstall,或者是Dba都可以」,點擊「Next」進行下一步
7) 按照提示,另開一個終端,以root用戶執行/tmp/orainstRoot.sh命令
8) 等命令瞬間執行完畢後,點擊「Continue」進行下一步
9) 選擇默認,點擊「Next」繼續
10) 「Loading product」後,進入下一步的安裝界面
11) 選擇「Oracle9i Database 9.2.0.4.0」並選擇「Product Languages」進行語言的設置
12) 選擇支持國語的「Simplified Chinese」、「Traditional Chinese」,點擊「OK」
13) 這裏選擇「Enterprise Edition(2.56GB)」進行安裝,點擊「Next」
14) 等候安裝進程的執行,進入下一個安裝界面
15) 選擇「Software Only」,以後我們可以用dbca工具來建庫(一般是先只安裝software only)
16) 點擊「Install」,來開始安裝數據庫了
17) 安裝等候「link pending……」,繼續
18) 經過漫長的等待,就終於見到了期待已久的界面
19) 按照提示,按ctrl+shift+n新開一個終端窗口,以root用戶在終端執行/opt/oracle/product/9.2.0/root.sh。
20) 執行語句後,回車,使用默認的路徑,一定要等待語句執行完畢後,才返回安裝界面,點擊「OK」
21) 到了這個畫面,證明數據庫安裝成功了,可以松一口氣了。
22) 點擊「Exit」退出界面,後會跳出OEM的畫面。
◆3.升級
解包:
unzip p4547809_92080_LINUX.zip -d /oarcle/9208
(建立這個文件夾放到有oracle權限的文件夾就行,用完刪除就行)
現在可以再次運行./runInstaller, 選擇第二個選擇,升級到9208.
然後還會提示你用root身份來執行一個/opt中的一個腳本,你同樣開一個終端,用root身份來執行就可以了。
這個地方有一個問題需要註意,如果直接用oracle身份解壓可能提示權限不夠,
用root身份解壓,然後用oracle身份來執行還會提示你權限不夠,
你用root解壓然後執行
chmod 777 解壓出來的那個文件名,
然後su - oracle
/tmp/Opatch/opatch apply
就ok了。
好了,大功告成了!
運行dbca命令來創建數據庫。
三、清掃戰場及實驗
◆1.刪除臨時文件(這些臨時文件將近3G)
cd /tmp
rm -rf * (強制刪除文件夾以及包含的文件)
◆2.如果沒有改GCC版本的話,可跳過,否則改回gcc,g++的版本,否則在以後編譯安裝其他軟件時可能會有問題
# mv /usr/bin/gcc323 /usr/bin/gcc
# mv /usr/bin/g++323 /usr/bin/g++[/quote:db788a2c24]
◆3.連接一下數據庫,檢查一下自己的勞動成果吧!
su - oracle
oracle$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
四. 創建數據庫:
1) 修改dbca內部參數
在執行dbca這個工具時,界面都可以正常的進行下去,但是到了最後建庫的時候,在命令行出現很多異常錯誤。參考網上相關文檔,判斷為Oracle使用本身自帶java造成的問題。在http://java.sun.com/下載了jdk進行安裝,下載的文件為:
j2sdk-1_4_2_17-linux-i586-rpm.bin;將其復制到oracle權限的目錄下,執行命令:
./j2sdk-1_4_2_17-linux-i586-rpm.bin, 按照提示輸入YES,解壓生成文件:j2sdk-1_4_2_17-linux-i586-rpm.RPM
再執行安裝rpm包命令:rpm –ivh j2sdk-1_4_2_17-linux-i586-rpm.rpm,安裝生成的jdk路徑在/usr/java/j2sdk1.4.2_17下。
修改$ORACLE_HOME/bin下面的dbca文件,
命令vi dbca,按照下面的修改,結果可以成功建庫。
:將原改JRE_DIR=/opt/oracle/product/9.2.0/JRE為 JRE_DIR=/usr/java/j2sdk1.4.2_08/jre
:將
$JRE_DIR/bin/jre -native -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
else
改為
$JRE_DIR/bin/java -native -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
else
:將
$JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
fi
改為
$JRE_DIR/bin/java -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
fi
後保存就可以了。
2) 以oracle用戶在終端執行dbca,就可以建立數據庫了,呵呵!
3) 等待一下,彈出dbca的歡迎界面:
4) 點擊「Next」進行下一步:
5) 選擇「Create a database」來創建數據庫,點擊「Next」,繼續:
6) 選擇「New Database」,點擊「Next」來創建新的數據庫:
7) 輸入數據庫的全局名稱和SID名稱,完成後點擊「Next」繼續:
8) 默認選擇,點擊「Next」繼續:
9) 這裏同樣也是默認選擇,點擊「Next」繼續:
10) 設定Oracle9iR2數據庫初始參數,初始參數設定的優劣直接影響數據庫的執行性能,這裏你也可以選擇「Archive」標簽,把數據庫設成為「存檔模式」:
11) 選擇「Character Sets」進行數據庫字符集設定,點擊「Next」前往下一步:
12) 直接點擊「Next」進行下一步:
13) 你可以鉤選「Save as a Database Template」和「Generate Databse Creation Scripts」,然後點擊「Browse」按鈕將DBCA所做的設定儲存為一個新數據庫模版和創建數據庫時的腳本保存到一個目錄下,以便將來建立數據庫時可以直接使用。然後點擊「Finish」繼續。
14) 「數據庫配置助理」最後會將所有配置設定值整理出一張清單,按下「OK」後就會開始創建數據庫。
15) 要有耐心的等待特別漫長的一段時間後就會進入數據庫建庫完成的階段:
16) 出現上面的窗口時就大功告成了!請您自行指定SYS與SYSTEM這兩個系統管理員的密碼。設定完畢後按下「OK」,就會完成安裝。
17) 好不容易將Oracle9i數據庫系統安裝完畢,接著來檢驗一下,在終端輸入
ps -ef|grep ora_|grep -v grep 命令來確認Oracle9i數據庫的後臺進程已經正常啟動。
備註:
◆1.其實很想在linux as 4 下安裝的,但是oracle 9i不是很支持linux 4 ,所以安裝的時候,出現很多鏈接錯誤,雖然看過很多教程,嚴格按照教程做都不可以,實在沒辦法,只好降級linux系統,再來安裝9i,安裝很順利.
◆2.配套的linux as 3.0,安裝完後必須配置顯卡,不然不能登陸x-windows,安裝時不配置顯卡,安裝後得用如下命令重新配置顯卡才可以登陸:
在紅帽企業Linux 3,在命令行輸入:
redhat-config-xfree86 --reconfig
1)如果您不能啟動x window系統,只看到黑屏,那可能需要輸入[CTL]+[ALT]+[F1] 進入到命令行。
2)以root用戶登錄,執行init 3。這裏將停止當前在XFree86上運行的所有程序。
3)然後運行redhat-config-xfree86 --reconfig。這將會啟動一個小版本的XFree86,將允許你從新配置顯卡和顯示器。如果你拿不準,就使用默認配置。你以後都可以使用同樣的步驟重新配置。
4)完成配置之後,點擊OK。
5)最後,在命令行下,輸入init 5,XFree86將正常啟動。
◆3.如果發現oracle 命令 rman 不能使用,請在命令行查看 whereis rman 就可以看到linux也有命令是rman,所以得修改下.bash_profile.
將
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin 的$ORACLE_HOME/bin放到前面,
成為PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
◆4.創建數據庫時可能出現的問題
以ORACLE用戶鍵入:
dbca
現象一:
ORA-12705:invalid or unknown NLS parameter value specified
解決辦法: 編輯/home/oracle/.bash_profile文件,
把export NLS_LANG=AMERICAN_AMERICAN.ZHS16GBK改為:
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK保存即可
現象二:ORA-27123:unable to attach to shared memory segment(內核問題)
解決辦法:輸入最大的共享內存,以root用戶鍵入:
echo 4294967295 > /proc/sys/kernel/shmmax
現象三:
ORA-00988:missing or invalid password(s)
解決辦法:輸入sys 密碼和system密碼時,第一個輸入的不能是數字