雖然是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
二、安裝準備
檢查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稍微認真看一下就能明白了。
終於,解決完這一個我就再沒有問題了。。。。。。
寫完了,好累。。