redhat6.1安裝oracle11g

 雖然是linux新到不能再新的新手,但是在看了一個星期的資料後還是自我感覺很有進步,因此記錄一些細節,當做複習也好,當做留底方便以後系統出毛病看看也好。

       整個過程基於http://wenku.baidu.com/view/78553335a32d7375a417807d.html這篇文章。

       前面兩部分比較容易。

一、準備服務器和操作系統

1)最好是安裝了圖形界面(沒安裝也沒事)

2)如果是通過ssh或者telnet連到linux服務器的,建議用secureCRT,因爲報錯的時候能看到中文,僅僅是爲了這個,我下載的是51cto.com裏面的綠色版本什麼的。

3)下載linux.x64_11gR2_database_1of2和linux.x64_11gR2_database_2of2

http://www.oracle.com/technetwork/products/express-edition/downloads/index.html?ssSourceSiteId=ocomen

二、安裝準備

檢查redhat內核版本

[root@redhat ~]# uname -r

2.6.32-131.0.15.el6.i686(這個是32位的,64位的是x86_64)

 

安裝軟件包檢查

redhat6.1當時刻了4張光盤,這裏面沒裝的軟件包在第3張光盤的Packages裏面,所以先掛載光盤再安裝:

mkdir /mnt/cdrom

mount -t iso9660 /dev/cdrom /mnt/cdrom

cd /mnt/cdrom/Packages (由於忘記切換目錄到Packages下,再加上ssh客戶端不能顯示中文,這裏搞了我一天多!)

rpm -ivh *.rpm

[root@redhatsysconfig]# rpm -qa | grepbinutils

binutils-2.20.51.0.2-5.20.el6.i686

binutils-devel-2.20.51.0.2-5.20.el6.i686

[root@redhatsysconfig]# rpm -qa | grepcompat-libstdc++

compat-libstdc++-33-3.2.3-69.el6.i686

[root@redhatsysconfig]# rpm -qa | grepelfutils-libelf

elfutils-libelf-0.152-1.el6.i686

elfutils-libelf-devel-0.152-1.el6.i686

[root@redhatsysconfig]# rpm -qa | grepglibc

glibc-headers-2.12-1.25.el6.i686

glibc-devel-2.12-1.25.el6.i686

glibc-2.12-1.25.el6.i686

glibc-common-2.12-1.25.el6.i686

[root@redhatsysconfig]# rpm -qa | greplibaio

libaio-0.3.107-10.el6.i686

[root@redhatsysconfig]# rpm -qa | greplibgcc

libgcc-4.4.5-6.el6.i686

[root@redhatsysconfig]# rpm -qa | greplibstdc++

libstdc++-4.4.5-6.el6.i686

libstdc++-docs-4.4.5-6.el6.i686

libstdc++-devel-4.4.5-6.el6.i686

[root@redhatsysconfig]# rpm -qa | grepsysstat

sysstat-9.0.4-18.el6.i686

[root@redhatsysconfig]# rpm -qa | grepunixODBC

unixODBC-devel-2.2.14-11.el6.i686

unixODBC-2.2.14-11.el6.i686

 

修改內核參數,修改後運行sysctl –p 使修改生效

[root@redhat ~]# vi /etc/sysctl.conf

kernel.shmall = 268435456

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 262144

fs.aio-max-nr = 1048576

fs.file-max = 6815744

 

 

oracle 用戶及組的創建

[root@redhat ~]# groupaddoinstall

[root@redhat ~]# groupadddba

[root@redhat ~]# useradd -g oinstall -G dba oracle

[root@redhat ~]# passwd oracle

更改用戶oracle 的密碼。

新的 密碼:

重新輸入新的 密碼:

passwd: 所有的身份驗證令牌已經成功更新。

 

[root@redhat ~]# mkdir -p /u01/oracle

[root@redhat ~]# chown -R oracle:oinstall /u01/oracle

 

爲oracle 用戶設置環境變量

