- 論壇徽章:
- 0
|
回復(fù) #1 398641310 的帖子
在 Linux x86 上安裝 Oracle 數(shù)據(jù)庫 10g(官方文檔)
步驟:1、安裝linux及oracle相關(guān)組件;
2、驗(yàn)證系統(tǒng)要求、
創(chuàng)建用戶和組、
創(chuàng)建目錄、
配置 Linux 內(nèi)核參數(shù)、
為 oracle 用戶設(shè)置 Shell 限制、
oracle 用戶的環(huán)境變量;
3、安裝;
4、排錯(cuò);
第 1 部分:安裝 Linux(以RHEL3為例)
如果完成了以上步驟,您應(yīng)該具備 Oracle 10g 所需的所有程序包和更新。您可以執(zhí)行以下步驟驗(yàn)證您的安裝。
所需內(nèi)核版本:2.4.21-4.EL(這是 RHEL 3 的基本版本附帶的內(nèi)核版本。此內(nèi)核或更新中提供的任何版本的內(nèi)核均適用于 Oracle 10g。)
通過運(yùn)行以下命令檢查內(nèi)核版本:
uname -r
例如:
# uname -r
2.4.21-4.0.1.ELsmp
其他所需程序包的版本(或更高版本):
• gcc-3.2.3-2
• make-3.79
• binutils-2.11
• openmotif-2.2.2-16
• setarch-1.3-1
• compat-gcc-7.3-2.96.122
• compat-gcc-c++-7.3-2.96.122
• compat-libstdc++-7.3-2.96.122
• compat-libstdc++-devel-7.3-2.96.122
• compat-db-4.0.14.5(Oracle 10g 數(shù)據(jù)庫安裝指南 中將其列為是必需的,但此處并不需要)
要查看系統(tǒng)上安裝了這些程序包的哪些版本,以 root 用戶身份運(yùn)行以下命令:
rpm -q gcc make binutils openmotif setarch compat-db compat-gcc \
compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel
例如:
# rpm -q gcc make binutils openmotif setarch compat-db compat-gcc \
> openmotif compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel
gcc-3.2.3-20
make-3.79.1-17
binutils-2.14.90.0.4-26
openmotif-2.2.2-16
setarch-1.3-1
package compat-db is not installed
compat-gcc-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
請(qǐng)注意,尚未安裝 compat-db 程序包。安裝過程中可用的任何程序包組均不包含此程序包,因此必須在單獨(dú)的步驟中安裝。如果系統(tǒng)上缺少任何其他程序包版本,或版本比以上指定的版本舊(compat-db 除外),則可以從 Red Hat Network 下載并安裝更新
第 2 部分:針對(duì) Oracle 配置 Linux
驗(yàn)證系統(tǒng)要求
要驗(yàn)證系統(tǒng)是否滿足 Oracle 10g 數(shù)據(jù)庫的最低要求,以 root 用戶身份登錄并運(yùn)行以下命令。
要查看可用 RAM 和交換空間大小,運(yùn)行以下命令:
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
例如:
# grep MemTotal /proc/meminfo
MemTotal:512236 kB
# grep SwapTotal /proc/meminfo
SwapTotal:1574360 kB
所需最小 RAM 為 512MB,而所需最小交換空間為 1GB。對(duì)于 RAM 小于或等于 2GB 的系統(tǒng),交換空間應(yīng)為 RAM 數(shù)量的兩倍;對(duì)于 RAM 大于 2GB 的系統(tǒng),交換空間應(yīng)為 RAM 數(shù)量的一到兩倍。
Oracle 10g 軟件還需要 2.5GB 的可用磁盤空間,而數(shù)據(jù)庫則另需 1.2GB 的可用磁盤空間。/tmp 目錄至少需要 400MB 的可用空間。要檢查系統(tǒng)上的可用磁盤空間,運(yùn)行以下命令:
df -h
例如:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 1.3G 5.2G 20% /
/dev/sda1 99M 17M 77M 18% /boot
該示例表明,/tmp 目錄沒有自己的文件系統(tǒng)。(對(duì)本指南而言,它是根文件系統(tǒng)的一部分。)根文件系統(tǒng)可用空間為 5.2 GB,除了滿足安裝 (2.5 + 1.2 + 0.4 = 4.1GB) 外還小有富余。
創(chuàng)建 Oracle 組和用戶帳戶
接下來,創(chuàng)建用于安裝和維護(hù) Oracle 10g 軟件的 Linux 組和用戶帳戶。用戶帳戶將稱為 oracle,而組將稱為 oinstall 和 dba。以 root 用戶身份執(zhí)行以下命令:
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle
例如:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
設(shè)置 oracle 帳戶的口令:
passwd oracle
例如:
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.
創(chuàng)建目錄
現(xiàn)在,創(chuàng)建存儲(chǔ) Oracle 10g 軟件和數(shù)據(jù)庫文件的目錄。本指南在創(chuàng)建目錄結(jié)構(gòu)時(shí)所用的命名慣例符合最佳靈活結(jié)構(gòu) (OFA) 規(guī)范。有關(guān) OFA 標(biāo)準(zhǔn)的更多信息,請(qǐng)參閱針對(duì) UNIX 系統(tǒng)的 Oracle 數(shù)據(jù)庫 10g 安裝指南 的附錄 D。
以下假設(shè)在根文件系統(tǒng)中創(chuàng)建目錄。這樣做是為了簡(jiǎn)便起見,不建議將其作為通用做法。這些目錄通常被創(chuàng)建為單獨(dú)的文件系統(tǒng)。
以 root 用戶身份執(zhí)行以下命令:
mkdir -p /u01/app/oracle
mkdir -p /u02/oradata
chown -R oracle install /u01/app/oracle /u02/oradata
chmod -R 775 /u01/app/oracle /u02/oradata
例如:
# mkdir -p /u01/app/oracle
# mkdir -p /u02/oradata
# chown -R oracle install /u01/app/oracle /u02/oradata
# chmod -R 775 /u01/app/oracle /u02/oradata
配置 Linux 內(nèi)核參數(shù)
Linux 內(nèi)核非常出色。與大多數(shù)其他 *NIX 系統(tǒng)不同,Linux 允許在系統(tǒng)啟動(dòng)和運(yùn)行時(shí)修改大多數(shù)內(nèi)核參數(shù)。完成內(nèi)核參數(shù)更改后不必重新啟動(dòng)系統(tǒng)。Oracle 數(shù)據(jù)庫 10g 需要以下所示的內(nèi)核參數(shù)設(shè)置。其中給出的是最小值,因此如果您的系統(tǒng)使用的值較大,則不要更改它。
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
如果您按照以上說明安裝了 Linux,且內(nèi)核參數(shù)全部采用默認(rèn)值,則只需在以 root 用戶身份登錄后執(zhí)行下命令。
cat >> /etc/sysctl.conf <<EOF
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
EOF
/sbin/sysctl -p
例如:
# cat >> /etc/sysctl.conf <<EOF
> kernel.shmall = 2097152
> kernel.shmmax = 2147483648
> kernel.shmmni = 4096
> kernel.sem = 250 32000 100 128
> fs.file-max = 65536
> net.ipv4.ip_local_port_range = 1024 65000
> EOF
# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
kernel.sysrq = 0
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
以 root 用戶身份運(yùn)行以下命令來驗(yàn)證您的設(shè)置:
/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep ip_local_port_range
例如:
# /sbin/sysctl -a | grep shm
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shm-use-bigpages = 0
# /sbin/sysctl -a | grep sem
kernel.sem = 250 32000 100 128
# /sbin/sysctl -a | grep file-max
fs.file-max = 65536
# /sbin/sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 1024 65000
如果系統(tǒng)的參數(shù)設(shè)置的比上述參數(shù)值小,則編輯 /etc/sysctl.conf 文件,添加或更改這些參數(shù)。完成后,運(yùn)行以下命令激活更改:
/sbin/sysctl -p
為 oracle 用戶設(shè)置 Shell 限制
Oracle 建議對(duì)每個(gè) Linux 帳戶可以使用的進(jìn)程數(shù)和打開的文件數(shù)設(shè)置限制。要進(jìn)行這些更改,以 root 用戶的身份執(zhí)行下列命令:
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
cat >> /etc/pam.d/login <<EOF
session required /lib/security/pam_limits.so
EOF
cat >> /etc/profile <<EOF
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
cat >> /etc/csh.login <<EOF
if ( \$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF
oracle 用戶的環(huán)境變量
要使用 Oracle 產(chǎn)品,應(yīng)該或必須設(shè)置幾個(gè)環(huán)境變量。對(duì)于數(shù)據(jù)庫服務(wù)器,建議設(shè)置以下環(huán)境變量:
ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH
如果您在同一服務(wù)器上安裝了多個(gè) Oracle 產(chǎn)品或數(shù)據(jù)庫,則 ORACLE_HOME、ORACLE_SID 和 PATH 變量可能會(huì)更改。ORACLE_BASE 變量不應(yīng)更改,并可以在需要時(shí)在您的登錄配置文件中設(shè)置它。Oracle 提供了一個(gè)稱作 oraenv 的實(shí)用程序來設(shè)置其他變量。
以 oracle 身份登錄,并通過在 .bash_profile 或 .profile(bash 或 ksh)中添加以下行,將 ORACLE_BASE 添加到登錄配置文件:
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
或在 .login (csh) 中添加以下行:
setenv ORACLE_BASE /u01/app/oracle
此更改將在您下次登錄到 oracle 帳戶時(shí)生效。要使更改對(duì)當(dāng)前會(huì)話為活動(dòng)狀態(tài),只需從命令行運(yùn)行此命令。
第 3 部分:安裝 Oracle
使用 oracle 帳戶登錄。
$ cd /tmp/10201_database_linux32/databases
$ export DISPLAY="192.168.1.15:0.0"
$ export LANG=en_US
$ ./runInstaller
(可以跳過版本檢查:./runInstaller -ignoreSysPrereqs)
因?yàn)槟J(rèn)rhel5.1不支持10.2,0.1,修改安裝文件
# vi /10201_database_linux32/database/install/oraparam.ini
### #[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]
再添加
[Linux-redhat-5.0-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256
出現(xiàn)安裝界面
第4部分:常見錯(cuò)誤及解決辦法:
錯(cuò)誤1
錯(cuò)誤問題1
[oracle@nj15 database]$ ./runInstaller
正在啟動(dòng) Oracle Universal Installer...
正在檢查安裝程序要求...
檢查操作系統(tǒng)版本: 必須是redhat-3, SuSE-9, redhat-4, redhat-5, UnitedLinux-1.0, asianux-1 or asianux-2
通過
所有安裝程序要求均已滿足。
準(zhǔn)備從以下地址啟動(dòng) Oracle Universal Installer /tmp/OraInstall2007-12-29_02-57-39AM. 請(qǐng)稍候...[oracle@nj15 database]$ Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2007-12-29_02-57-39AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at sun.security.action.LoadLibraryAction.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
at sun.awt.DebugHelper.<clinit>(Unknown Source)
at java.awt.Component.<clinit>(Unknown Source)
解決方法:
進(jìn)入安裝盤 server目錄,把
libXp-1.0.0-8.1.el5.i386.rpm
openmotif-devel-2.3.0-0.3.el5.i386.rpm
libXp-devel-1.0.0-8.1.el5.i386.rpm
openmotif-2.3.0-0.3.el5.i386.rpm
這4個(gè)安裝包安裝,先裝 libXP,再裝openmotif
錯(cuò)誤2
錯(cuò)誤問題2
[oracle@nj15 database]$ ./runInstaller
正在啟動(dòng) Oracle Universal Installer...
正在檢查安裝程序要求...
檢查操作系統(tǒng)版本: 必須是redhat-3, SuSE-9, redhat-4, redhat-5, UnitedLinux-1.0, asianux-1 or asianux-2
通過
所有安裝程序要求均已滿足。
準(zhǔn)備從以下地址啟動(dòng) Oracle Universal Installer /tmp/OraInstall2007-12-29_03-05-54AM. 請(qǐng)稍候...[oracle@nj15 database]$ Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using 'localhost:0.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(Unknown Source)
at java.awt.Window.init(Unknown Source)
at java.awt.Window.<init>(Unknown Source)
at java.awt.Frame.<init>(Unknown Source)
at oracle.ewt.popup.PopupFrame.<init>(Unknown Source)
at oracle.ewt.lwAWT.BufferedFrame.<init>(Unknown Source)at oracle.sysman.oio.oioc.OiocOneClickInstaller.<init>(OiocOneClickInstaller.java:37 at oracle.sysman.oio.oioc.OiocOneClickInstaller.main(OiocOneClickInstaller.java:2091)
解決辦法 :
#vi /etc/inittab
把 id:5:initdefault: 修改為 id:3:initdefault
#reboot
在文本模式下 用oracle登錄
# startx
$ export DISPLAY="192.168.1.15:0.0"
$ export LANG=en_US
$ cd /tmp/10201_database_linux32/databases
$ ./runInstaller
常見錯(cuò)誤3:本錯(cuò)誤只會(huì)在安裝界面后出現(xiàn)。
在圖形界面中提示說:oracle需要的swap空間是2668M(這個(gè)是大概數(shù)字,我沒記錄實(shí)際的),而檢測(cè)到的系統(tǒng)的swap空間是1988M,swap空間不夠。
解決辦法:1)dd if=/dev/zero of=/home/swap bs=1M count =1000;( 建立一個(gè)1000M的文件);
2)mkswap /home/swap; (標(biāo)識(shí)為SWAP文件)
3)swapon /home/swap;(激活SWAP文件)
4)修改/etc/fstab文件,增加以下內(nèi)容:
/home/swap swap swap default 0 0
5)swapon -s 或free 或cat /proc/swaps 查看。 |
|