国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

在Redhat 9上安裝 Oracle 817心得

2024-08-29 13:29:21
字體:
來源:轉載
供稿:網友
在 linux 上安裝 oracle 8i
(注:引用http://vip.6to23.com/hanson/htdocs/oracle.htm,在安裝過程中作一些更正)

關于 oracle 安裝的討論已經有很多了,可是在實踐中你還是總會遇到某些麻煩,因此我就留下我的兩分錢吧。本文討論的環境基于 redhat linux 9.0.93,

oracle 的版本號為 8.1.7.0.1。

下載軟件
假設你已經有了一臺跑著 redhat 的機器,并且它滿足 oracle 8i 對硬件的相關要求,并且具有網絡連接,下面就下載其他所需的軟件。首先在 otn 下載 linux

81701.tar 和 glibc-2.1.3-stubs.tar.gz,另外還需要:

i386-glibc-2.1-linux.tar.gz(下載位置:http://ftp.valinux.com/pub/suppo ... c-2.1-linux.tar.gz)
binutils-2.10.91.0.2-3.i386.rpm(下載位置:http://mirrors.usc.edu/pub/linux ... s/i386/redhat/rpms/

binutils-2.10.91.0.2-3.i386.rpm)
(redhat 自帶的是 binutils-2.13.90.0.18-9.i386.rpm,用于恢復,下載位置:http://mirrors.usc.edu/pub/linux ... t/redhat/linux/9/en

/os/i386/redhat/rpms/compat-gcc-7.3-2.96.118.i386.rpm)
jdk118_v3-glibc-2.1.3.tar.bz2(下載位置:http://ftp.dk.xemacs.org/pub/lan ... libc-2.1.3.tar.bz2)

因為 oracle 自帶了 jre 1.1.8,所以不用單獨安裝,假設以上所述軟件都放在 /tmp 目錄。

(注:還需要從java官方網站下載jdk 1.4.2用以恢復,我安裝的redhat9沒有發現jdk 1.4.2,下載位置:http://java.sun

.com/j2se/1.4.2/download.html)

安裝glibc、jdk、和 binutils
su
cd /
tar zxvf /tmp/i386-glibc-2.1-linux.tar.gz

cd /usr/bin
mkdir saved
mv gcc cc ld saved
ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-gcc gcc
ln -s gcc cc
ln -s /usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-ld ld
(注:安裝oracle過程中發現/usr/bin/ld變為非鏈接,需要重新設置,否則會出現連接出錯!)

cd /usr/lib
mkdir saved
mv libc.so libdl.so libm.so libpthread.so saved
mv libc.a libdl.a libm.a libpthread.a saved

(注:沒有安裝過java的話就沒有這個目錄,需要先mkdir /usr/java)
cd /usr/java
tar jxvf /tmp/jdk118_v3-glibc-2.1.3.tar.bz2
ln -s /usr/java/jdk118_v3 /usr/local/java
(注:原來是ln -s jdk118_v3 /usr/local/java,后來發現鏈接不正確)

(注:安裝前先轉到軟件放置目錄cd /tmp)
rpm -uvh --force --nodeps binutils-2.10.91.0.2-3.i386.rpm
(注:執行這一命令后/usr/bin/ld變為非鏈接,需要重新設置,否則會出現連接出錯!)

創建用戶和組
groupadd oinstall
groupadd dba
groupadd oper(注:此組還象沒有用到,可以去掉,下面的useradd也要相應的去掉)
useradd -d /oracle -g oinstall -g dba,oper oracle(注:此處為給oracle用戶設定/oracle目錄,默認是/home/oracle)
passwd oracle
chown -r oracle.dba /oracle
chmod 750 /oracle

準備安裝
vi /oracle/.bash_profile(注:由于前面給oracle設置/oracle目錄,默認是/home/oracle/.bash_profile)

修改為如下內容:
(注:內容開始,可以在非linux環境修改這個文件,不過該文件中換行只能是0a,要去掉所有的0d)
# .bash_profile

# get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# user specific environment and startup programs
unset username
umask 022
export editor=vi
export term=xterm
export tmpdir=/tmp

# setup installation environment
export oracle_sid=orcl
export oracle_base=/oracle
export oracle_home=$oracle_base/product/8.1.7
export ld_library_path=$oracle_home/lib:/usr/i386-glibc-2.1-linux/i386-glibc-linux/lib:/lib:/usr/lib:/lib:/usr/local/lib(注:恢復時這一行要刪i

386-glibc-2.1的路徑)
export shlib_path=$oracle_home/lib:/usr/lib:/lib:/usr/local/lib
export libpath=$oracle_home/lib:/usr/lib:/lib:/usr/local/lib
export tns_admin=$oracle_home/network/admin
export nls_lang=american_america.we8iso8859p1
export ora_nls33=$oracle_home/ocommon/nls/admin/data
export oracle_owner=oracle
export oracle_term=xterm
export gcc_exec_prefix=/usr/i386-glibc21-linux/lib/gcc-lib/
export ld_assume_kernel=2.4
export java_home=/usr/local/java
export classpath=$oracle_home/jdbc/lib/classes111.zip:$oracle_home/jre:$oracle_home/jlib:$oracle_home/rdbms/jlib:$oracle_home/network/jlib:.
(注:內容結束,注意export的內容在同一行上,classpath后面的classesxxx.zip建議自己去查一下,我這里xxx是111,路徑用冒號分隔而不是分號)

su oracle
. .bash_profile
export lang=en
cd /tmp
tar xvf linux81701.tar

其中 export lang=en 是為了防止界面黑做一團。

(注:此時最好去檢查一下/usr/bin/ld的鏈接是否正確:ls -l /usr/bin/ld,應該鏈接到/usr/i386-glibc-2.1-linux/bin/i386-glibc21-linux-ld才對,否則重

復前面的做法,先rm /usr/bin/ld,再ln。另外建議對前面設定的各個鏈接都檢查一下:/usr/bin/gcc,/usr/bin/cc,/usr/local/java,深紅色的表示鏈接不正確)

開始安裝
./disk1/runinstaller

點擊 next;在 unix group name 里輸入 oinstall;出現一個提示框要求執行 orainstroot.sh,這時另外打開一個終端:

su
cd $oracle_home
./orainstroot.sh

回到 gui,按 retry;選擇安裝 enterprise edition;選擇典型安裝;選擇使用一個已經存在的 repository;選擇 jdk 的位置(注:應是/usr/local/java);問

是否要新建一個數據庫,不用;繼續,等待一段時間;出現一個提示框要求執行 root.sh;回到終端:
(注:建議選擇自定義安裝,這樣可以添加支持的語言,比如簡體中文等,連接過程如果出錯的話請按后面的“處理錯誤”執行,我沒有碰到錯誤)

vi root.sh

按下列要求修改:第98行,把 sed=/usr/local/bin/sed 改為 sed=/bin/sed;第102行,把 rmf=/bin/rm –f 改為 rmf="/bin/rm -f";第156行,把 ruid=`/usr

/bin/id|$awk -f/( '{print $2}'|$awk -f/) '{print $1}` 改為 ruid=`/usr/bin/id|$awk -f/( '{print $2}'|$awk -f/) '{print $1}'`。

./root.sh

回一次車;回到 gui,按 ok。

處理錯誤
(注:出錯的可能性是/usr/bin/ld的鏈接被更改,記住在安裝binutils-2.10.91.0.2-3.i386.rpm之后要去更改)
出現一個提示框,說 error in invoking target relink of makefile /oracle/product/8.1.7/precomp/lib/ins_precomp.mk 或者 error in invoking target

relink of makefile /oracle/product/8.1.7/rdbms/lib/ins_rdbms.mk,回到終端:

exit
cd $oracle_home
tar zxvf /tmp/glibc-2.1.3-stubs.tar.gz
./setup_stubs.sh

鏈接工作完成后,回到 gui,按 retry;等待,直到安裝完成;完成后自動啟動的 net8 配置向導沒有反應,kill 之。

恢復其他軟件
su
rpm -e --nodeps bintutils-2.10.91.0.2-3
rpm -ivh /mnt/cdrom/redhat/rpms/binutils-2.13.90.0.18-9.i386.rpm(注:如果是下載的,位置可能不一樣)
cd /usr/local
rm java

(注:補充開始)
安裝java
1、#cp j2sdk-1_4_2_05-linux-i586-rpm.bin 到/usr/local
2、#chmod 755 j2sdk-1_4_2_05-linux-i586-rpm.bin
3、#./j2sdk-1_4_2_05-linux-i586-rpm.bin (解出j2sdk-1_4_2_05-linux-i586.rpm)
4、#rpm -ivh j2sdk-1_4_2_05-linux-i586.rpm
rpm安裝很方便,不用保佑了。
(注:補充結束)

ln -s /usr/java/j2sdk1.4.2_05 java
(注:原來是j2sdk1.4.2_01,我現在從網下載到的是j2sdk1.4.2_05,建議安裝完后自己去檢查一下。我用的是“ln -s /usr/java/j2sdk1.4.2_05 /usr/local/

java”,擔心又出來鏈接不對的情況)
cd /usr/bin
rm gcc cc ld
mv ./saved/* .
rmdir saved
cd /usr/lib
mv ./saved/* .
rmdir saved

然后把 oracle 用戶環境變量 ld_library_path 中的 glibc 的部分刪去。

創建數據庫
exit
cd $oracle_home/bin
unset lang
unset nls_lang
./dbassist

選擇創建數據庫;定制;多用途;下一步;共享服務器模式;去掉所有選項(創建 jserver 的時間巨長);設置全局數據庫名和 sid,假設全局數據庫名為 testdb

,sid 為 orcl;更改字符集:字符集為 utf8、國家字符集為 zhs16gbk;六次下一步;完成。

配置 net8
./netca

使用 netca 是因為 netasst 總是沒有反應,讓我們鄙視它吧。選擇監聽程序配置;添加;監聽程序名使用默認的 listener;三次下一步。

上面步驟即是對 $oracle_home/network/admin/listener.ora 的編輯:

# copyright (c) 1997 by the oracle corporation
#
listener =
  (address_list=
    (address=(protocol=tcp)(host=localhost)(port=1521))
    (address=(protocol=ipc)(key=extproc)))

sid_list_listener=
  (sid_list=
    (sid_desc=
      (global_dbname=testdb)
      (sid_name=orcl)
      (oracle_home=/oracle/product/8.1.7)
    )
  )

其中 global_dbname、sid_name、和 oracle_home 隨實際情況不同而不同。

手工啟動數據庫和監聽
vi /etc/oratab

把最后的 n 改成 y。

./dbstart
./lsnrctl start

設置服務
su
cd /etc/init.d
vi oracle
(注:內容開始,可以在非linux環境下生成然后復制過去,注意要去掉0d字符)
#!/bin/bash
#
# startup script for oracle and listener
#
# chkconfig: 35 99 1
# description: oracle 8.1.7.0.1

# setup environment for script execution.
. /oracle/.bash_profile(注:給oracle用戶設置的目錄有變時需要更改此處)

case "$1" in
  start)
        echo "starting oracle database(s) listed in /etc/oratab ..."
        sleep 2
        su - oracle -c "$oracle_home/bin/dbstart"
        echo "starting tns listener..."
        sleep 2
        su - oracle -c "$oracle_home/bin/lsnrctl start"
        touch /var/lock/subsys/oracle
        ;;
  stop)
        echo "stopping tns listener..."
        sleep 2
        su - oracle -c "$oracle_home/bin/lsnrctl stop"
        echo "stopping oracle databases(s) listed in /etc/oratab ..."
        sleep 2
        su - oracle -c "$oracle_home/bin/dbshut"
        rm -f /var/lock/subsys/oracle
        ;;
  status)
        ps -ax | grep -e ora_ -e tnslsnr
        ;;
  *)
        echo "usage: oracle {start|stop|status}"
        exit 1
esac

exit 0
(注:內容結束)

chmod 700 /etc/init.d/oracle
/sbin/chkconfig --add oracle

使用啟動腳本啟動和關閉
/etc/init.d/oracle start
/etc/init.d/oracle stop

(注:到此安裝配置完成,以后每次啟動/關閉系統時oracle服務都會自動啟動/停止)

(注:有些情況會提示權限不夠,就改用root操作,至于哪一步該用oracle哪一步該用root,操作過程中看情況而定,建議優先使用oracle)
參考工具:winscp366setup.exe - setup for winscp 3.6.6 (scp/sftp client for windows),用于在windows下連接到linux并操作文件

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武功县| 宁化县| 岢岚县| 南部县| 留坝县| 宁河县| 保德县| 南安市| 县级市| 花莲县| 江陵县| 乾安县| 神木县| 济宁市| 龙门县| 小金县| 宜良县| 安陆市| 龙岩市| 苗栗县| 织金县| 南部县| 荃湾区| 南涧| 青海省| 静乐县| 兰西县| 罗平县| 祁连县| 南开区| 乐清市| 武定县| 焦作市| 大余县| 信阳市| 岢岚县| 武平县| 南岸区| 南江县| 崇文区| 亳州市|