首先將安裝文檔在windows下保存UTF-8編碼,懂得一些linux操作命令,熟悉linux系統就更快了
依賴包剛開始可能都是報以下的信息,可以掛載ISO,安裝。
後面安裝數據庫後有一個報錯信息,可以查看後,指定安裝
檢查所需操作系統的RPM 包是否完整
進入系統,以 root 用戶登錄
# rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++
compat-libstdc++ compat-libstdc++-devel
gcc-3.4.6-8
make-3.80-6.EL4
binutils-2.15.92.0.2-22
openmotif-2.2.3-10.1.el4
setarch-1.6-1
compat-db-4.1.25-9
package compat-gcc is not installed
package compat-gcc-c++ is not installed
package compat-libstdc++ is not installed
package compat-libstdc++-devel is not installed
要安裝這些RPM 包,從操作系統光盤中獲取。
[root@linux2 RPMS]# pwd
/media/cdrom/RedHat/RPMS
#rpm -Uvh compat-db-4*
#rpm -Uvh libaio-0*
#rpm -Uvh compat-libstdc++-33-3*
#rpm -Uvh compat-gcc-32-*
#rpm -Uvh openmotif-2*
#rpm -Uvh gcc-*
#rpm -Uvh glibc-2.3.4-2.36.i386.rpm
包安裝過程告於段落,再次驗證包安裝情況:
# rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++
compat-libstdc++ compat-libstdc++-devel
檢查內存和磁盤
[root@linux2 proc]# cat /proc/meminfo | grep MemTotal
MemTotal: 1034584 kB
[root@linux2 proc]# cat /proc/meminfo | grep SwapTotal
SwapTotal: 2096472 kB
交換區設爲物理內存的2倍,Oracle 要求主機內存至少512m, 建議 1G。磁盤至少有 3G
的空間,建議更多。
4. 修改OS參數
a) 修改/etc/sysctl.conf文件,在文件末尾添加如下內容
kernel.shmmax = 4294967295
kernel.shmall = 4194304
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
再運行sysctl -p 應用以上參數,即可馬上生效。 如圖:
參數意義解釋:
kernel.shmmax 是核心參數中最重要的參數之一,用於定義單個共享內存段的最大值,
shmmax 設置應該足夠大,能在一個共享內存段下容納下整個的 SGA ,設置的過低可能會導致需要創建多個共享內存段,這樣可能導致系統性能的下降 。
當然 Oralce 的建議是希望一個大的共享內存段能容納整個 SGA,這樣在任何時候都不
會有甚至輕微的性能下降的隱患。
Oracle 安裝文檔建議32Bit Linux系統設置kernel.shmmax 爲32Bit操作系統內存最大的
限制值,也就是4G 。
所以一般來說,1-4G 的物理內存,可以直接設置 shmmax 爲最大物理內存即可,那麼
SGA 肯定在一個共享內存段中,32Bit Linux 系統物理內存大於 4G 的設置爲 4G 即可 。總
之,一般設置shmmax >=SGA (32Bit 系統是否支持到1.7G 以上SGA 需要注意) 。 如果是64Bit 的Linux 操作系統,shmmax 設置爲大於 SGA_MAX_SIZE 即可。
本測試環境是 1G 物理內存,故將該值設置爲 1024*1024*1024=1073741824(1G)
kernel.shmall 參數取的這個值是 ORACLE默認的值,kernel.shmall 參數是控制共享內存
頁數 。Linux 共享內存頁大小爲4KB, 共享內存段的大小 = 共享內存頁大小*共享內存頁數。
一個共享內存段的最大大小是16G, 需要共享內存頁數 16GB/4KB=16777216KB/4KB=4194304
(頁) 。如果你的內存不超過8G,那麼8GB/4KB=8388608KB/4KB=2097152 (頁) 。
個人認爲如果你的內存大小不超過 8G,就默認使用 2097152大小; 如果內存大小爲 16G,
則需要調大kernel.shmall參數至4194304,這時可以將 shmmax 參數調整到 16G了, 同時增大你的SGA_MAX_SIZE 和SGA_TARGET 爲 12G左右(您想設置的 SGA 最大大小,當然也可以是2G~14G 等,還要協調PGA參數及 OS 等其他內存使用,不能設置太滿)
kernel.shmmni 內核參數是共享內存段的最大數量(注意這個參數不是 shmmin,是
shmmni, shmmin 表示內存段最小大小) 。shmmni 缺省值 4096 ,一般肯定是夠用了。
其他參數使用默認值即可,如無特殊的極端要求,一般不用調整。
b) 修改/etc/security/limits.conf文件,在文件末尾添加以下內容:
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
這個步驟是爲 Oracle 用戶設定Shell的限制。一般來說,出於性能上的考慮,還需要進行
如上的設定,以便改進 Oracle 用戶的有關 nofile(可打開的文件描述符的最大數)和 nproc(單個用戶可用的最大進程數量) 的設定。
c) 修改/etc/pam.d/login文件,並在文件末尾添加以下內容
session required pam_limits.so
d) 查看/etc/selinux/config 文件,確保SELINUX 爲 disabled狀態
SELINUX=disabled
確保文件內容如下圖所示
至此,關於對操作系統內核的修改告於段落
5. 創建ORACLE賬戶及所屬組
#groupadd oinstall
#groupadd dba
#useradd –m –g oinstall –G dba oracle
#id oracle
#passwd oracle
6. 爲安裝文件夾進行權限準備
a) 將ZIP文件解壓縮,前面已經提到,ZIP存放在/home/temp/下,我們繼續使用 root
賬戶將其解壓縮:
解壓縮完成,我們發現 oracle 用戶對 database文件夾沒有寫權限,做以下修改
#chown -R oracle:oinstall database/
b) 創建安裝目錄
#mkdir -p /app/oracle/product/10.2/db_1
# chown -R oracle:oinstall /app
# chmod -R 775 /app
c) 設置oracle 用戶的 .bash_profile
以oracle 用戶登錄,修改主目錄下的.bash_profile,末尾添加以下內容:
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.:$PATH
export PATH
PS1='oracle->'
TMP=/tmp; export TMP
TMPDIR=$tmp; export TMPDIR
ORACLE_BASE=/u01/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;export ORACLE_HOME
ORACLE_SID=orcl;export ORACLE_SID
ORACLE_TERM=xterm;export ORACLE_TERM
PATH=/usr/sbin:$PATH;
PATH=$ORACLE_HOME/bin:$PATH
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export CLASSPATH
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export LANG=US
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
7. 設置主機Hosts文件
/etc/hosts 文件的作用在這裏就不必多說,在你配置好靜態 IP 後,/etc/hosts 文件的初
始內容應該如下所示:
這樣一來,在客戶端也正確配置了 hosts 文件之後,就可以通過主機名(linux2)來訪問
DB 服務器了
################可選步驟####################
(選用操作系統爲RHEL 5 或者OEL 5的執行以下步驟,RHEL4或 OEL4跳過此步驟)
因爲在官方的 Oracle10g 是不支持 RHEL5 的,所以需要改變相關的參數,不然在 Oracle10g
安裝前不能通過檢測!網上有兩種更改的方法,最簡單的方法是:
編輯文件 /etc/redhat-release 把 Red Hat Enterprise Linux Server release 5 (Tikanga) 改成
版本4:redhat-4 即可
8. 安裝準備最後一步:註銷root,並以 oracle 用戶登錄!
9. 進入/home/temp/database目錄,執行安裝程序
選擇高級安裝
選擇企業版
注意安裝位置,如果之前正確的配置了 ORACLE_HOME,則此處無需修改
選擇“僅安裝數據庫軟件” ,稍後會使用 DBCA手工創建數據庫
安裝正在進行,耐心等待約5分鐘(機器配置不同)
安裝完成時,會彈出這個對話框,按照他的要求去做就可以了
ORACLE 軟件安裝完成,下一步要使用 DBCA 創建數據庫,並使用
NETCA,NETMGR 來配置數據庫網絡服務!
啓動 DBCA
輸入全局服務名和實例名,要與之前配置 .bash_profile 中的 ORACLE_SID相同
SGA 大小分配爲 512M(根據需要),並使用 10g 的自動內存管理。PGA 90M。字符集要選擇正確,連接模式選擇專有服務器。
接下來,終端中輸入 netca ,使用 netca配置偵聽器,命名方法和本地服務命名,方法與
在windows下相同.
10以root
用戶登錄執行以下命令:
xhost +
11切換到oracle用戶
su oracle
執行:export DISPLAY=:0.0