[root@redhat ~]# su -l oracle

[oracle@redhat ~]$ vi .bash_profile

 

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

export ORACLE_BASE=/u01/oracle

export ORACLE_HOME=$ORACLE_BASE/product/OraHome

export ORACLE_SID=test

export ORACLE_OWNER=oracle

export PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib

export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib

export CLASSPATH

 

--執行以下命令讓配置馬上生效或以oracle用戶登錄使設置生效

$ source $HOME/.bash_profile

 

設置Shell Limits

a.在/etc/security/limits.conf文件中加入下列行:

oracle soft nofile 65536

oracle hard nofile 65536

oracle soft nproc 16384

oracle hard nproc 16384

 

b.在/etc/pam.d/login文件中加入下列行,如果裏面沒有的話:

session required /lib/security/pam_limits.so

session required pam_limits.so

c.在/etc/profile後加入以下語句:

vi /etc/profile

if [ $USER = "oracle" ]; then

        if [ $SHELL = "/bin/ksh" ]; then

                ulimit -p 16384

                ulimit -n 16384

        else

                ulimit -u 16384 -n 16384

        fi

fi    

 (到這裏都很簡單,細心點就好了。)

 

 

三、安裝ORACLE軟件

[root@redhat ~]# su -l oracle

[oracle@redhat ~]$ cd database/

[oracle@redhat database]$ ./runInstaller

這裏可能會出現這個錯誤:

Invalid source path '../stage/Components/oracle.swd.oui/11.2.0.1.0/1/DataFiles' specified for unzip. Unzip command failed. Please check oraparam.ini and specify a valid source path.
: No such file or directory。

原因可以參考這篇文章的末尾段http://space.itpub.net/16396821/viewspace-678802

大概就是linux.x64_11gR2_database_1of2和linux.x64_11gR2_database_2of2這兩個下載的包先不要解壓傳到系統後再一起解壓就能解決這個問題。

關於傳到系統。我一開始把這兩個壓縮包放u盤裏,然後掛載u盤,發現文件名都縮短了,後來用ftp傳到oracle用戶下,文件名就顯示正常了,不管怎樣,既然用了u盤掛載就簡單說一下u盤掛載方法吧。http://linzhanghui.iteye.com/blog/1166311

關於解壓。兩個壓縮包都是zip格式,所以分別unzip file.zip就可以了。分別解壓後也是就有一個database目錄了。

這個時候再./runInstaller。。。。。如果你安裝linux時裝了圖形界面那恭喜,如果沒有,有點麻煩,如果發現連yum也沒有,就更麻煩。

裝圖形界面還是用yum吧,因爲就三個命令就完事了,那yum的安裝呢?

http://blog.csdn.net/lincy100/article/details/6803855看前面一段就好了。

http://wenku.baidu.com/view/1ed0b024192e45361066f5fb.html跟上一篇一樣的,不過有圖片,稍微詳細一點。

我當時做到第四步的時候可能有點困擾,因爲一個說要vi /etc/yum.repos.d/rhel-debuginfo.repo,一個有沒說究竟是改哪個,況且我的/etc/yum.repos.d下面沒有rhel-debuginfo.repo,看了一些資料後,決定就改這個vi/etc/yum.repos.d/rhel-source.repo,按照上面第二個的介紹去改就好了。試一下yum clean all 然後yum install gcc。

既然yum裝好了,裝圖形界面就

yum install xorg*

yum groupinstall "X Window System"

yum groupinstall Desktop

yum groupinstall "Desktop Platform"

上面4步都是機器自己裝,需要點時間。

安裝完後,按照網上所說要vi /etc/inittab 把id:3:initdefault:改成id:5:initdefault:(啓動默認到圖形界面,而不再是文字界面),最後reboot

