題記:
看到一個傳說的中文版官方文檔說,Oracle的安裝的複雜增加了Oracle的入門難度。接觸了一個月,爲Oracle安裝過程中的各種報錯深感頭疼。參考了網上各種文檔,也有近乎完全成功的經歷,卻很難重現。在此小記一下安裝過程,爲以後做參考。如果能夠幫助到大家,今天的努力值了
環境:
平臺:Red Hat Enterprise Linux Server release 6.1 (Santiago) #/etc/redhat-release中讀取,非紅帽系統建議修改該文件此值
64位系統
硬盤:100G
內存:4G
swap:8G #一般2G足矣
步驟:
【STEP 1】: 安裝RPM包
rpm -q binutils compat-db compat-gcc compat-libstdc++ control-center elfutils-libelf-devel gcc gcc-c++ glibc libaio libaio-devel libgcc libXp libXt libXtst libstdc++ libstdc++-devel make openmotif unixODBC unixODBC-devel opdks
配置好yum源,安裝上相應的RPM包即可
yum -y install binutils* compat-db* compat-gcc* compat-libstdc++* control-center* elfutils-libelf-devel* gcc* gcc-c++* glibc* libaio* libaio-devel* libgcc* libXp* libXt* libXtst* libstdc++* libstdc++-devel* make openmotif* unixODBC* unixODBC-devel*
【STEP 2】: 修改相關文件參數
vi /etc/sysctl.conf #文件中加入下列行:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.sem = 250 32000 100 128
fs.file-max = 65536
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 1024 65536
net.core.rmem_default=262144
net.core.rmem_max=4190304
net.core.wmem_default=262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
/sbin/sysctl –p #root用戶運行命令使其上述修改生效,如果報錯如下,可以忽略
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key error: "net.bridge.bridge-nf-call-iptables" is an unknown key error: "net.bridge.bridge-nf-call-arptables" is an unknown key
vi /etc/security/limits.conf#在文件下方加入下列行:
oracle soft nofile 131072
oracle hard nofile 131072
oracle soft nproc 131072
oracle hard nproc 131072
oracle soft core unlimited
oracle hard core unlimited
oracle soft memlock 50000000
oracle hard memlock 50000000
vi /etc/pam.d/login #文件下方加入下列行,如果裏面沒有的話:
session required /lib/security/pam_limits.so
vi /etc/redhat-release #此值不改會報錯
Red Hat Enterprise Linux AS release 3 (Taroon) #修改爲此值
groupadd oinstall #此用戶組中成員用於管理Oracle數據庫軟件(即Oracle的各種物理文件)
groupadd dba #此用戶組中成員用於管理、操作數據庫,在使用操作系統驗證的情況下,在數據庫中擁有dba權限
##之所以創建兩個用戶組是出於安全考慮,如果沒有安全需要,可以只創建dba組
useradd -g oinstall -G dba oracle #創建用戶,並設定用戶組
echo "ORACLE!@#" |passwd --stdin oracle #設定oracle用戶的密碼,linux需要強密碼
su - oracle #切換到Oracle的家目錄
mkdir -p /u01/app/{oracle,oraInventory} #創建目錄,關於路徑的寫法OCP考試中有明文規定,這個也並不是說不可以改
chown -R oracle.oinstall /u01/app/{oracle,oraInventory}#修改屬主屬組
chown -R 775 /u01/app/{oracle,oraInventory}#修改權限值
vim /home/oracle/.bash_profile#修改Oracle家目錄下的隱藏文件,設置變量屬性
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:/usr/sbin:$ORACLE_HOME/bin
export LANG=en_US.UTF-8 #設置oracle用戶的語言環境,必須注意
vi /redhat-release
【STEP 3】: 解壓縮程序,安裝
cd /tmp #把oracle安裝包上傳到/tmp目錄下
ll 10201_database_linux_x86_64.cpio.gz #查看文件屬主屬組,上傳的文件屬主屬組都爲root
chown oracle.oinstall 10201_database_linux_x86_64.cpio.gz #更改屬主屬組
su - oracle #保證當前的操作都是oracle用戶執行的
cd /tmp
gunzip 10201_database_linux_x86_64.cpio.gz #解壓縮
cpio -idmv < 10201_database_linux_x86_64.cpio
ls /tmp
圖中的database即爲解壓出來的文件,此時準備工作算是全部OK了。不過這個並不保證不會出現問題,“遇山開路,遇水搭橋”,先就這了。如果你是遠程操作上面的過程,下面的步驟建議你到直接到主機上進行,下面到圖形化界面進行了。 如果主機是虛擬機,你可以暫停虛擬機的運行保存狀態,如果是遠程登錄進行操作的話,可能會因爲某個原因導致遠程duankai
1.打開終端
cd /tmp/database #進入命令行後,到這個目錄下
./runInstaller #執行此目錄下的腳本
它還真給力,剛運行就給我報了一個錯誤:
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
這是因爲缺少glibc.*.i686或者i386的RPM包,掛載ISO鏡像,安裝上這個包即可。
筆者的ISO鏡像是CentOS6.3,光盤掛載到了/mnt/dvd下
cd /mnt/dvd/Packages #這樣做的好處是能夠補全文件名,指定相應的RPM包文件
yum -y install glibc-common-2.12-1.80.el6.x86_64.rpm #這個包不裝會提示下面的命令執行不成功
yum -y install glibc-2.12-1.80.el6.i686.rpm
你可能還需要裝以下幾個RPM包:
libXp-1.0.0-15.1.el6.i686.rpm
libXt-1.0.7-1.el6.i686.rpm
libXtst-1.0.99.2-3.el6.i686.rpm
glibc-devel-2.12-1.80.el6.i686.rpm
libgcc-4.4.6-4.el6.i686
libaio-devel 32bit
compat-db 32bit
compat-gcc 32bit/64bit
當安裝條件滿足後,就會進入Oracle的圖形化安裝界面了:
前面我們已經設置好了,後面的這些建議一般不要手動更改,直接“Next”:
然後Next...Install...安裝...排錯
具體的有:
ins_c.mk #缺少glibgcc-devel
ins_sysman.mk #缺少
ins_rdbms.mk #compat-libstdc++,光盤中此包的所有32位版本都裝上
ins_emdb.mk #這個錯誤直接忽略
這樣會進行到100%的時候會彈出設置Oracle Net Configuration Assistant(網絡管理助理,個人翻譯)
可以先不勾執行典型安裝,一步步點“Next”看他們都做了什麼,這裏就不再截圖。
這一步是數據庫管理助理:
不再給出圖示,讀者可根據提示一步步進行。
OK!搞定!!