開發環境搭建2:linux下oracle安裝

linux    :Red Hat Enterprise Linux Server release 5.5 (Tikanga)

oracle  :oracle10

 

一、驗證系統要求

所需內核版本:2.6.9-22.EL(這是 RHEL 4(update2) 的更新版本附帶的內核版本。此內核或更新中提供的任何版本的內核均適用於 Oracle 10g。)

由於oracle10不支持RHEL4以上的版本,需要做如下修改:

 修改/etc/redhat-release
 Red Hat Enterprise Linux Server release 5.5 (Tikanga)
 改爲
 redhat-4

通過運行以下命令檢查內核版本:
uname -r
例如:
# uname -r
2.6.18-194.el5xen
其他所需程序包的版本(或更高版本):
  ? gcc-3.4.4-2
  ? make-3.80-5
  ? glibc-2.3.4-2.13
  ? binutils-2.15.92.0.2-15
  ? openmotif-2.2.3-9.RHEL4.1
? setarch-1.6-1
  ? compat-gcc-32-3.2.3-47.3
  ? compat-gcc-32-c++-3.2.3-47.3
  ? compat-libstdc++-33-3.2.3-47.3
  ? compat-libstdc++-296-2.96-132.7.2
  ? compat-db-4.1.25-9Oracle 10g 數據庫安裝指南 中將其列爲是必需的,但此處並不需要)
檢查並安裝相關補丁
要查看系統上安裝了這些程序包的哪些版本,以 root 用戶身份運行以下命令:
rpm -q gcc make glibc binutils openmotif setarch compat-db compat-gcc-32 /
compat-gcc-32-c++ compat-libstdc++-33 compat-libstdc++-296
例如:
# rpm -q gcc make glibc binutils openmotif setarch compat-db compat-gcc-32 /
> openmotif compat-gcc-32-c++ compat-libstdc++-33 compat-libstdc++-296
gcc-3.4.4-2
make-3.80-5
glibc-2.3.4-2.13
binutils-2.15.92.0.2-15
openmotif-2.2.3-9.RHEL4.1
setarch-1.6-1
compat-gcc-32-3.2.3-47.3
compat-gcc-32-c++-3.2.3-47.3
compat-libstdc++-33-3.2.3-47.3
compat-libstdc++-296-2.96-132.7.2
package compat-db is not installed
請注意,尚未安裝 compat-db 程序包。安裝過程中可用的任何程序包組均不包含此程序包,因此必須在單獨的步驟中安裝。如果系統上缺少任何其他程序包版本,或版本比以上指定的版本舊(compat-db 除外),則可以從 Red Hat Network 下載並安裝更新。
安裝 compat-db
插入原始 Red Hat Enterprise Linux 介質的第二張或第三張CD
CD 自動掛載。
root 用戶身份運行以下命令:
rpm -ivh /media/cdrom/RedHat/RPMS/compat-db-4.0.14-5.i386.rpm
例如:
# rpm -ivh /media/cdrom/RedHat/RPMS/compat-db-4.0.14-5.i386.rpm
Preparing... ########################################### [100%]
1:compat-db ########################################### [100%]
一般情況下,你的系統上的輸出結果和這個不同.如果個別包沒有安裝,把系統安裝光盤mount,找到具體的軟件包(大多數在二、三張光盤上),然後利用如下的命令來安裝相應的包:
# rpm -ivh *.rpm
 (* 代表要安裝的軟件包)

要驗證系統是否滿足 Oracle 10g 數據庫的最低要求,以 root 用戶身份登錄並運行以下命令。
要查看可用 RAM 和交換空間大小,運行以下命令:
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。對於 RAM 小於或等於 2GB 的系統,交換空間應爲 RAM 數量的兩倍;對於 RAM 大於 2GB 的系統,交換空間應爲 RAM 數量的一到兩倍。
注:如果是爲了在一臺僅有256M內存的普通PC機上試用Oracle10g(例如使用其通用版General
Purpose Database
),在分配了1GB左右的交換空間的情況下,也可以正常運行Oracle
據庫。
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 標準的更多信息,請參閱針對 UNIX 系統的 Oracle 數據庫 10g 安裝指南 的附錄 D
以下假設在根文件系統中創建目錄。這樣做是爲了簡便起見,不建議將其作爲通用做法。這些目錄通常被創建爲單獨的文件系統。
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 需要以下所示的內核參數設置。其中給出的是最小值,因此如果您的系統使用的值較大,則不要更改它。
編輯 /etc/sysctl.conf 文件,添加或更改這些參數。完成後,運行以下命令激活更改:
/sbin/sysctl -p
修改內容如下:
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
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
oracle
用戶的環境變量
要使用 Oracle 產品,應該或必須設置幾個環境變量。對於數據庫服務器,建議設置以下環境變量:
ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH
如果您在同一服務器上安裝了多個 Oracle 產品或數據庫,則 ORACLE_HOMEORACLE_SID PATH 變量可能會更改。ORACLE_BASE 變量不應更改,並可以在需要時在您的登錄配置文件中設置它。Oracle 提供了一個稱作 oraenv 的實用程序來設置其他變量。
oracle 身份登錄,並通過在 .bash_profile .profilebash ksh)中添加以下行,將 ORACLE_BASE 添加到登錄配置文件:
增加下列內容:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1
export ORACLE_SID=orcl
    (指定數據庫名稱 (ORACLE_SID)。該名稱通常不多於五個字符)
