在 Red Hat Linux AS 3.0 上安裝 Oracle10.1
1
權限需求
某些時候需要 root 權限,切換用戶使用命令 su - user 其中, user 是需要切換的用戶名。
如果不是直接在本機上安裝
Oracle
,而通過
VNC
等工具進行遠程安裝,則需要執行命令
xhost remote_host_name
,
該命令使遠程機器能夠顯示本地
X Server
上的
X
應用程序,其中
remote_host_name
是完全可被識別的遠程機器的名字。如果想使所有的遠程機器都能夠顯示本地
X Server
的
X
應用,則需要執行命令
xhost +
。
2
硬件需求
2.1
內存
至少需要 512MB RAM ,使用命令 grep MemTotal /proc/meminfo 查看該信息。
2.2
交換空間
交換空間至少有
su - root
dd if=/dev/zero of=tmpswap bs=1k count=900000
chmod 600 tmpswap
mkswap tmpswap
swapon tmpswap
刪除臨時交換分區,可執行如下命令:
su - root
swapoff tmpswap
rm tmpswap
2.3 /tmp
目錄
/tmp
目錄的大小至少要有
su - root
mkdir /<another_path>/tmp
//
在另一個目錄下新建一個
tmp
目錄
chown root.root /<another_path>/tmp
//
將新建的
tmp
目錄歸為
root
使用
chmod 1777 /<another_path>/tmp
//
改變該
tmp
目錄的使用權限
export TEMP=/<another_path>
//
由
Oracle
的安裝用戶使用
export TMPDIR=/<another_path>
刪除創建的臨時
tmp
目錄,可以使用命令:
su - root
rmdir /<another_path>/tmp
unset TEMP
unset TMPDIR
2.4
硬盤空間
安裝
Oracle
需要的硬盤空間至少是
3
軟件需求
3.1
操作系統
可以使用 Red Hat Enterprise Linux AS/ES 3.0 (Update 2 or later) , Red Hat Linux 4.0 等等。
3.2 Kernel
版本
至少是
3.3
其它的
RPM
包
make-3.79.1
gcc-
glibc-
glibc-devel-
glibc-devel-
compat-db-
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
gnome-libs-
openmotif21-
setarch-1.3-1
libaio-0.3.96-3
libaio-devel-0.3.96-3
上述包都是 Oracle 官方推薦的,可以通過執行以下命令來確認相關的信息:
rpm -qa | grep xxx
// xxx
是想查找的包的名稱(不包括版本號),如
make
如果缺少某些包,則需要先獲得它們,然后再通過以下命令進行安裝:
rpm -ivh yyy.rpm
// yyy
就是缺少的包的名稱(包括版本號),如
make-3.79.1
注意
:如果硬、軟件配置足夠高,以上步驟完全可以省略。對于軟件需求中的相關數據,其實只是
Oracle
官方推薦的,不一定都要達到。在我的安裝中,
kernel
版本是
4
配置
Kernel
參數
執行命令 vi /etc/sysctl.conf 以編輯 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
添加了以上內容之后按 Esc 鍵,再輸入 :wq (保存并退出 vi ) 。最后再執行命令 sysctl -p 使修改后的 sysctl 文件立即生效。這一步也是 Oracle 官方推薦的,目的是為了優化系統性能。
5
創建
Oracle
用戶及組
su - root
groupadd dba
//
數據庫系統管理員的組
groupadd oinstall
// Oracle
文件所有者的組
useradd -c "Oracle software owner" -g oinstall -G dba oracle
passwd oracle
//
修改
oracle
用戶的密碼,輸入新命令
6
創建
Oracle
應用程序的目錄
su - root
mkdir /opt/oracle
//
創建
Oracle Base
目錄
mkdir /opt/oracle/product
mkdir /opt/oracle/product/10.1
//
創建
Oracle Home
目錄
chown -R oracle.oinstall /opt/oracle
mkdir /var/opt/oracle
chown oracle.dba /var/opt/oracle
chmod 755 /var/opt/oracle
7
設置
Oracle
環境變量
先后執行命令
su - oracle
和
vi .bash_profile
,在
.bash_profile
文件的最后面添加入以下內容。
# Set the LD_ASSUME_KERNEL environment variable only for Red Hat 9 and
# for Red Hat
# Use the "Linuxthreads with floating stacks" implementation instead of NPTL:
export LD_ASSUME_KERNEL=
# Oracle Environment
export ORACLE_BASE=/opt/oracle
#
該值與第
6
節中創建的
Oracle Base
相同
export ORACLE_HOME=/opt/oracle/product/10.1
#
與第
6
節中創建的
Oracle Home
相同
export ORACLE_SID=orcl
# Oracle
數據庫的系統標識符
export ORACLE_TERM=xterm
# export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc.
# are not in $ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
#
設置
Oracle
中相關命令的
PATH
環境變量
export PATH=$PATH:$ORACLE_HOME/bin:/sbin:/tmp/OPatch
最后執行命令
source .bash_profile
,使修改后
.bash_profile
文件立即生效。
8
安裝
Oracle10.1
本文使用的安裝文件是從 Oracle 官方網站下載的 ship.db.lnx32.cpio.gz ,安裝過程中需要執行如下命令。
su - oracle
cd Install_Path
//
ship.db.lnx32.cpio.gz
文件所在的目錄
gunizp zxvf ship.db.lnx32.cpio.gz // 解壓該文件,生成 ship_db_lnx32_10103.cpio 文件
cpio -idmv < ship_db_lnx32_10103.cpio // 生成 Disk1 目錄,即 Oracle 安裝文件目錄
cd Disk1/install
sh runInstaller
//
運行安裝程序,將會出現安裝向導界面
Oracle 主目錄位置與 第6 節創建的 Oracle 安裝目錄以及 第7 節中在 /etc/sysctl.conf 文件設置的 ORACLE_HOME 的值相同,全局數據庫名則與 ORACLE_SID 保持一致。然后點擊 “ 下一步 ” 按鈕, … ,其它的安裝過程如果沒有進行特別地說明,使用默認設置即可。
在安裝的過程中可能出現錯誤: Thrown when the IP address of a host cannot be determined 。這是由于安裝程序找不到本機的 IP 地址或主機名,此時就需要手動設置 IP 或主機名。本文所遇到的情況是:
hostname // 顯示主機名為 172.20.16.9
cat /etc/hosts // 顯示 hosts 文件的內容,其內容如下所示
# Do not remove the following line, or various programs
# that require network functionality will fail.
#127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost.localdomain localhost
172.20.16.9 172.20.16.9
vi /etc/hosts // 不能用 IP 作為主機名,用標準名(如 test ),修改后的內容如下
# Do not remove the following line, or various programs
# that require network functionality will fail.
#127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost.localdomain localhost
172.20.16.9 test
在安裝的過程,會要求以 root 用戶身份執行一些命令(一般會有兩次),如 /opt/oracle/product/10.1/root.sh 。此時只需要根據提示,再啟動一個新的 Terminal ,在其中先后執行命令 su (如果已經在 root 用戶下,可不執行該命令) 和 /opt/oracle/product/10.1/root.sh (或其它指定的命令) 就可以了。
9
啟動
/
關閉
Oracle
服務器
方法 1 :
su - oracle
lsnrctl start
啟動監聽器時使用
lsnrctl stop
關閉監聽器時使用
sqlplus /nolog
SQL > connect / as sysdba
SQL > startup
啟動
Oracle
服務器時使用
shutdown immediate
關閉
Oracle
服務器時使用
方法
2
:
su - oracle
lsnrctl start
啟動監聽器時使用
lsnrctl stop
關閉監聽器時使用
dbstart
啟動服務器時使用
dbshut
關閉
Oracle
服務器時使用
其實方法
1
是啟動
/
關閉
Oracle
服務器,方法
2
是啟動
/
關閉系統中的
Oracle
服務。
10
卸載
Oracle
// ORACLE_HOME
與第
7
節中
ORACLE_HOME
的意義相同,如
/opt/oracle/product/10.1
cd ORACLE_HOME/oui/bin
sh runInstaller