針對 Oracle 配置 Linux

xsdan發表於2009-12-07

Linux 軟體現已安裝完畢,您需要針對 Oracle 對其進行配置。本部分將逐步講解針對 Oracle 資料庫 10g 配置 Linux 的過程。

驗證系統要求

要驗證系統是否滿足 Oracle 10g 資料庫的最低要求,以 root 使用者身份登入並執行以下命令。

要檢視可用 RAM 和交換空間大小,執行以下命令:

grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
[@more@]例如:
# grep MemTotal /proc/meminfo
MemTotal:512236 kB
# grep SwapTotal /proc/meminfo
SwapTotal:1574360 kB

所需最小 RAM 為 512MB,而所需最小交換空間為 1GB。對於 RAM 小於或等於 2GB 的系統,交換空間應為 RAM 數量的兩倍;對於 RAM 大於 2GB 的系統,交換空間應為 RAM 數量的一到兩倍。

Oracle 10g 軟體還需要 2.5GB 的可用磁碟空間,而資料庫則另需 1.2GB 的可用磁碟空間。/tmp 目錄至少需要 400MB 的可用空間。要檢查系統上的可用磁碟空間,執行以下命令:

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 目錄沒有自己的檔案系統。(對本指南而言,它是根檔案系統的一部分。)根檔案系統可用空間為 5.2 GB,除了滿足安裝 (2.5 + 1.2 + 0.4 = 4.1GB) 外還小有富餘。

建立 Oracle 組和使用者帳戶

接下來,建立用於安裝和維護 Oracle 10g 軟體的 Linux 組和使用者帳戶。使用者帳戶將稱為 oracle,而組將稱為 oinstall 和 dba。以 root 使用者身份執行以下命令:

/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)

設定 oracle 帳戶的口令:

passwd oracle

例如:
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.

建立目錄

現在,建立儲存 Oracle 10g 軟體和資料庫檔案的目錄。本指南在建立目錄結構時所用的命名慣例符合最佳靈活結構 (OFA) 規範。有關 OFA 標準的更多資訊,請參閱 的。

以下假設在根檔案系統中建立目錄。這樣做是為了簡便起見,不建議將其作為通用做法。這些目錄通常被建立為單獨的檔案系統。

以 root 使用者身份執行以下命令:

mkdir -p /u01/app/oracle
mkdir -p /u02/oradata
chown -R oracle:oinstall /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:oinstall /u01/app/oracle /u02/oradata
# chmod -R 775 /u01/app/oracle /u02/oradata

配置 Linux 核心引數

Linux 核心非常出色。與大多數其他 *NIX 系統不同,Linux 允許在系統啟動和執行時修改大多數核心引數。完成核心引數更改後不必重新啟動系統。Oracle 資料庫 10g 需要以下所示的核心引數設定。其中給出的是最小值,因此如果您的系統使用的值較大,則不要更改它。

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,且核心引數全部採用預設值,則只需在以 root 使用者身份登入後執行下命令。

cat >> /etc/sysctl.conf <

例如:
# cat >> /etc/sysctl.conf <
> 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 使用者身份執行以下命令來驗證您的設定:

/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

如果系統的引數設定的比上述引數值小,則編輯 /etc/sysctl.conf 檔案,新增或更改這些引數。完成後,執行以下命令啟用更改:

/sbin/sysctl -p

對於 SLES 8,在完成以上步驟後執行以下命令。

/sbin/chkconfig boot.sysctl on

為 oracle 使用者設定 Shell 限制

Oracle 建議對每個 Linux 帳戶可以使用的程式數和開啟的檔案數設定限制。要進行這些更改,以 root 使用者的身份執行下列命令:

cat >> /etc/security/limits.conf <> /etc/pam.d/login <

對於 RHEL 2.1 和 RHEL 3,使用以下命令:

cat >> /etc/profile <> /etc/csh.login <

對於 SLES 8,使用以下命令:

cat >> /etc/profile.local <> /etc/csh.login.local <

避免錯誤!(僅限 SLES 8)

在 SLES 8 上安裝 Oracle Enterprise Manager 10g 時存在一個錯誤 — 由於所需埠以為 /etc/services 所保留而導致安裝失敗。OEM DBConsole 需要埠 1830,而在 SLES8 環境中,此埠已經為 /etc/services 所保留。此錯誤在 MetaLink 上的錯誤號為 3513603。

要避免安裝過程中出現問題,以 root 使用者身份登入,並在安裝 Oracle 10g 軟體之前將 /etc/services 檔案中的埠 1830 至 1849 對應的行註釋掉。(注意:此時,您最好重新啟動伺服器以確保以上更改生效。)

oracle 使用者的環境變數

要使用 Oracle 產品,應該或必須設定幾個環境變數。對於資料庫伺服器,建議設定以下環境變數:

ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH

如果您在同一伺服器上安裝了多個 Oracle 產品或資料庫,則 ORACLE_HOME、ORACLE_SID 和 PATH 變數可能會更改。ORACLE_BASE 變數不應更改,並可以在需要時在您的登入配置檔案中設定它。Oracle 提供了一個稱作 oraenv 的實用程式來設定其他變數。

以 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 帳戶時生效。要使更改對當前會話為活動狀態,只需從命令列執行此命令。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/262387/viewspace-1029450/,如需轉載,請註明出處,否則將追究法律責任。

相關文章