linuxoracle64位
『壹』 如何在linux環境下安裝Oracle 資料庫11g
因項目需求,需要在64位linux系統中安裝Oracle 11g,在網上查了很多內容,結合自己的實際經驗,終於安裝成功,記錄下來,分享給有需要的同志們,不謝哈!^_^
一、修改操作系統核心參數
在Root用戶下執行以下步驟:
1)修改用戶的SHELL的限制,修改/etc/security/limits.conf文件
輸入命令:vi /etc/security/limits.conf,按i鍵進入編輯模式,將下列內容加入該文件。
?
1
2
3
4
5
6
7
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
編輯完成後按Esc鍵,輸入「:wq」存檔退出
2)修改/etc/pam.d/login 文件,輸入命令:vi /etc/pam.d/login,按i鍵進入編輯模式,將下列內容加入該文件。
?
1
2
3
session required /lib/security/pam_limits.so
session required pam_limits.so
編輯完成後按Esc鍵,輸入「:wq」存檔退出
3)修改linux內核,修改/etc/sysctl.conf文件,輸入命令: vi /etc/sysctl.conf ,按i鍵進入編輯模式,將下列內容加入該文件
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
編輯完成後按Esc鍵,輸入「:wq」存檔退出
4)要使 /etc/sysctl.conf 更改立即生效,執行以下命令。 輸入:sysctl -p 顯示如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
linux:~ # sysctl -p
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
5)編輯 /etc/profile ,輸入命令:vi /etc/profile,按i鍵進入編輯模式,將下列內容加入該文件。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
編輯完成後按Esc鍵,輸入「:wq」存檔退出
6)創建相關用戶和組,作為軟體安裝和支持組的擁有者。
創建Oracle用戶和密碼,輸入命令:
?
1
2
3
useradd -g oinstall -g dba -m oracle
passwd oracle
然後會讓你輸入密碼,密碼任意輸入2次,但必須保持一致,回車確認。
7)創建資料庫軟體目錄和數據文件存放目錄,目錄的位置,根據自己的情況來定,注意磁碟空間即可,這里我把其放到oracle用戶下,例如:
輸入命令:
?
1
2
3
4
5
6
7
mkdir /home/oracle/app
mkdir /home/oracle/app/oracle
mkdir /home/oracle/app/oradata
mkdir /home/oracle/app/oracle/proct
8)更改目錄屬主為Oracle用戶所有,輸入命令:
?
1
chown -R oracle:oinstall /home/oracle/app
9)配置oracle用戶的環境變數,首先,切換到新創建的oracle用戶下,
輸入:su – oracle ,然後直接在輸入 : vi .bash_profile
按i編輯 .bash_profile,進入編輯模式,增加以下內容:
?
1
2
3
4
5
6
7
8
9
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/proct/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
編輯完成後按Esc鍵,輸入「:wq」存檔退出
二、安裝過程
1)當上述系統要求操作全部完成後,注銷系統,在圖形界面以Oracle用戶登陸。首先將下載的Oracle安裝包復制到linux中,用SSH其他ftp工具拷貝。
打開一個終端,運行unzip命令解壓oracle安裝文件,如:
輸入命令:
?
1
2
3
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
解壓完成後 cd 進入其解壓後的目錄database
輸入命令:
cd database
使用ls命令可以查看解壓後database所包含的文件,如下圖:
2)執行安裝,輸入命令:./runInstaller
裝到這一步,可以看到,可以查看到有很多的rpm包沒有,我們可以從安裝linux的光碟或ISO中(或去
D:\linux_oracle11g_Package)查找所缺的包,使用ftp上傳到linux中,然後使用rpm –ivh xxx.rpm
--nodeps –force 來進行安裝(其中加上--nodeps -- force 代表強制安裝,是在直接使用rpm –ivh
xxx.rpm安裝不成功的情況下用的)等到把包全部都安裝好的情況下,再次在oracle圖形界面中,執行安裝過程2,下來在環境檢查過程中,就通過
了。
安裝過程中86%可能會遇到報錯如出錯問題(error in invoking target 'mkldflags ntcontab.o nnfgt.o' of makefile)按照如下步驟順序執行。
上傳安裝鏡像rhel-server-6.1-x86_64-dvd.iso,
然後將鏡像文件掛,如/mnt
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# mount -o loop rhel-server-6.1-x86_64-dvd.iso /mnt
# cd /mnt/Packages
# rpm -ivh glibc-common-2.12-1.25.el6.x86_64.rpm
# rpm -ivh kernel-headers-2.6.32-131.0.15.el6.x86_64.rpm
# rpm -ivh libgcc-4.4.5-6.el6.x86_64.rpm
# rpm -ivh glibc-2.12-1.25.el6.x86_64.rpm
# rpm -ivh libgomp-4.4.5-6.el6.x86_64.rpm
# rpm -ivh nscd-2.12-1.25.el6.x86_64.rpm
# rpm -ivh glibc-headers-2.12-1.25.el6.x86_64.rpm
# rpm -ivh glibc-devel-2.12-1.25.el6.x86_64.rpm
# rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm
# rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm
# rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
# rpm -ivh cpp-4.4.5-6.el6.x86_64.rpm
# rpm -ivh gcc-4.4.5-6.el6.x86_64.rpm
註:以上是安裝gcc,軟體安裝順序不能錯。
?
1
2
3
4
5
6
7
******************************************
# rpm -ivh libstdc++-4.4.5-6.el6.x86_64.rpm
# rpm -ivh libstdc++-devel-4.4.5-6.el6.x86_64.rpm
# rpm -ivh gcc-c++-4.4.5-6.el6.x86_64.rpm
註:以上是安裝gcc-c++
根據這個方法解決了錯誤。
安裝完成後,系統會提示你需要用root許可權執行2個shell腳本。按照其提示的路徑,找到其所在的位置,如:我的就在/home/oracle/app/oracle/proct/11.2.0/dbhome_1/root.sh
和 /home/oracle/oraInventory/orainstRoot.sh 新開啟一個終端,輸入命令:
?
1
2
3
4
5
6
7
8
9
su – root
cd /home/oracle/app/oracle/proct/11.2.0/dbhome_1
sh root.sh
cd /home/oracle/oraInventory
sh orainstRoot.sh
三、資料庫建庫
1) 還是在oracle用戶的圖形界面oracle用戶中,新開啟一個終端,直接輸入命令dbca會彈出如下界面。我們這里採用定製資料庫。
『貳』 linux64位 oracle11g如何使ins_ctx.mk編譯成功
從別的Linux機器上拷貝一個libstdc++.so.5.0.7替換系統里的原文件,注意不要替換符號鏈接。
『叄』 linux Red Hat 64位安裝oracle時報錯
1 安裝了,但相對應的lib版本不兼容
——我們需要的是libjpeg.so.8.0但安裝的是libjpeg.so.6.0,
——或者是需要arm平台上的lib,但我們安裝的是X86架構的,或反之本來是要編譯arm平台上的卻忘了指定交叉編譯器
——我們需要32位但我們安裝的是64位的
2 安裝了,版本也對了,但lib(.so.version-num)的symbolic link 不正確,沒有連結到正確的函式庫文件(.so)
——我們需要的是libjpeg.so.8.0,也安裝上了,但是實際使用時我們是查找的libjpeg.so,就需要相應的一個名為libjpeg.so的link 指向libjpeg.so.8.0
3 目錄中確實沒有相對應的lib
——系統中沒有安裝相對應的lib
——安裝了,但不在這個目錄且不在環境變數中
遇到此類問題的解決思路:
一、先詳細了解問題,注意看錯誤的詳細信息以進一步確定,若出現類似下面提示:
/usr/bin/ld: skipping incompatible /usr/local/jpeg-6b when searching for -libjpeg.so