一、安裝前的準備
1、由root執行的任務(用root用戶登錄)
1.1 設置系統變數
1) 用文本編輯器打開"/etc/system" 文件
# vi /etc/system
2)在 "/etc/system" 文件結尾插入如下幾行
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=256
set semsys:seminfo_semmns=1024
set semsys:seminfo_semopm=100
set semsys:seminfo_semvmx=32767
註:
SHMMAX maximum size of a shared memory segment
(共享內存段的最大位元組數)
SHMMIN minimum size of shared memory segment
(共享內存段的最小尺寸)
SHMMNI maximum number of shared memory identifiers in the system
(系統中共享內存標識符的最大數目)
SHMSEG maximum number of shared memory segments a user process can attach
(每個用戶進程可分配的最大共享內存段數目)
SEMMNI maximum number of semaphore identifiers in the system
(系統中信號燈標識符的最大數目)
SEMMSL maximum number of semaphores in a set
(每個(信號燈)集合中的信號燈的最大數目)
SEMMNS maximum number of semaphores in the system
(系統中信號燈的最大數目)
SEMOPM maximum number of operations per semop call
(每個semop調用的信號燈的最大數目)
SEMVMX semaphore maximum value
(信號燈最大值)
注意!
上面提到的 SEMMSL 和 SEMMNS 的值僅適用於最初的安裝,安裝完成後應根據應用的實際情況進行調整,其中
★ SEMMSL 的值可以通過以下方式計算得到:
所有Oracle實例的"init[SID].ora"文件中最大的PROCESSES值 10
★ SEMMNS 的值可以通過以下方式計算得到:
系統中各個Oracle實例的"init[SID].ora"文件中PROCESSES值的總和(不包括最大的那個PROCESSES值) 最大的那個PROCESSES值 * 2 10 * Oracle實例的個數.
註:[SID]即為具體的資料庫實例名
例如,一個有三個 Oracle實例的系統,在各自的"initsid.ora"文件中的PROCESSES參數設置為下列值:
ORACLE_SID=A, PROCESSES=100
ORACLE_SID=B, PROCESSES=100
ORACLE_SID=C, PROCESSES=200
則 SEMMSL 值的計算方法如下:
SEMMSL = [(c=200) 10] = 210
則 SEMMNS 值的計算方法如下:
SEMMNS = [(A=100) (B=100)] [(C=200) * 2] [(# of instances=3) * 10] = 630
對於操作系統,設置的參數值過高會導致機器不能啟動,對參數的限制,請參閱Sun SPARC Solaris系統管理文檔.
3) 重啟系統,以使新的內核參數生效
# sync;sync;reboot
4) 系統重啟后,可以通過sysdef命令檢查 "Maximum Shared Memory" 和 "Minimum Shared Memory" 的數值(在列表底部的"Shared Memory Area" 部分)
# sysdef
1.2 建立組、用戶及相關目錄
1) 創建 "dba" 和 "oinstall" 組,添加用戶名為 "oracle" 的用戶,並為其設置密碼
# groupadd dba
# groupadd oinstall
# useradd -g dba -G oinstall -d /export/home/oracle -m -s /bin/sh oracle
# passwd oracle
以上操作也可通過admintool管理工具來實現
# admintool
2) 創建相關目錄
# mkdir -p /opt/oracle/product/8.1.7
# mkdir -p /opt/oracle/oraInventory
# chown -R oracle:dba /opt/oracle
# mkdir /var/opt/oracle
# chown -R oracle:dba /var/opt/oracle
2、由 "oracle user" 執行的任務
1) 退出root登錄,用之前創建的oracle用戶登錄
2) 修改oracle用戶的 "./profile" 配置文件
$ cd
$ vi .profile
將原來的 PATH 串改為:
PATH=/bin:/usr/bin:/usr/openwin/bin:/usr/sbin:/usr/ccs/bin:/sbin:/opt/oracle/product/8.1.7/bin:
PATH=$PATH:/usr/local/bin:/opt/oracle/admin/bin:.
在 export PATH 串下加入如下幾行:
ADMIN_HOME=/opt/oracle/admin
DISPLAY=localhost:0.0
LD_LIBRARY_PATH=/usr/lib:/usr/openwin/lib:/opt/oracle/product/8.1.7/lib:
LOCAL_HOME=/usr/local
MSGVERB=text:action
NOMSGLABEL=1
NOMSGSEVERITY=1
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/8.1.7
NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280 # for Chinese
#NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
ORACLE_SID=orcl # You may replace "orcl" with your own SID Name you wish to use
export ORACLE_BASE ORACLE_HOME ORACLE_SID ADMIN_HOME LOCAL_HOME
export MSGVERB NOMSGLABEL NOMSGSEVERITY NLS_LANG ORA_NLS33 DISPLAY LD_LIBRARY_PATH
其中,到底使用 "AMERICAN_AMERICA.ZHS16CGB231280" 還是 "SIMPLIFIED CHINESE_CHINA.ZHS16GBK" 視具體情況而定
3) oracle用戶重新登錄,以使之前修改的 ".profile" 文件配置生效
4) 通過set命令檢查剛才的配置是否生效
$ set
5) 進入oracle安裝文件所在目錄並開始進行安裝
(假設oracle817安裝文件存在於"/export/home/oracle/ora817/Disk1")
$ cd /export/home/oracle/ora817/Disk1
$ runInstaller
備忘:
★ 下載的Oracle cpio文件的解開方法為:cpio -idcmv < <filename.cpio>
★ 看到有說用Oracle光碟安裝時換盤時會有無法彈出光碟的情況,通過將安裝光碟cp到硬碟安裝解決
如:將光碟1的所有內容到cp到"/export/home/oracle/ora817/Disk1"中
將光碟2的所有內容到cp到"/export/home/oracle/ora817/Disk2"中
......
目前還未遇到過使用光碟介質來安裝的情況
★ 安裝過程中,當提示要運行 root.sh ($ORACLE_HOME/root.sh)腳本時,要手工打開一個新的console(控制台)以root用戶身份執行.
★ 如安裝完成後初始化資料庫過程中遇到 ORA-03114: not connected to ORACLE 錯誤,則應適當加大 SEMMSL, SEMMNS 等參數的數值.
6) 安裝完后的簡單測試
默認已經是oracle用戶登錄,執行 lsnrctl start 啟動Oracle LISTENER
$ lsnrctl start
當監聽啟動成功后,將會看到如下類似信息:
LSNRCTL for Intel SVR4 UNIX: Version 8.1.7.0.0 - Production on 23-JUN-2002 04:02:46
(c) Copyright 1998 Oracle Corporation. All rights reserved.
Starting /opt/oracle/product/8.1.7/bin/tnslsnr: please wait...
TNSLSNR for Intel SVR4 UNIX: Version 8.1.7.0.0 - Production
System parameter file is /opt/oracle/product/8.1.7/network/admin/listener.ora
Log messages written to /opt/oracle/product/8.1.7/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Listening on:
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=gokmen.selcuk.edu.tr)(PORT=1521)))
Listening on:
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=gokmen.selcuk.edu.tr)(PORT=2481))
(PROTOCOL_STACK=(PRESENTATION=GIOP)
(SESSION=RAW)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Intel SVR4 UNIX: Version 8.1.7.0.0 - Production
Start Date 23-JUN-2002 04:02:47
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security OFF
SNMP OFF
Listener Parameter File /opt/oracle/product/8.1.7/network/admin/listener.ora
Listener Log File /opt/oracle/product/8.1.7/network/log/listener.log
Services Summary...
PLSExtProc has 1 service handler(s)
orcl has 1 service handler(s)
The command completed successfully
如果看到的是如下類似信息,說明監聽已經啟動:
LSNRCTL for Intel SVR4 UNIX: Version 8.1.7.0.0 - Production on 24-JUN-2002 05:02:46
(c) Copyright 1998 Oracle Corporation. All rights reserved.
TNS-01106: Listener using listener name LISTENER has already been started
如果監聽啟動成功,就可以用 dbstart 命令來啟動資料庫了
$ dbstart