原文出處 http://www.linuxidc.com/Linux/2015-02/113222.html
需要安裝Oracle DataGuard,所以先要安裝單台Oracle11g,下面是Linux下單台Oracle11g的詳細安裝過程。
1,安裝環境
硬件環境:2台linux虛擬機,CentOS6.4 ,4G ,4核,磁盤50G
Oracle軟件版本:
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
下載地址為:http://pan.baidu.com/s/1bappO
rlwrap軟件安裝參考:http://www.linuxidc.com/Linux/2013-01/77198.htm
Oracle 11gR2 RAC實時應用集群http://www.linuxidc.com/Linux/2015-01/111298.htm
在CentOS 6.4下安裝Oracle 11gR2(x64) http://www.linuxidc.com/Linux/2014-02/97374.htm
Oracle 11gR2 在VMWare虛擬機中安裝步驟 http://www.linuxidc.com/Linux/2013-09/89579p2.htm
Debian 下 安裝 Oracle 11g XE R2 http://www.linuxidc.com/Linux/2014-03/98881.htm
Oracle Linux 6.5安裝Oracle 11.2.0.4 x64 http://www.linuxidc.com/Linux/2014-11/109903.htm
2,解壓縮
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
會在本目錄下面出現一個database的目錄,大概2.3g左右大小。
3,操作系統版本及補丁矩陣
需要安裝以下RPM軟件包(加32bit括號注解的是該軟件包32位版本,對應同名未加注解的則是該軟件包64位版本。在64位版本平台上,兩種版本都要安裝):
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2
采用yum安裝,如下:
yum install -y binutils*
yum install -y compat-libstdc*
yum install -y elfutils-libelf*
yum install -y gcc*
yum install -y glibc*
yum install -y ksh*
yum install -y libaio*
yum install -y libgcc*
yum install -y libstdc*
yum install -y make*
yum install -y sysstat*
yum install libXp* -y
yum install -y glibc-kernheaders
檢查下lib是否安裝齊全:
[root@powerlong4 ~]# rpm -q --queryformat %-{name}-%{version}-%{release}-%{arch}"\n" \ compat-libstdc++-33 glibc-kernheaders glibc-headers libaio libgcc glibc-devel xorg-x11-deprecated-libs
如果缺少,就繼續安裝缺失的組件包。
4,網絡、系統參數調整及說明
在生產環境中要求盡量使用2塊千/百兆網卡做綁定,預防網卡、網線、端口、單個網絡交換機帶來的單點故障。
4.1、調整內核參數及用戶限制
以下所有相關操作需要root用戶執行,並且重啟動操作系統才能完全生效。
(1) 編輯/etc/sysctl.conf文件,設置相關參數的系統默認值。如果該文件中已有相關參數的設置,則確保參數值不小於如下對應值;如果還沒有相關參數的設置,則按照如下格式添加相應的參數設置行。
Vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
(2)編輯/etc/security/limits.conf文件,修改操作系統對oracle用戶資源的限制。在該文件中添加如下行。
vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240
4.2、開啟操作系統異步IO(AIO)
前面部分第2點需要安裝的包已經包含了libaio-0.3.106,默認開啟異步I/O。
檢查在操作系統中AIO是否運行,運行命令及顯示結果類似如下:
$ cat /proc/slabinfo | grep kio
kioctx 51 120 320 12 1 : tunables 54 27 8 : slabdata 10 10 0
kiocb 30 30 256 15 1 : tunables 120 60 8 : slabdata 2 2 0
注:如數據庫使用的是文件系統,且要使用異步IO,則需要修改該數據庫的初始化參數
a. 設置disk_asynch_io參數值為TRUE(默認值)
b. 設置filesystemio_options參數值為ASYNCH
5: 目錄結構及空間規划
5.1 存儲設置
PC Server的數據庫存儲一般不會使用高端存儲(vg物理分區推薦為32M),所以vg物理分區(PE Size)大小為操作系統安裝時默認的32M,或者256M(中低端存儲vg物理分區推薦值)均可。
5.2 臨時目錄
/tmp:至少1GB空間,推薦5GB,用於存放Oracle軟件安裝時產生的日志。
5.3 交換要求
交換區(SWAP):按照操作系統推薦配置,根據內存大小,為物理內存的1-1.5倍。推薦:創建2個大小相同、且分布在不同盤(pv)上的SWAP空間。
5.4,數據庫軟件安裝目錄
Oracle軟件安裝目錄建議設置為單獨的文件系統,掛載的目錄名定為/tpsys,實際安裝的主目錄為/tpsys/app/oracle,大小一般配置為20GB,目錄的owner要求為oracle:oinstall。
5.5,數據庫空間規划
Oracle數據庫空間用表空間(tablespace)表示,如默認的:SYSAUX、SYSTEM、TEMP、UNDOTBS1、USERS等;表空間的組成單位是數據文件(datafile)。我們定義基於文件系統的文件來創建Oracle的數據文件,並定義回滾表空間、臨時表空間和數據表空間單個數據文件的大小為10G。
數據庫使用的文件目錄及相應用途和對應文件系統大小規划如下(假設數據庫名稱為test,在實際操作中,斜體的test需要替換為實際定義的數據庫名):
/data/oracle/data:系統及數據表空間對應數據文件存放路徑;/oracle/app/oracle
/data/oracle/redolog/ :redo重做日志文件存放路徑;
/data/oracle/archive/ :歸檔日志文件存放路徑;
/data/oracle/tempfile/ :tempfile文件存放路徑(n為順序中最后一個編號)。
/data/oracle/backup/data:備份目錄
……
注意:以上文件系統掛載在二級目錄上,即,掛載的目錄是:/data/oracle/data、/data/oracle/redolog/、/data/oracle/archive/、/data/oracle/tempfile/等
另外,根據實際使用需要,還可能要有用於閃回區的文件目錄和對應文件系統:
/data/oracle/flashback:閃回區目錄,建議100GB
如果需要將數據庫備份到硬盤,則要創建用於存放數據庫備份的文件目錄及文件系統:
/data/oracle/backup:備份目錄,根據將來數據量大小,建議大於數據表空間容量
注意:以上文件系統掛載在二級目錄上
以上所有目錄的owner要求為oracle:oinstall。
6 ,數據庫軟件的安裝和數據庫的創建配置
6.1,數據庫安裝用戶和組的創建
使用root用戶,進行如下操作:
創建oinstall組
# groupadd -g 5000 oinstall
創建dba組
# groupadd -g 501 dba
創建oracle用戶
#useradd -g oinstall -G dba oracle
6.2,數據庫安裝用戶的profile文件的設置
首先確定數據庫名及數據庫實例名,對於單實例(非RAC)環境下,兩者一般是一致的。
假設數據庫(實例)名為powerdes,使用oracle用戶,編輯/home/oracle/.bash_profile,加入以下內容
#added by timman for oracle
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=powerdes
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/oracm/lib:$ORACLE_HOME/lib
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/network/lib
export LANG=en_US.gbk
export NLS_LANG=american_america.ZHS16GBK
export EDITOR=vi
6.3 創建相應的文件系統(或安裝目錄)並改變相應的權限
[root@powerlong4 oracle]# mkdir -p /oracle/app/oracle
[root@powerlong4 oracle]# chown -R oracle:oinstall /oracle/app/oracle
[root@powerlong4 oracle]# chmod -R 775 /oracle/app/oracle
[root@powerlong4 oracle]#
6.4,准備vnc遠程連接linux桌面
參考:Linux安裝設置VNC遠程桌面連接來安裝Oracle 11g http://www.linuxidc.com/Linux/2015-01/112326p2.htm
6.6,在linux下准備
使用oracle用戶進行。安裝需要在圖形界面(在控制台或者用X-Window工具軟件)。打開一個終端窗口,執行如下命令進行安裝:
export DISPLAY=10.7.32.145:0.0
輸入xclock測試,如果能夠看見時鍾證明圖形化可用
yum install tigervnc tigervnc-server
在xshell的linux系統里面,執行如下命令:
[root@powerlong4 rlwrap-0.37]# xhost +
access control disabled, clients can connect from any host
[root@powerlong4 rlwrap-0.37]#
表示linux下視窗環境以及准備OK,可以進行oracle安裝了。
7,開始安裝
先用vnc遠程連接linux系統,如下所示:
7.1,在linux系統上面准備啟動啟動命令
[root@powerlong4 ~]$ su - Oracle[root@powerlong4 ~]# export DISPLAY=192.168.121.217:0.0[root@powerlong4 ~]# xhost + access control disabled, clients can connect from any host[root@powerlong4 /]#
[oracle@powerlong4 ~]$ cd /home/oracle_64/database/
[oracle@powerlong4 database]$ ./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 21658 MB Passed
Checking swap space: must be greater than 150 MB. Actual 2047 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-01-23_12-18-01PM. Please wait ...[oracle@powerlong4 database]$
[root@powerlong4 database]#
如下圖所示:
7.2 去掉I wish to receive security updates via My Oracle Surrport選項,點擊Next。
7.3,選擇Install database software only,點擊Next。
7.4,選擇Single instance database installation,點擊Next。
7.5,在Available Languages中點選English、Simplified Chinese、Traditional Chinese,點擊兩個框中間的>,將選中的語言加入到右邊的Selected Languages中,然后點擊Next。
7.6,按照實際情況,選擇企業版本,如下圖
7.7,填寫Oracle的軟件路徑和基本路徑,如下圖:
7.8,選擇安裝日志目錄,如下圖所示:
7.9,選擇dba組
7.10,繼續下一步安裝操作
7.11,可以忽略,因為CentOS版本較高,所以11g check的時候不識別高版本lib包
7.12,繼續安裝
7.13,安裝中,這個時間比較漫長
需要等待中,大概20分鍾左右
點擊OK,繼續
7.14,然后點擊close,結束
8,創建數據庫
數據庫的創建使用Oracle用戶進行(假設數據庫名稱為powerdes,在實際操作中,斜體的powerdes需要替換為實際定義的數據庫名),按下面步驟創建數據庫。
8.1.安裝需要在圖形界面(在控制台或者用X-Window工具軟件)。打開一個終端窗口,執行如下命令:dbca,如下圖所示:
8.2,Database Configuration Assistant圖形界面啟動。標題同時指明了步驟的編號和步驟的名稱。在步驟名稱為Welcome的歡迎窗口,直接點擊next。
8.3,等待下一步NEXT
8.4, 選擇Custom Database
8.5,Global Database Name框:輸入前面確定的數據庫名SID框:自動出現和數據庫名相同的內容作為數據庫實例名,單實例情況下不作改動
8.6,繼續默認
8.7,Database Credentials
Use Different Administrative Passwords表格的Password和Confirm Password列中分別為User Name列SYS、SYSTEM、DBSNMP和SYSMAN用戶輸入口令並重復一次輸入(如密碼設置過於簡單,下一步前會有彈出窗口提示確認接受安全風險)sys和system密碼設置可以在數據庫建立后修改。
密碼為sys1624
8.8,Database File LocationsStorage Locations:選擇Use Common Location for All Database FilesDatabase File Location框:輸入/Oracle/data_ora
8.9,Recovery ConfigurationSpecify Fast Recovery Area如果前面Management Options步驟選擇了自動備份,則保留勾選,並在下方:Fast Recovery Area框:修改為快速恢復區的目錄名Fast Recovery Area Size框:調整快速恢復區的大小
8.10,Enable Archiving根據是否歸檔日志的實際需求決定是否選擇(重要的生產系統必須打開歸檔,測試系統一般關閉歸檔節省服務器空間)點擊旁邊的Edit Archive Mode Parameters…,在彈出窗口中:Automatic Archiving:保持默認勾選Archive Log File Format框:修改為%t_%s_%r.arcArchive Log Destinations表格:第一行中輸入/Oracle/data_ora/archive點擊OK返回主窗口Database ContentDatabase Components頁面
8.11,Initialization Parameters,內存分配20%(測試庫所以分小一些,生產庫可以分配較大的比如40%60%等),字符集選擇兼容utf8的選項
8.12,點擊File Location Variables,里面可以看到一些基礎參數信息,返回,然后直接下一步,如下圖所示:
8.13,選擇Generate Database Creation Scripts,默認為 /oracle/app/oracle/admin/powerdes/scripts,如下圖:
8.14,點擊Finish按鈕,如下圖所示:
點擊OK按鈕,有報錯說/etc/oratab讀取錯誤,報錯如下圖所示
所以去建立下這個目錄
[root@powerlong4 rpms]# mkdir /etc/oratab
[root@powerlong4 rpms]#
[root@powerlong4 rpms]# chown -R Oracle.oinstall /etc/oratab
[root@powerlong4 rpms]#
8.15,之后點擊OK按鈕,開始創建數據庫,如下圖所示:
等待35分鍾后,數據庫創建完畢,之后點擊,如下所示:
9,簡單驗
[oracle@powerlong4 ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 11.2.0.1.0 Production on Sat Jan 24 14:51:10 2015
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> create table z_test(id number,name varchar(20));
Table created.
SQL> insert into z_test select 1,'a' from dual;
1 row created.
SQL> select * from z_test;
ID NAME
---------- ----------------------------------------
1 a
SQL> commit;
Commit complete.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@powerlong4 ~]$
10,報錯信息記錄
(1)報錯
>>> Ignoring required pre-requisite failures. Continuing...
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-01-21_06-07-35PM. Please wait ...[oracle@powerlong4 database]$ Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2015-01-21_06-07-35PM/jdk/jre/lib/i386/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1647)
at java.lang.Runtime.load0(Runtime.java:769)
at java.lang.System.load(System.java:968)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1668)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:993)
at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.loadLibraries(Toolkit.java:1509)
at java.awt.Toolkit.<clinit>(Toolkit.java:1530)
at com.jgoodies.looks.LookUtils.isLowResolution(Unknown Source)
at com.jgoodies.looks.LookUtils.<clinit>(Unknown Source)
at com.jgoodies.looks.plastic.PlasticLookAndFeel.<clinit>(PlasticLookAndFeel.java:122)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at javax.swing.SwingUtilities.loadSystemClass(SwingUtilities.java:1783)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:480)
at oracle.install.commons.util.Application.startup(Application.java:758)
at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:164)
at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:181)
at oracle.install.commons.base.driver.common.Installer.startup(Installer.java:265)
at oracle.install.ivw.db.driver.DBInstaller.startup(DBInstaller.java:114)
at oracle.install.ivw.db.driver.DBInstaller.main(DBInstaller.java:132)
^C
(1) 需要安裝 yum install libXext* -y
(2) chown -R oracle:oinstall /usr/*
yum install libXext.i686 -y
在64位的CentOS安裝64位的oracle的時候,有時候會出現“libXext.so.6: cannot open shared object file:”的錯誤。
這個原因主要是oracle在安裝的時候需要安裝一些32位的lib,也就是類似於windows下的dll
出現這個問題,可以采用如下的解決辦法:
#yum install libXext.i686 即可。
(2)報錯
[oracle@powerlong4 database]$ ./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 80 MB. Actual 38250 MB Passed
Checking swap space: must be greater than 150 MB. Actual 2047 MB Passed
Checking monitor: must be configured to display at least 256 colors
>>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<<
Some requirement checks failed. You must fulfill these requirements before
continuing with the installation,
Continue? (y/n) [n] y
>>> Ignoring required pre-requisite failures. Continuing...
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-01-21_07-15-20PM. Please wait ...[oracle@powerlong4 database]$ Exception in thread "main" java.lang.NoClassDefFoundError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at java.awt.Toolkit$2.run(Toolkit.java:821)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:804)
at com.jgoodies.looks.LookUtils.isLowResolution(Unknown Source)
at com.jgoodies.looks.LookUtils.<clinit>(Unknown Source)
at com.jgoodies.looks.plastic.PlasticLookAndFeel.<clinit>(PlasticLookAndFeel.java:122)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at javax.swing.SwingUtilities.loadSystemClass(SwingUtilities.java:1783)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:480)
at oracle.install.commons.util.Application.startup(Application.java:758)
at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:164)
at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:181)
at oracle.install.commons.base.driver.common.Installer.startup(Installer.java:265)
at oracle.install.ivw.db.driver.DBInstaller.startup(DBInstaller.java:114)
at oracle.install.ivw.db.driver.DBInstaller.main(DBInstaller.java:132)
^C
[oracle@powerlong4 database]$
需要在Linux上安裝圖形界面服務端程序X Window
yum groupinstall "X Window System" #安裝X Window
[root@powerlong4 database]# yum groupinstall "X Window System" "Desktop Platform" Desktop
yum install vnc
[root@powerlong4 database]# export DISPLAY=192.168.121.217:0.0
[root@powerlong4 database]# xhost +
access control disabled, clients can connect from any host
[root@powerlong4 database]#
更多Oracle相關信息見Oracle 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=12