- 威望
- 1326
- 金錢
- 6391
- 貢獻
- 293
- 熱誠
- 315
- 分享
- 160
- 角色
- 不分/均可 (versatile/both)
- 最後登錄
- 2014-3-12
|
1#
發表於 2010-8-19 23:57
| 只看該作者
[資源分享] [教學] ORACLE v8.1.7 FOR Linux Red Hat Enterprise AS 3.0 安裝筆記
*****************************************************
ORACLE v8.1.7 FOR Linux Red Hat Enterprise AS 3.0 安裝筆記
--written by Dandy
*****************************************************
1.以 root 的身分簽入,建立使用者 oracle 及群組 dba,並使oracle的群組為dba。
#groupadd dba
#useradd oracle -g dba
2.先用下列指令檢查系統內是否有安裝並符合下列套件,若不符合請安裝
#rpm -q glibc
#rpm -q tcl
應該會得到下列結果:
*glibc-2.3.2-95.3 --(GLIBC package version 2.1 or higher)
*tcl-8.3.5-92 --(TCL library version 7.5 or higher)http://www.scriptics.com
3.因為RHEL 3.0的binutils與Oracle 8i有不相容的情況,所以可採用RedHat7.0
所附的binutils-2.10.0.18-1.i386.rpm,
或從此下載,
ftp://ftp.redhat.com/pub/redhat/ ... .10.0.18-1.i386.rpm
或使用較穩的binutils-2.10.91.0.4-1.i386.rpm
http://www.kernel.org/pub/linux/ ... 0.91.0.4-1.i386.rpm
#rpm -Uvh --force --nodeps binutils-2.10.91.0.4-1.i386.rpm
4.由於Oracle 8i的開發平台是建立在glibc 2.1(RedHat 6.2)上,所以在RedHat 7.x以上就無法正常運作,
所以在安裝RedHat 7.x以上時須選擇Red Hat Linux 6.2相容套件,並執行下列指令:
$export LD_ASSUME_KERNEL=2.2.5
<***>此指令非常重要,也可在執行runInstaller.sh之前執行
<***>因為Oracle 8i跟RedHat 7的glibc 2.3不相容,會產生建立資料庫時的錯誤,
所以需要glibc 2.1 compatibility SDK, i386-glibc-2.1-linux.tar.gz,
由http://ftp.valinux.com/pub/suppo ... bc-2.1-linux.tar.gz取得後,
進行下列步驟:
<p1>.解壓縮到/usr
#cd /
#tar zxvf /tmp/i386-glibc-2.1-linux.tar.gz
<p2>.將/usr/bin裡的gcc,ld備份到saved,另link到/usr/i386-glibc-2.1-linux/bin
#cd /usr/bin
#mkdir saved
#mv gcc ld saved
#ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-gcc gcc
#ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-ld ld
<p3>.將/usr/lib裡的libc.so,ibdl.so,libm.so,libpthread.so,libc.a,libdl.a,libm.a,libpthread.a備份
#cd /usr/lib
#mkdir saved
#mv libc.so libdl.so libm.so libpthread.so saved
#mv libc.a libdl.a libm.a libpthread.a saved
5.安裝JDK1.1.8
取得 JDK1.1.8 檔案 jdk118_v3-glibc-213tar.bz2, download後存放於 /tmp,執行下面指令 :
$cd /tmp
$tar -xvjf jdk-1.1.8_v3.tar.bz2 -C /usr/local
$ln -s /usr/local/jdk118_v3 /usr/local/java
6.確保使用者 oracle 擁有初始目錄 (home directory)
$ chown -R oracle.dba /oracle
7.重新以oracle身份登入,在home裡面修改oracle環境參數,
a.bash--.bash_profile,加入下列幾行(假設機器名稱為localhost):
b.sh --.profile
#Oracle 環境變數
PATH=$PATH:/oracle/8.1.7/bin; export PATH
DISPLAY=localhost:0.0
ORACLE_OWNER=oracle;export ORACLE_OWNER
ORACLE_HOME=/oracle/8.1.7; export ORACLE_HOME
ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_SID=ORCL; export ORACLE_SID
ORACLE_TERM=vt100;export ORACLE_TERM
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data;export ORA_NLS33
NLS_LANG="TRADITIONAL CHINESE.ZHT16BIG5";export NLS_LANG
CLASSPATH=/usr/lib/jdk/lib/classes.zip; export CLASSPATH
umask 022
c.csh --.cshrc
#Oracle 環境變數
set path =($path /oracle/8.1.7/bin .)
setenv DISPLAY=ordb:0.0
setenv ORACLE_HOME /home/oracle/8.1.7
setenv ORACLE_BASE /home/oracle
setenv ORACLE_OWNER=oracle
setenv ORACLE_SID ORCL
setenv NLS_LANG "TRADITIONAL CHINESE.ZHT16BIG5"
setenv ORACLE_TERM=vt100
umask 022
8.把CDROM mount上去,將linux81701.tar由CDROM解壓縮至/tmp
$cd /tmp
$tar xvf /mnt/cdrom/linux81701.tar /tmp
產生Disk1的目錄
9.一切就緒,登出系統,重新以oracle登入,先確定環境變數是否正確
$env
10.啟動XWindow開始安裝:
$startx
開啟xterm,執行安裝程式便可開啟Java安裝畫面
$cd /tmp/Disk1
$./runInstaller.sh
或直接打開GNU Midnight Command(桌面上的Home Directory資料夾),
到/tmp/Oracle8iR2,執行runInstaller.sh
11.若看見安裝界面是oo的亂碼,請先退出,在xterm裡下一指令:
$export LC_ALL=en_US
12.依照畫面執行即可,遇到UNIX GROUP NAME時,UNIX GROUP NAME留空白跳過,請按Next繼續.
12.遇到OUI的訊息提示有些檔案需有root權限,在xterm裡su成root下一指令:
$su
#/oracle/8.1.7/orainstRoot.sh -->在/etc/裡增加檔案oraInst.loc
13.下一步選擇Oracle 8i Enterprise Edition 8.1.7.1.0
14.下一步選擇Custom安裝,將所有選項打勾,約需1.6GB左右,再選擇語系(Product Languages),加入
繁體中文(Traditional Chinese)
15.下一步提示JDK的安裝路徑, 輸入/usr/local/java,按Next繼續.
16.下一步提示Privileged Operating System Groups,設定資料庫群組,default都為dba,請按Next繼續.
17.下一步選擇要不要在安裝時Create Database,選"YES"繼續
18.給予Global Database名稱和SID,由於Oracle 8i提供全球資料庫串連功能,所以你必須要為你的資料庫取一個
獨一無二的名稱,不管你的資料庫分散在世界各地都可以直接存取,Global Database name 最好是ordb.oracle.com的格式
19.安裝將近結束時(約64%),會發生link錯誤,請開啟xterm安裝oracle的glibc patch.
請開啟xterm,以oracle身份解壓glibc-2.1.3-stubs.tar.gz
$cd /tmp
$mkdir glibc
$cd glibc
$tar zxvf glibc-2.1.3-stubs.tar.gz
$cd lib
$cp -rf stubs /oracle/8.1.7/lib
$setup_stubs.sh
<ps>應該會有兩次link錯誤,一次是64%,一次是94%,第二次應該修改/etc/ld.so.conf,
加入/oracle/8.1.7/lib,執行ldconfig
20.安裝至最後會提示執行 root.sh,請開xterm,以root身份執行/oracle/8.1.7/root.sh
$su
#sh /oracle/8.1.7/root.sh
local bin directory:/usr/local/bin
21.開始建立資料庫Create Database
有三種型態的資料庫可選擇
1.Online Transaction Process(OLTP):線上交易型
2.Data Warehousing:資料倉儲型
3.Multipurpose:多目標型
請選擇Multipurpose(多目標型)
22.輸入連線人數,內定為15個user,先設為60
23.選擇要操作的default的資料庫,有
1.Dedicated Server Mode(專用伺服器)--oracle將對每一個client分配資源,若client數目較預期少,或
client持續且長時間向server做request時.
2.Share Server Mode(共享伺服器)--oralce自動將數個client共享分配資源,適用於用戶較多時.
MTS(Multi Transaction Service)將被啟動.
若一般情況請選擇Dedicated Server Mode.
24.選擇options選項,請依照需求選取.
25.確定Global Database Name,SID,Initializaion Filename,Compatible Patameter,按Next繼續
26.確定Control Files,Maximum Datafiles,Maximum Log Files,Maximum Log Members,按Next繼續
27.確定System Tablespace,改變temporary和rollback這兩個tabs的大小為150Mb,按Next繼續.
28.確定Redo Log,改變大小為10000K,按Next繼續
29.確認Logging parameter,Enable Archive Log要打勾,按Next繼續
30.SGA 參數,增加Processes到100; Block Size到4096(此參數較適合small Linux boxes;
在大型的Solaris SUN上面最好調成8192,),按Next繼續
31.Trace File Directory,按Next繼續
32.Create database now,按Finish開始建立資料庫,128MB RAM約需2-3hr.
33.建立完畢後,安裝程序結束.離開Xwindow.
34.修改/etc/oratab,修改此行
ORCL:/oracle/8.1.7:Y
^^ dbstart 時 ORCL instance 自動起來
35.listener 自動啟動安裝,
<在/oracle/8.1.7/bin/dbstart 加入>
##自動啟動Listner
if [ -f $ORACLE_HOME/bin/lsnrctl ] ; then
$ORACLE_HOME/bin/lsnrctl start
fi
##自動啟動Oracle Apache Jserv
if [ -f $ORACLE_HOME/Apache/Apache/bin/httpdsctl ] ; then
$ORACLE_HOME/Apache/Apache/bin/httpdsctl start
fi
<在/oracle/8.1.7/bin/dbshut 加入>
##自動關閉Listner
if [ -f $ORACLE_HOME/bin/lsnrctl ] ; then
$ORACLE_HOME/bin/lsnrctl stop
fi
##自動關閉Oracle Apache Jserv
if [ -f $ORACLE_HOME/Apache/Apache/bin/httpdsctl ] ; then
$ORACLE_HOME/Apache/Apache/bin/httpdsctl stop
fi
##清除連線記錄
rm -f @ORACLE_HOME/network/log/listener.log
36.完成後請測試
$/oracle/8.1.7/bin/dbstart
$/oracle/8.1.7/bin/dbshut
37.開機自動啟動 Oracle
請將oracle8i這個script cp至/etc/rc.d/init.d
$cp oracle8i /etc/rc.d/init.d
再加入開機服務程序中
#chkconfig --add oracle8i
#linuxconf
用linuxconf即可控制啟動的層次.
38. Oracle的內定用戶 (Default User)
在建立資料庫時,會自動產生兩個特別的用戶:
--------------------------------------------------------
Username Password
-------- -------------------
SYSTEM manager
SYS change_on_install
39.大功告成,將Oracle的Demo資料庫加入=>有名的SCOTT/TIGER測試帳號
SQL>@/oracle/8.1.7/rdbms/admin/utlsampl.sql
40.載入Oracle的測試script檔
SQL>SELECT * FROM TAB;
41.由於Oracle 8.1.7自帶有Apache Jserver,可由http://ordb:7777啟動,內有一個BC4J的範例檔,由以下步驟建立.
--<1>建立使用者bc4j
create user BC4J identified by BC4J;
<2>授權
grant resource,connect to BC4J;
<3>設定BC4J的Java 2(JServer)權限
SET VERIFY OFF;
EXEC DBMS_JAVA.GRANT_PERMISSION('BC4J', 'SYS:java.util.PropertyPermission', '*', 'write');
EXEC DBMS_JAVA.GRANT_PERMISSION('BC4J', 'SYS:java.util.PropertyPermission', '*', 'read');
EXEC DBMS_JAVA.GRANT_PERMISSION('BC4J', 'SYS:java.lang.RuntimePermission', 'createClassLoader', null);
EXEC DBMS_JAVA.GRANT_PERMISSION('BC4J', 'SYS:java.lang.RuntimePermission', 'setContextClassLoader', null);
COMMIT;
SET VERIFY ON;
EXIT;
<4>重新登入
connect BC4J/BC4J@ordb.oracle.com
<5>執行範例檔的pl/sql
@/oracle/8.1.7/Apache/BC4J/samples/onlineorders/sql_install/OnlineOrders.sql
42.修改kernel參數
Oracle 使用Linux的shared memory來運行SGA,所以要調整kernel參數符合SGA,
$ ipcs -al
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 32768 <--------------------------linux預設值是32Mb
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1
------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 32
semaphore max value = 32767
------ Messages: Limits --------
max queues system wide = 16
max size of message (bytes) = 8192
default max size of queue (bytes) = 16384
shmmax是以位元組記的共用記憶體段的最大尺寸,
shmmni是共用記憶體段的最大數量
shmmax是共用記憶體總共最大容量(shmmax*shmmni)
sem是信號量參數,msgmax,msgmnb,msgmni是message queue的參數。
要改變share memory只能重新recompiler kernel,或者直接在proc設定,但重開就會恢復default設定
#echo 134217728 > /proc/sys/kernel/shmmax (SGA最大為128M)
#echo -e "250 32000 100 128" > /proc/sys/kernel/sem
請加入/etc/rc.d/rc.local,開機載入
------------------------------------------
以下為另一種參考值
cd /proc/sys/kernel/
echo 100 32000 100 100 > sem
echo 2147483648 > shmmax
echo 4096 > shmmni
echo 2097152 > shmall
echo 65536 > /proc/sys/fs/file-max
echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
------------------------------------------
43./oracle/8.1.7/bin/netasst有jre的bug,
$pico netasst
將$JRE -classpath $CLASSPATH oracle.net.asst.container.NetApplication oracle.net.asst.container.NetApplication
換成
$JRE -nojit -classpath $CLASSPATH oracle.net.asst.container.NetApplication oracle.net.asst.container.NetApplication
^^^^^^
在xwindow內即可執行netasst,執行前還是先
$export LD_ASSUME_KERNEL=2.2.5
$export LC_ALL=en_US
$netasst
44.Xwindow中開啟DBA Studio
$export LD_ASSUME_KERNEL=2.2.5
$export LC_ALL=en_US
$oemapp dbastudio
45.COMPLETE.
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
<不選擇Typical Configuration的做法>
19.請確定Typical Configuration沒有打勾,按Next繼續進入Oracle Database Configuration Assistant.
20.進入Directory Service Access,選擇No,按Next繼續
21.下一步Listener Name,輸入LISTENER,按Next繼續
22.下一步為通訊協定選擇,至少要有TCP,按Next繼續
23.下一步為TCP/IP Port選擇,default為1521,按Next繼續
24.下一步為Naming Methods Configuration,選No,Naming Methods Configuration
25.下一步為Listener設定結束,按Finish繼續
26.再回到建立資料庫的步驟. |
大家好我叫祐祐唷^^~
希望能與各位大大多多認識交流^^~ |
|