export PATH=$PATH:$ORACLE_HOME/bin
執行
source /home/oracle/.bash_profile

二、安裝 Oracle
解壓縮oracle 10g安裝盤
# unzip 10201_database_linux32.zip
啓動 Oracle 通用安裝程序。
$ ./runInstaller
1.
歡迎
    o 單擊 Next
2.
指定清單目錄和證書
    o 如果您一直在依循本指南中的步驟,則使用默認值即可。否則,編輯清單目錄的路徑,以指向正確目錄。
    o 操作系統組名稱應爲 oinstall
3.
指定文件位置
    o 如果您一直在依循本指南中的步驟,則使用默認值即可。否則,在繼續操作前確保源路徑和目標路徑正確。
4.
選擇安裝類型
    o 接受默認值 Enterprise Edition
5.
與特定產品相關的先決條件的檢查
    o 如果您一直在依循本指南中的步驟,則所有檢查都應順利通過。如果一個或多個檢查失敗,則在繼續操作前糾正該問題。
6.
選擇數據庫配置
    o 接受默認值 Create a starter database General Purpose
7.
指定數據庫配置選項
    o 輸入數據庫的全局數據庫名稱。該名稱應包含 ORACLE_SID 和服務器域名(例如,demo1.orademo.org,其中 demo1 ORACLE_SIDorademo.org 是域名)。
    o 輸入全局數據庫名稱時,SID 框將自動填充。
    o 接受默認的數據庫字符集。
    o 選擇 Create database with sample schemas
8.
選擇數據庫管理選項
    o 選擇 Use Database Control for Database Management
9.
指定數據庫文件存儲選項
    o 選擇 File System,然後輸入數據庫文件要使用的路徑名(在本例中爲 /u02/oradata)。
10.
指定備份和恢復選項
    o 選擇 Do not enable Automated backups
11.
指定數據庫模式口令
    o 選擇 Use the same password for all the accounts
    o 選擇一個口令,然後輸入兩次進行確認。
12.
摘要
    o 顯示已安裝產品的摘要。
    o 單擊 Install
13.
安裝
    o 此屏幕歷經安裝和鏈接 Oracle 軟件的幾個階段。
    o 安裝過程結束時彈出一個窗口顯示配置信息。記下 Enterprise Manager URL,然後單擊 OK 關閉該窗口。
    o 彈出一個“Setup Privileges”窗口,提示需要以 root 用戶身份運行配置腳本。以 root 用戶身份登錄,切換到該窗口中指示的目錄,然後執行 root.sh 腳本。該腳本提示輸入本地 bin 目錄的位置。按 Enter 鍵接受默認值。當腳本完成時,返回到 Setup Privileges 窗口並單擊 OK。(如下所示。)


14.
安裝結束
    o 記下摘要中顯示的 URL,並在準備好時單擊 Exit
15.
恭喜!您的新 Oracle 10g 數據庫已經啓動並可以使用。


附錄
使用 SQL*Plus 訪問數據庫
運行 SQL*Plus
$ sqlplus
SQL*Plus:Release 10.1.0.2.0 - Production on Sat Jun 5 16:59:21 2004
Copyright (c) 1982, 2004, Oracle.All rights reserved.
Enter user-name:/ as sysdba
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>

使用 Oracle Enterprise Manager 10g 數據庫控制
Web 瀏覽器中,連接到安裝過程中提供的 URL
例如:
http://ds1.orademo.org:1158/em
(如果服務器不在 DNS 中,則必須使用 IP 地址代替主機名。)
用戶名:SYS
口令:<安裝過程中選擇的口令>
連接爲:SYSDBA
單擊


歡迎走入 Oracle Enterprise Manager 10g 數據庫控制的精彩世界!
啓動和停止 Oracle Enterprise Manager 數據庫控制:
$ emctl start dbconsole
$ emctl stop dbconsole
使用 iSQL*Plus 訪問數據庫
iSQL*Plus
是歷史悠久的 SQL*Plus 交互式工具的基於 Web 的版本,用於訪問數據庫。要使用 iSQL*Plus,請單擊 OEM 控制檯 Related Links 部分中的 iSQL*Plus 鏈接,或將瀏覽器指向安裝過程中提供的 iSQL*Plus URL
例如:
http://ds1.orademo.org:5560/isqlplus
(如果數據庫服務器不在 DNS 中,則必須使用 IP 地址代替主機名。)
用戶名:SYSTEM
口令:<安裝過程中選擇的口令>
單擊 。
Workspace 框中輸入 SQL 命令,然後單擊 Execute