第一次按照這樣做,系統重啓後出現有圖形界面的亂碼(還不是桌面),我在客戶端重新用root登錄輸入startx之後,客戶端開始一直報錯,一行一行地出現,而服務器那邊就能去到圖形界面的用戶選擇,更奇怪的是,這種情況只能用root在圖形界面登錄,用其他用戶登錄的話,顯示器就一直只有一個鼠標鍵在屏幕上,桌面是不會出現的。所以圖形界面裝好後,我就到服務器前繼續裝。

圖形界面好了之後,終於可以 

[oracle@redhat database]$ ./runInstaller

又出現報錯:

DISPLAY 尚未設置。請設置 DISPLAY 後重試。 
根據所使用的 Unix Shell, 您可以使用以下示例中的一個命令來設置 DISPLAY 環境變量: 
- 對於 csh:            % setenv DISPLAY 192.168.1.128:0.0 
- 對於 sh, ksh 和 bash:         $ DISPLAY=192.168.1.128:0.0; export DISPLAY 
使用以下命令來查看所使用的 shell: 
       echo $SHELL 
使用以下命令來查看當前的 DISPLAY 環境變量設置: 
       echo $DISPLAY 
- 確保客戶機用戶有權連接到 X 服務器。 
要允許客戶機用戶訪問 X 服務器, 請以啓動會話的用戶身份打開 xterm, dtterm 或 xconsole, 並鍵入以下命令: 
% xhost + 
要測試 DISPLAY 環境變量是否設置正確, 請運行本機操作系統自帶的基於 X11 的程序, 例如 'xclock': 
        % <xclock 的完整路徑.. 參見下文> 
如果無法成功運行 xclock, 請與您的 PC-X 服務器或操作系統供應商聯繫以獲得幫助。 
xclock 的典型路徑爲: /usr/openwin/bin/xclock 
      http://shuhui018125.blog.163.com/blog/static/7711050201002792325362/ 按照這篇文章去做就沒問題了。

再次[oracle@redhat database]$ ./runInstaller

終於可以進入圖形界面去安裝oracle了,但是亂碼了?

http://www.examw.com/oracle/zhonghe/147029/這篇東西的後半部分搞掂這個問題。

 

然後利用netca、dbca創建監聽和創建數據庫。

http://www.linuxidc.com/Linux/2011-09/43920p2.htm這個是總流程。

但是在執行netca時可能會報錯:

Command not found

http://blog.sina.com.cn/s/blog_62200f0e0100jl2j.html建議先看這個,理解一下。

http://victorwmh.iteye.com/blog/1074854真正修改.bash_profile的時候按照這個的第3種改,記得改完要讓它生效。

我的PATH是在/u01/oracle/product/OraHome/bin

好了,netca命令有了,輸入netca回車。

又報錯:

Oracle Net Services 配置:
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Error: null
有關詳細信息, 請查看跟蹤文件: /oradata/oracle/cfgtoollogs/netca/trace_OraDb11g_home1-1204115下午2740.log
Oracle Net Services 配置失敗。退出代碼是1
http://www.cnblogs.com/lanzi/archive/2012/04/12/2443639.html完美解決。

執行完dbca創建數據庫後測試一下

用 Oracle 用戶 遠程登錄, 然後

$ sqlplus / nolog

SQL> conn / as sysdba

Connected to an idle instance.

SQL> startup;
    ORA-01078: failure in processing system parameters
    LRM-00109: could not open parameter file '/oracle/product/11.1.0/dbs/initorcl.ora'

http://wenku.baidu.com/view/b7980269561252d380eb6e71.html完美解決

雖然這篇文章裏是用的不是11g,所提到的目錄不同,但是大體類似,我的目錄就是在/u01/oracle下好像就有admin了,然後一步一步找。

解決完這個再試一次startup,又來報錯

ORA-00845: MEMORY_TARGET not supported on this system

http://ibmcn.blog.51cto.com/510174/766996稍微認真看一下就能明白了。

終於,解決完這一個我就再沒有問題了。。。。。。
       寫完了,好累。。

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章