CentOS 6.3(x86_64)下安裝Oracle 10g R2html
目 錄java
1、硬件要求 2、軟件 3、系統安裝注意 4、安裝Oracle前的系統準備工做 5、安裝Oracle,並進行相關設置 6、升級Oracle到patchset 10.2.0.4 7、使用rlwrap調用sqlplus中歷史命令linux
1、硬件要求c++
一、內存 & swapsql
Minimum: 1 GB of RAM Recommended: 2 GB of RAM or more數據庫
檢查內存狀況vim
# grep MemTotal /proc/meminfocentos
# grep SwapTotal /proc/meminfobash
二、硬盤session
因爲CentOS安裝後差很少有4~5G,再加上Oracle等等的安裝,因此請準備至少10G的硬盤空間。
檢查磁盤狀況
# df -h
2、軟件
系統平臺:CentOS 6.3(x86_64)
CentOS-6.3-x86_64-bin-DVD1.iso
Oracle版本:Oracle 10g R2
10201_database_linux_x86_64.cpio
補丁:p6810189_10204
p6810189_10204_Linux-x86-64.zip
3、系統安裝注意
系統安裝時必定要安裝桌面模式,不然沒法安裝oracle,另外請勿開啓SELinux,oracle官方不建議使用SELinux,CentOS的防火牆也請暫時關閉,減小安裝時的困擾。爲防止Oracle安裝過程當中出現亂碼,建議使用英文做爲系統語言,進行Oracle的安裝工做。
本文中所描述的系統命令,未經特殊標示,均爲「#」表明root權限,「$」表明oracle權限。
4、安裝Oracle前的系統準備工做
首先,請先以root帳號登入做一些前置設定做業。
一、關閉防火牆、禁用SELinux
# setup
# vi /etc/selinux/config
修改SELINUX=disabled,而後重啓。 若是不想重啓系統,使用命令setenforce 0
二、安裝依賴包
Oracle官方文檔要求的安裝包:
查看Oracle相關包是否已經安裝:
用yum方式安裝所需的包:
# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat
最後還須要安裝libXp這個Library,這個必定要安裝,不然安裝Oracle時會出現java Exception。
# yum install libXp
三、建立Oracle用戶與組
在這裏只討論單主機環境,不考慮RAC環境的配置。
執行如下指令以新增oracle安裝時所須要的使用者與羣組。
(1) 創建羣組oinstall # groupadd oinstall
(2) 創建羣組dba # groupadd dba
(3) 新增使用者oracle並將其加入oinstall和dba羣組 # useradd -m -g oinstall -G dba oracle
(4) 測試oracle帳號是否創建完成 # id oracle
(5) 創建oracle的新密碼 # passwd oracle
四、將oracle使用者加入到sudo羣組中
# vi /etc/sudoers
找到 root ALL=(ALL) ALL 這行,而且在底下再加入 oracle ALL=(ALL) ALL 輸入wq!(因爲這是一份只讀文檔因此須要再加上!)而且按下Enter
五、配置系統內核參數
# vi /etc/sysctl.conf
修改和添加如下內容:
kernel.shmall = 4294967296 //表示系統一次可使用的共享內存總量(以頁爲單位)。缺省值就是2097152,一般不須要修改 kernel.shmmax = 68719476736 //定義了共享內存段的最大尺寸(以字節爲單位)。缺省爲32M,對於oracle來講,該缺省值過低了,一般將其設置爲2G kernel.shmmni = 4096 //用於設置系統範圍內共享內存段的最大數量。該參數的默認值是 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 //發送窗口的最大大小
會有一些與目前的參數重複的,就修改爲文件上提供的。
編輯完以後,儲存,而後執行:
# sysctl -p
啓用剛剛所作的變動。
六、編輯/etc/security/limits.conf
# vi /etc/security/limits.conf
添加如下四行 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
七、編輯/etc/pam.d/login
# vi /etc/pam.d/login
添加如下兩行 session required /lib64/security/pam_limits.so session required pam_limits.so
八、修改/etc/profile
# vi /etc/profile
將如下代碼新增到profile檔案中。
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
九、修改Linux發行版本信息
因爲Oracle 10g發行的時候,CentOS 6沒有發行,因此Oracle 10g並無對CentOS 6確認支持,須要修改文件讓Oracle 10g支持CentOS 6。
咱們須要手工修改Linux的發行註記,讓Oracle 10g支持CentOS 6。
編輯/etc/redhat-release文件
# vi /etc/redhat-release
將其中的內容CentOS release 6.3 (Final)修改成redhat 4
十、建立Oracle安裝文件夾以及數據存放文件夾
#mkdir /opt/oracle #mkdir /opt/oracle/102 #chown -R oracle:dba /opt/oracle
十一、配置Linux主機
檢查/etc/hosts文件中是否有localhost的記錄(指向127.0.0.1便可),若沒有的話,在後面配置Oracle監聽的時候會出現一些問題,致使沒法啓動監聽,在此手工添加此記錄便可。
第一階段到此完畢,接下來,完成這些設定以後,請先註銷root帳號,而且以oracle帳號再次登入系統。
十二、配置oracle用戶環境變量
$ cd /home/oracle $ vi .bash_profile 修改並加入如下內容
ORACLE_BASE=/opt/oracle //上面建立的Oracle安裝文件夾 ORACLE_HOME=$ORACLE_BASE/102 ORACLE_SID=orcl LD_LIBRARY_PATH=$ORACLE_HOME/lib PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
保存後使用以下命令,使設置生效:
$ source /home/oracle/.bash_profile
5、安裝Oracle,並進行相關設置
一、解壓縮安裝文件
將下載的10201_database_linux_x86_64.cpio放至即將安裝oracle的文件夾/opt/oracle 回到終端模式而且進入到oracle文件夾:
$ cd /opt/oracle
解壓縮10201_database_linux_x86_64.cpio
$ cpio -idmv < 10201_database_linux_x86_64.cpio
接着會看到一連串的解壓縮動做。
解壓縮完成會在同一個文件夾中看到database的文件夾,請進入到database文件夾中:
$ cd database
準備執行數據庫安裝,若是你的centos是中文環境,安裝時會出現中文亂碼,請下如下指令
$ export LANG=en_US
接着執行
$ ./runInstaller
若是沒法看到安裝界面,請使用root賬戶執行以下命令後再運行安裝程序:
# export DISPLAY=:0.0 # xhost + $ ./runInstaller
遇到錯誤:Exception in ...... /lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
解決:
# yum -y install libXp.i686
分析:看報錯信息"/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory",libXp須要安裝i386的包,而不能安裝X64的包。上面認爲64位的linux須要安裝64位的libXp包,因此致使這個問題。
再次執行
$ ./runInstaller
遇到錯誤:Exception in ...... /lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory
解決:
# yum -y install libXt.i686
再次執行
$ ./runInstaller
遇到錯誤:Exception in ...... /lib/i386/libawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
解決:
# yum -y install libXtst.i686
再次執行
$ ./runInstaller
開始執行安裝程序。
因爲相關的前置做業已經在以前作好了,在這個步驟只須要將UNIX DBA Group選擇爲dba以及輸入SYS, SYSTEM等帳號共享的database Password便可。而後選擇Next便可。
一樣的,將羣組選擇爲dba羣組,按Next
在這個步驟中,請點選Checking Network Configuration requirements爲User Verified,接着按下Next
最後出現Install Summary畫面,此時只要按下Install按鈕,系統即開始安裝。
安裝過程...
安裝進度大約到65%時會有錯誤提示: Error in invoking target 'collector' of makefile '/opt/oracle/102/sysman/lib/ins_emdb.mk'.
同時oraInventory/logs/目錄下的安裝日誌文件裏面會有以下相似錯誤提示:
這是oracle安裝程序的一個bug,能夠忽略此錯誤繼續安裝,對系統沒什麼影響。
在Configuration Assistants 時會出現錯誤提示:
OUI-25031:Some of the configuration assistants failed.
分析:主機名映射錯誤
解決:修改/etc/hosts文件,增長IP地址與主機名的映射以下:
接着會遇到錯誤提示:
ORA-27125:unable to create shared memory segment
解決:
1. 肯定安裝oracle所使用的用戶組
# id oracle
能夠看到oracle組dba id 爲501。
2. 修改內核參數
echo "501" >/proc/sys/vm/hugetlb_shm_group
就能夠了。
安裝到數據庫設置助理,能夠在這邊選取password management做密碼的修改,如不須要修改,只須要按下ok按鈕便可。
安裝完成前,出現如下的設置腳本:
開啓一個新的終端,su到root。
將要求執行的兩段script依序執行。
/opt/oracle/oraInventory/orainstRoot.sh /opt/oracle/102/root.sh
執行畫面如上圖。 執行完後,回到安裝窗口按下OK完成全部的oracle安裝。安裝完成會出現如下畫面。
此時,您能夠以上述網址,做爲測試,登入帳號能夠爲sys或system
http://CentOS-Oracle:5560/isqlplus http://CentOS-Oracle:5560/isqlplus/dba http://CentOS-Oracle:1158/em
以上畫面都成功表明oracle已經正常安裝了。
6、升級Oracle到patchset 10.2.0.4
一、升級軟件
a. 關閉須要升級的實例
中止實例
SQL> SHUTDOWN IMMEDIATE
中止與該實例相關的全部後臺進程
$ emctl stop dbconsole
$ isqlplusctl stop
$ lsnrctl stop
b. 備份Oracle數據庫
c. 運行升級包升級軟件
將補丁包p6810189_10204_Linux-x86-64.zip解壓;進入解壓後的目錄,執行安裝命令。
點擊「Next」
指定Oracle Home 目錄詳細,點擊「Next」
點擊「Next」
點擊「Next」
點擊「Install」,進行安裝。
升級過程...
須要執行腳本/opt/oracle/102/root.sh
開一個新窗口,在root帳戶下執行腳本。
執行完後,回到安裝窗口按下「OK」完成全部的oracle安裝。安裝完成會出現如下畫面。
點擊「Exit」,退出Oracle的升級。
若是此前並無建立數據庫,那麼升級到10.2.0.4到此就結束了。而後能夠去建立新的數據庫。
若是此前已經建立了數據庫,那麼按如下步驟升級數據庫到10.2.0.4版本。
二、升級數據庫
a. 更新數據字典
$ sqlplus / as sysdba;
SQL> STARTUP UPGRADE
SQL> SPOOL patch.log
SQL> @?/rdbms/admin/catupgrd.sql
升級過程比較長,請耐心等待。
升級完畢,總耗時38分鐘26秒。
SQL> SPOOL OFF
b. 關閉並重啓數據庫
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
c. 編譯無效PL/SQL包
SQL> @?/rdbms/admin/utlrp.sql
編譯成功。
d. 檢查升級是否成功,若是全部組件的status都是valid表示升級成功。
SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
e. 檢查是否有升級錯誤
SQL> select * from utl_recomp_errors;
f. 修改系統兼容性參數
SQL> alter system set compatible='10.2.0.4.0' scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP
升級完成。
7、使用rlwrap調用sqlplus中歷史命令
在Linux中運行SQL*Plus,不能調用歷史命令;輸錯字符後也不能按Backspace鍵或Del鍵刪除,雖然能夠經過Ctrl+Backspace組合鍵實現刪除功能,可是嚴重影響使用效率。使用第三方軟件rlwrap能夠實現以上功能。
rlwrap提供了readline的封裝(bash下命令的輸入都是經過readline這個庫來處理的。也就是說,上下箭頭查看歷史命令,Ctrl+r反向查找匹配歷史輸入,以及Ctrl+w, Ctrl+a等等操做都是由readline提供的),也就是說rlwrap提供一個輸入環境,在這個輸入環境下可使用readline的各類功能。若是一個程序在命令行下接受輸入,那麼用rlwrap直接就能夠獲得像在bash下輸入那樣的效果。
7.1 安裝rlwrap
rlwrap封裝了readline,因此安裝rlwrap以前須要安裝readline庫。能夠經過yum方式安裝,也能夠下載源碼包進行安裝。官方網站:http://utopia.knoware.nl/~hlub/uck/rlwrap/
I. yum方式安裝
CentOS系統默認的yum軟件倉庫中沒有rlwrap這個包,須要經過第三方yum源安裝。
a. 安裝第三方yum源
# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 //導入key
默認會在/etc/yum.repos.d/下建立epel.repo和epel-testing.repo兩個配置文件。
b. 安裝rlwrap和readline
# yum install rlwrap readline readline-devel
II. 源碼包安裝
其餘Linux發行版若是源裏沒有rlwrap和readline的(如SUSE企業版默認沒有這兩個包),要分別下載這兩個源碼包編譯安裝一下。
a. 安裝readline
# wget ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz # tar zxvf readline-6.2.tar.gz # cd readline-6.2/ # ./configure # make # make install
b. 安裝rlwrap
# wget http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.37.tar.gz # tar zxvf rlwrap-0.37.tar.gz # cd rlwrap-0.37/ # ./configure # make # make install
7.2 設置sqlplus的系統別名
# vim /home/oracle/.bash_profile
在尾部添加:
alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman'
退出oracle用戶再從新登陸就OK了。如今Linux下的sqlplus用起來就像cmd中同樣了。
CentOS 6.3(x86_32)下安裝Oracle 10g R2
http://www.cnblogs.com/mchina/archive/2012/11/06/2737472.html
Linux Oracle服務啓動&中止腳本與開機自啓動
http://www.cnblogs.com/mchina/archive/2012/11/27/2782993.html
目 錄
1、硬件要求 2、軟件 3、系統安裝注意 4、安裝Oracle前的系統準備工做 5、安裝Oracle,並進行相關設置 6、升級Oracle到patchset 10.2.0.4 7、使用rlwrap調用sqlplus中歷史命令
1、硬件要求
一、內存 & swap
Minimum: 1 GB of RAM Recommended: 2 GB of RAM or more
檢查內存狀況
# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo
二、硬盤
因爲CentOS安裝後差很少有4~5G,再加上Oracle等等的安裝,因此請準備至少10G的硬盤空間。
檢查磁盤狀況
# df -h
2、軟件
系統平臺:CentOS 6.3(x86_64)
CentOS-6.3-x86_64-bin-DVD1.iso
Oracle版本:Oracle 10g R2
10201_database_linux_x86_64.cpio
補丁:p6810189_10204
p6810189_10204_Linux-x86-64.zip
3、系統安裝注意
系統安裝時必定要安裝桌面模式,不然沒法安裝oracle,另外請勿開啓SELinux,oracle官方不建議使用SELinux,CentOS的防火牆也請暫時關閉,減小安裝時的困擾。爲防止Oracle安裝過程當中出現亂碼,建議使用英文做爲系統語言,進行Oracle的安裝工做。
本文中所描述的系統命令,未經特殊標示,均爲「#」表明root權限,「$」表明oracle權限。
4、安裝Oracle前的系統準備工做
首先,請先以root帳號登入做一些前置設定做業。
一、關閉防火牆、禁用SELinux
# setup
# vi /etc/selinux/config
修改SELINUX=disabled,而後重啓。 若是不想重啓系統,使用命令setenforce 0
二、安裝依賴包
Oracle官方文檔要求的安裝包:
查看Oracle相關包是否已經安裝:
用yum方式安裝所需的包:
# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat
最後還須要安裝libXp這個Library,這個必定要安裝,不然安裝Oracle時會出現java Exception。
# yum install libXp
三、建立Oracle用戶與組
在這裏只討論單主機環境,不考慮RAC環境的配置。
執行如下指令以新增oracle安裝時所須要的使用者與羣組。
(1) 創建羣組oinstall # groupadd oinstall
(2) 創建羣組dba # groupadd dba
(3) 新增使用者oracle並將其加入oinstall和dba羣組 # useradd -m -g oinstall -G dba oracle
(4) 測試oracle帳號是否創建完成 # id oracle
(5) 創建oracle的新密碼 # passwd oracle
四、將oracle使用者加入到sudo羣組中
# vi /etc/sudoers
找到 root ALL=(ALL) ALL 這行,而且在底下再加入 oracle ALL=(ALL) ALL 輸入wq!(因爲這是一份只讀文檔因此須要再加上!)而且按下Enter
五、配置系統內核參數
# vi /etc/sysctl.conf
修改和添加如下內容:
kernel.shmall = 4294967296 //表示系統一次可使用的共享內存總量(以頁爲單位)。缺省值就是2097152,一般不須要修改 kernel.shmmax = 68719476736 //定義了共享內存段的最大尺寸(以字節爲單位)。缺省爲32M,對於oracle來講,該缺省值過低了,一般將其設置爲2G kernel.shmmni = 4096 //用於設置系統範圍內共享內存段的最大數量。該參數的默認值是 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 //發送窗口的最大大小
會有一些與目前的參數重複的,就修改爲文件上提供的。
編輯完以後,儲存,而後執行:
# sysctl -p
啓用剛剛所作的變動。
六、編輯/etc/security/limits.conf
# vi /etc/security/limits.conf
添加如下四行 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
七、編輯/etc/pam.d/login
# vi /etc/pam.d/login
添加如下兩行 session required /lib64/security/pam_limits.so session required pam_limits.so
八、修改/etc/profile
# vi /etc/profile
將如下代碼新增到profile檔案中。
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
九、修改Linux發行版本信息
因爲Oracle 10g發行的時候,CentOS 6沒有發行,因此Oracle 10g並無對CentOS 6確認支持,須要修改文件讓Oracle 10g支持CentOS 6。
咱們須要手工修改Linux的發行註記,讓Oracle 10g支持CentOS 6。
編輯/etc/redhat-release文件
# vi /etc/redhat-release
將其中的內容CentOS release 6.3 (Final)修改成redhat 4
十、建立Oracle安裝文件夾以及數據存放文件夾
#mkdir /opt/oracle #mkdir /opt/oracle/102 #chown -R oracle:dba /opt/oracle
十一、配置Linux主機
檢查/etc/hosts文件中是否有localhost的記錄(指向127.0.0.1便可),若沒有的話,在後面配置Oracle監聽的時候會出現一些問題,致使沒法啓動監聽,在此手工添加此記錄便可。
第一階段到此完畢,接下來,完成這些設定以後,請先註銷root帳號,而且以oracle帳號再次登入系統。
十二、配置oracle用戶環境變量
$ cd /home/oracle $ vi .bash_profile 修改並加入如下內容
ORACLE_BASE=/opt/oracle //上面建立的Oracle安裝文件夾 ORACLE_HOME=$ORACLE_BASE/102 ORACLE_SID=orcl LD_LIBRARY_PATH=$ORACLE_HOME/lib PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
保存後使用以下命令,使設置生效:
$ source /home/oracle/.bash_profile
5、安裝Oracle,並進行相關設置
一、解壓縮安裝文件
將下載的10201_database_linux_x86_64.cpio放至即將安裝oracle的文件夾/opt/oracle 回到終端模式而且進入到oracle文件夾:
$ cd /opt/oracle
解壓縮10201_database_linux_x86_64.cpio
$ cpio -idmv < 10201_database_linux_x86_64.cpio
接着會看到一連串的解壓縮動做。
解壓縮完成會在同一個文件夾中看到database的文件夾,請進入到database文件夾中:
$ cd database
準備執行數據庫安裝,若是你的centos是中文環境,安裝時會出現中文亂碼,請下如下指令
$ export LANG=en_US
接着執行
$ ./runInstaller
若是沒法看到安裝界面,請使用root賬戶執行以下命令後再運行安裝程序:
# export DISPLAY=:0.0 # xhost + $ ./runInstaller
遇到錯誤:Exception in ...... /lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
解決:
# yum -y install libXp.i686
分析:看報錯信息"/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory",libXp須要安裝i386的包,而不能安裝X64的包。上面認爲64位的linux須要安裝64位的libXp包,因此致使這個問題。
再次執行
$ ./runInstaller
遇到錯誤:Exception in ...... /lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory
解決:
# yum -y install libXt.i686
再次執行
$ ./runInstaller
遇到錯誤:Exception in ...... /lib/i386/libawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
解決:
# yum -y install libXtst.i686
再次執行
$ ./runInstaller
開始執行安裝程序。
因爲相關的前置做業已經在以前作好了,在這個步驟只須要將UNIX DBA Group選擇爲dba以及輸入SYS, SYSTEM等帳號共享的database Password便可。而後選擇Next便可。
一樣的,將羣組選擇爲dba羣組,按Next
在這個步驟中,請點選Checking Network Configuration requirements爲User Verified,接着按下Next
最後出現Install Summary畫面,此時只要按下Install按鈕,系統即開始安裝。
安裝過程...
安裝進度大約到65%時會有錯誤提示: Error in invoking target 'collector' of makefile '/opt/oracle/102/sysman/lib/ins_emdb.mk'.
同時oraInventory/logs/目錄下的安裝日誌文件裏面會有以下相似錯誤提示:
這是oracle安裝程序的一個bug,能夠忽略此錯誤繼續安裝,對系統沒什麼影響。
在Configuration Assistants 時會出現錯誤提示:
OUI-25031:Some of the configuration assistants failed.
分析:主機名映射錯誤
解決:修改/etc/hosts文件,增長IP地址與主機名的映射以下:
接着會遇到錯誤提示:
ORA-27125:unable to create shared memory segment
解決:
1. 肯定安裝oracle所使用的用戶組
# id oracle
能夠看到oracle組dba id 爲501。
2. 修改內核參數
echo "501" >/proc/sys/vm/hugetlb_shm_group
就能夠了。
安裝到數據庫設置助理,能夠在這邊選取password management做密碼的修改,如不須要修改,只須要按下ok按鈕便可。
安裝完成前,出現如下的設置腳本:
開啓一個新的終端,su到root。
將要求執行的兩段script依序執行。
/opt/oracle/oraInventory/orainstRoot.sh /opt/oracle/102/root.sh
執行畫面如上圖。 執行完後,回到安裝窗口按下OK完成全部的oracle安裝。安裝完成會出現如下畫面。
此時,您能夠以上述網址,做爲測試,登入帳號能夠爲sys或system
http://CentOS-Oracle:5560/isqlplus http://CentOS-Oracle:5560/isqlplus/dba http://CentOS-Oracle:1158/em
以上畫面都成功表明oracle已經正常安裝了。
6、升級Oracle到patchset 10.2.0.4
一、升級軟件
a. 關閉須要升級的實例
中止實例
SQL> SHUTDOWN IMMEDIATE
中止與該實例相關的全部後臺進程
$ emctl stop dbconsole
$ isqlplusctl stop
$ lsnrctl stop
b. 備份Oracle數據庫
c. 運行升級包升級軟件
將補丁包p6810189_10204_Linux-x86-64.zip解壓;進入解壓後的目錄,執行安裝命令。
點擊「Next」
指定Oracle Home 目錄詳細,點擊「Next」
點擊「Next」
點擊「Next」
點擊「Install」,進行安裝。
升級過程...
須要執行腳本/opt/oracle/102/root.sh
開一個新窗口,在root帳戶下執行腳本。
執行完後,回到安裝窗口按下「OK」完成全部的oracle安裝。安裝完成會出現如下畫面。
點擊「Exit」,退出Oracle的升級。
若是此前並無建立數據庫,那麼升級到10.2.0.4到此就結束了。而後能夠去建立新的數據庫。
若是此前已經建立了數據庫,那麼按如下步驟升級數據庫到10.2.0.4版本。
二、升級數據庫
a. 更新數據字典
$ sqlplus / as sysdba;
SQL> STARTUP UPGRADE
SQL> SPOOL patch.log
SQL> @?/rdbms/admin/catupgrd.sql
升級過程比較長,請耐心等待。
升級完畢,總耗時38分鐘26秒。
SQL> SPOOL OFF
b. 關閉並重啓數據庫
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
c. 編譯無效PL/SQL包
SQL> @?/rdbms/admin/utlrp.sql
編譯成功。
d. 檢查升級是否成功,若是全部組件的status都是valid表示升級成功。
SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
e. 檢查是否有升級錯誤
SQL> select * from utl_recomp_errors;
f. 修改系統兼容性參數
SQL> alter system set compatible='10.2.0.4.0' scope=spfile;
SQL> SHUTDOWN
SQL> STARTUP
升級完成。
7、使用rlwrap調用sqlplus中歷史命令
在Linux中運行SQL*Plus,不能調用歷史命令;輸錯字符後也不能按Backspace鍵或Del鍵刪除,雖然能夠經過Ctrl+Backspace組合鍵實現刪除功能,可是嚴重影響使用效率。使用第三方軟件rlwrap能夠實現以上功能。
rlwrap提供了readline的封裝(bash下命令的輸入都是經過readline這個庫來處理的。也就是說,上下箭頭查看歷史命令,Ctrl+r反向查找匹配歷史輸入,以及Ctrl+w, Ctrl+a等等操做都是由readline提供的),也就是說rlwrap提供一個輸入環境,在這個輸入環境下可使用readline的各類功能。若是一個程序在命令行下接受輸入,那麼用rlwrap直接就能夠獲得像在bash下輸入那樣的效果。
7.1 安裝rlwrap
rlwrap封裝了readline,因此安裝rlwrap以前須要安裝readline庫。能夠經過yum方式安裝,也能夠下載源碼包進行安裝。官方網站:http://utopia.knoware.nl/~hlub/uck/rlwrap/
I. yum方式安裝
CentOS系統默認的yum軟件倉庫中沒有rlwrap這個包,須要經過第三方yum源安裝。
a. 安裝第三方yum源
# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 //導入key
默認會在/etc/yum.repos.d/下建立epel.repo和epel-testing.repo兩個配置文件。
b. 安裝rlwrap和readline
# yum install rlwrap readline readline-devel
II. 源碼包安裝
其餘Linux發行版若是源裏沒有rlwrap和readline的(如SUSE企業版默認沒有這兩個包),要分別下載這兩個源碼包編譯安裝一下。
a. 安裝readline
# wget ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz # tar zxvf readline-6.2.tar.gz # cd readline-6.2/ # ./configure # make # make install
b. 安裝rlwrap
# wget http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.37.tar.gz # tar zxvf rlwrap-0.37.tar.gz # cd rlwrap-0.37/ # ./configure # make # make install
7.2 設置sqlplus的系統別名
# vim /home/oracle/.bash_profile
在尾部添加:
alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman'
退出oracle用戶再從新登陸就OK了。如今Linux下的sqlplus用起來就像cmd中同樣了。
CentOS 6.3(x86_32)下安裝Oracle 10g R2
http://www.cnblogs.com/mchina/archive/2012/11/06/2737472.html
Linux Oracle服務啓動&中止腳本與開機自啓動
http://www.cnblogs.com/mchina/archive/2012/11/27/2782993.html