啓動和停止 iSQL*Plus
$ isqlplusctl start
$ isqlplusctl stop
啓動和停止監聽器:
監聽器接受客戶端的連接請求,並在驗證證書後創建數據庫連接。要使用 OEM iSQL*Plus,必須先啓動監聽器。
$ lsnrctl start
$ lsnrctl stop
啓動和停止數據庫:
啓動和停止數據庫的最簡單方法是從 OEM 控制檯啓動和停止。要從命令行執行此操作,請在以 oracle 身份登錄後使用 SQL*Plus,如下所示:
啓動:
$ sqlplus
SQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 22:27:48 2004
Copyright (c) 1982, 2004, Oracle.All rights reserved.
Enter user-name:/ as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 188743680 bytes
Fixed Size 778036 bytes
Variable Size 162275532 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
Database mounted.
Database opened.
SQL> exit
關閉:
$ sqlplus
SQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 22:25:55 2004
Copyright (c) 1982, 2004, Oracle.All rights reserved.
Enter user-name:/ as sysdba
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit

什麼是 ocssd.bin 進程?
Oracle
集羣同步服務 (OCSSD) Oracle 集羣就緒服務 (CRS) 的一個組件,用於 RAC 和使用 ASM 的單個實例數據庫。它在默認情況下安裝,使用很少的系統資源,並在 /etc/inittab 中進行配置。這些進程在系統每次啓動時自動啓動。Oracle 建議不要禁用 OCSSD,即使您未運行 ASM

FAQ (
Linux平臺安裝Oracle比較常見的問題)
1.
不能啓動安裝界面
運行runInstaller提示信息類似如下:
xlib:connection to "localhost:0.0" refused by server
xlib:client is not authorized to connect to server
Exception in thread "main" java.lang.InternalError:
can't connect to x11 window server using "localhost:0.0" at .......
解決辦法: 設定你的DISPLAY環境參數.
# export DISPLAY= your_IPaddress :0.0
your_IPaddress換成你的IP.或者用root簡單的執行一下# xhost + (要注意這樣會有安全上的隱患)
2.
安裝界面顯示很多"口口"樣子的亂碼
解決辦法:查看locale輸出
# locale
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB18030
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
執行#export LC_CTYPE=en_US.UTF-8 然後重新調用安裝程序.
3.
IE登錄Linux服務器上的em出現亂碼
Linux(Unix) 環境下成功安裝了Oracle 10g,windows下用IE瀏覽器登錄 10g em, 按鈕是"口口"這樣的方框.
解決辦法: 參考:
http://www.dbanotes.net/Oracle/Oracle-10g-font.properties.htm
4.
創建數據庫的時候出現ORA-03113的錯誤
解決辦法: 查看核心參數是否調整正確.參考:
http://www.dbanotes.net/Oracle/ORA-03113.htm
5. RedHat 9 / FC1
等系統10g不支持如何安裝?
解決辦法:在10g不支持的Linux發行版上安裝10g的解決方法
1).
運行runInstaller -ignoreSysPrereqs,這樣會跳過檢查.
2).
摘自 www.puschitz.com 修改/etc/redhat-release文件:
#su - root
#cp /etc/redhat-release /etc/redhat-release.backup
#cat > /etc/redhat-release << EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF
安裝完畢,執行如下操作:
#su - root
#cp /etc/redhat-release.backup /etc/redhat-release
3). http://www.dbanotes.net/Oracle/10G-Beta-Install-Bug.htm
同樣的思路,我們可以修改Oracle install/oraparam.ini文件達到目的.
6.
如何關掉那些 ocssd.bin 進程?
解決辦法:編輯/etc/inittab文件(做好備份)
註釋掉這一行:
h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>................
---------------------------------------------------------------------------------------------------------------------
參考信息:
1
、在 Linux x86 上安裝Oracle數據庫10g
http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html#rhel3
2
Oracle 10gR2 + RedHat Enterprise Linux AS4 安裝
http://www.linuxdiyf.com/viewarticle.php?id=11578
3
Oracle 10g For Linux安裝手冊
http://bbs.database.ccidnet.com/htm_data/27/0607/112610.html
4
Installing Oracle 10g on RHEL AS 3 Step-by-Step
http://www.dbanotes.net/Oracle/Install-Oracle10g-RHEL3.htm
/etc/rc.d/init.d/dbora
文件內容
#
O~B@~Chttp://staff.in2.hr/denis/oracle/10g1install_fedora3_en.html#n4_4
# chkconfig: 0356 95 1
# description: init script to start/stop oracle database 10g, TNS listener, EMS
#
#
# match these values to your environment:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=CQRCDATA
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_USER=oracle
# see how we are called:
case $1 in
start)
dltelecom - "$ORACLE_USER" -c "$ORACLE_HOME/bin/dbstart"
dltelecom - "$ORACLE_USER" -c "$ORACLE_HOME/bin/emctl start dbconsole"
dltelecom - "$ORACLE_USER" -c "SORACLE_HOME/bin/isqlplusctl start"
;;
stop)
dltelecom - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
dltelecom - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
dltelecom - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac

發佈了6 篇原創文章 · 獲贊 0 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章