程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> CentOS-6.4-DVD系統中安裝Oracle-11.2.0.4

CentOS-6.4-DVD系統中安裝Oracle-11.2.0.4

編輯:Oracle教程

/**
 * CentOS-6.4-DVD系統中安裝Oracle-11.2.0.4
 * ----------------------------------------------------------------------------------------------------------------------
 * 【前言】
 * 本來是在CentOS-6.4-minimal-64bit系統中安裝Oracle-11.2.0.4.0-Linux-x86_64,結果整整折騰兩天都沒安裝成功
 * 總是在最後一步[./runInstaller]執行命令後打印下面的提示
 * 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 <<<<
 * 後來即便安裝了圖形界面(安裝方法見http://blog.csdn.net/jadyer/article/details/18324297),結果還是打印這個提示
 * 於是各種Google,弄了很多東西,其中有一次打印了下面的提示
 * ls: 無法訪問/usr/sbin/smartctl: 沒有那個文件或目錄  /usr/sbin/smartctl not found
 * 聽一個DBA說:如果報smartctl找不到,就需要先安裝smartmontools,之後再安裝cvuqdisk,smartmontools包是Linux系統光盤自帶的
 * [root@CentOS64 sbin]# yum install -y smartmontools
 * [root@CentOS64 sbin]# cd /app
 * [root@CentOS64 app]# rpm -ivh cvuqdisk-1.0.9-1.rpm
 * 最後輾轉找到"runcluvfy.sh"和"cvuqdisk-1.0.9-1.rpm"倆文件,安裝後再執行[./runInstaller]
 * 發現還是打印這個Checking monitor: must be configured to display at least 256 colors提示
 * 後來又把CentOS的"id:3:initdefault:"改成5,啟動圖形界面,在CentOS裡面去執行[./runInstaller](之前都是在xshell裡操作)
 * 結果還是打印Checking monitor: must be configured to display at least 256 colors提示,無奈換回DVD系統
 * 以前就聽DBA說過:Oracle搞了很多的手段和策略,其中之一就是為數據庫安裝工作增加了許多小零件的限制
 * 這就使得在Oracle自己的Linux系統上安裝Oracle數據庫時,非常的方便,暢通無阻
 * 但在其它Linux系統上安裝不同版本的Oracle時,就會提示你缺少這個缺少那個的,沒點經驗的還未必搞得定
 * ----------------------------------------------------------------------------------------------------------------------
 * 【准備】
 * 本文記述的是在VirtualBox裡面的CentOS-6.4-DVD系統中安裝Oracle-11.2.0.4.0-Linux-x86_64
 * 關於VirtualBox和CentOS的安裝配置就略了,這裡主要說一下Oracle-11.2.0.4.0-Linux-x86-64安裝包的下載
 * 目前Oracle的11g版本已經停止更新了,以後只會更新12c版本
 * 由於12c剛出來不久,考慮到企業中應用11g更多一些,所以本文演示的是11g的安裝方式
 * 而11g的最後一個版本號就是11.2.0.4.0,但是我們在Oracle官網只能找到11.2.0.1.0的下載
 * 地址為http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
 * 是不是有些奇怪,別急,在這個頁面同時也會看到下面這樣一段描述
 * 7/13: Patch Set 11.2.0.4 for Linux and Solaris is now available on support.oracle.com.
 * Note: it is a full installation (you do not need to download 11.2.0.1 first)
 * 翻譯過來就是:可以到support.oracle.com去下載11.2.0.4,並且下載到的會是一個完整的安裝包,也不需要預先安裝11.2.0.1
 * 有Oracle帳戶的朋友可以到support.oracle.com下載,沒有的也沒關系,我在百度網盤共享了:http://pan.baidu.com/s/1dDpC14P
 * Oracle-11.2.0.4.0-Linux-x86_64安裝包共有7個文件,其中1of7和2of7就是數據庫的完整的安裝文件,我們這裡只需要1和2就夠了
 * ----------------------------------------------------------------------------------------------------------------------
 * 【文檔】
 * Oracle提供了非常詳盡的安裝和使用文檔,下載地址如下
 * http://www.oracle.com/technetwork/database/enterprise-edition/documentation/index.html
 * 它的在線浏覽地址為http://www.oracle.com/pls/db112/homepage
 * 接下來我們找一下和安裝有關的那部分內容
 * 點擊左側"Installing and Upgrading",再點擊右側"Database Installation Guide for Linux"後面的HTML鏈接
 * 接下來就會看到很多的安裝說明,這裡我們只看"Oracle Database Preinstallation Tasks"部分就夠了
 * ----------------------------------------------------------------------------------------------------------------------
 * @create May 17, 2014 10:16:21 PM
 * @author 玄玉<http://blog.csdn.net/jadyer>
 */

/**
 * 下面是安裝前的准備工作
 * ----------------------------------------------------------------------------------------------------------------------
 * 【步驟】
 * 1)Create group(oinstall,dba)/user account(oracle)---->創建組和用戶
 * 2)Configure environment variables for oracle--------->配置環境變量
 * 3)Check and add RPM package-------------------------->檢查安裝所需的RPM包
 * 4)Modify kernel parameter---------------------------->修改內核參數
 * 5)Change oracle limits------------------------------->修改oracle用戶的shell限制(可以提升性能)
 * 6)./runInstaller------------------------------------->安裝Oracle
 * ----------------------------------------------------------------------------------------------------------------------
 * 【創建組和用戶】
 * [root@CentOS64 ~]# groupadd oinstall                 (創建一個名為oinstall的組,也可以用別的名字,只是習慣性用oinstall而已)
 * [root@CentOS64 ~]# groupadd dba                      (創建一個名為dba的組)
 * [root@CentOS64 ~]# useradd -g oinstall -G dba oracle (創建一個名為oracle的用戶,其主組為oinstall,其副組為dba)
 * [root@CentOS64 ~]# passwd oracle                     (設置用戶oracle的登錄密碼,這裡設為22)
 * [root@CentOS64 ~]# chown -R oracle:oinstall /app     (修改/app目錄的擁有著,這裡/app目錄是我提前創建的)
 * [root@CentOS64 ~]# yum install -y unzip              (CentOS-6.4-minimal系統中默認是沒有unzip包的)
 * [root@CentOS64 ~]# su - oracle                       (切換到oracle用戶)
 * [oracle@CentOS64 ~]$ cd /app/                        (切換到/app目錄,然後解壓Oracle安裝包)
 * [oracle@CentOS64 app]# unzip /app/software/p13390677_112040_Linux-x86-64_1of7.zip
 * [oracle@CentOS64 app]# unzip /app/software/p13390677_112040_Linux-x86-64_2of7.zip
 * ----------------------------------------------------------------------------------------------------------------------
 * 【配置環境變量】
 * [root@CentOS64 ~]# hostname                          (查看主機名,得到"CentOS64")
 * [root@CentOS64 ~]# vi /etc/hosts                     (在hosts中加上"192.168.0.103 CentOS64"映射,該IP是"ifconfig"得到的)
 * [root@CentOS64 ~]# vi /etc/selinux/config            (設置SELINUX=disabled,即關掉安全增強工具,然後最好reboot重啟一下)
 * [root@CentOS64 ~]# su - oracle                       (切換到oracle用戶)
 * [oracle@CentOS64 ~]$ pwd                             (列出當前目錄,即"/home/oracle")
 * [oracle@CentOS64 ~]$ ls -la                          (-a表示顯示隱藏文件,這裡我們會發現一個名為".bash_profile"的隱藏文件)
 * [oracle@CentOS64 ~]$ vi .bash_profile                (編輯.bash_profile文件,這樣oracle用戶登錄時就會按照此文件設置的去執行)
 * # .bash_profile
 * # Get the aliases and functions
 * if [ -f ~/.bashrc ]; then
 *         . ~/.bashrc
 * fi
 * # User specific environment and startup programs
 * ORACLE_BASE=/app
 * ORACLE_HOME=$ORACLE_BASE/oracle
 * ORACLE_SID=xuanyu
 * DISPLAY=192.168.0.102:0.0
 * PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
 * LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
 * stty erase ^h
 * export PATH LD_LIBRARY_PATH DISPLAY ORACLE_BASE ORACLE_HOME ORACLE_SID
 * :x
 * [oracle@CentOS64 ~]$ cat .bash_profile
 * 【環境變量的部分說明】
 *    stty:它的作用是,sqlplus中輸錯字符再按Backspace鍵回刪時,就不會出現亂碼字符.若未設置這個則可Ctrl+Backspace
 * DISPLAY:它指向的IP就是我的win7的IP(確切來說是網關的地址),作用是若Linux運行的程序有圖形界面,那麼它就會在Windows下顯示
 *         這裡在安裝Oracle11g時,可以選擇圖形界面安裝,但我的CentOS在啟動時會讀取到"id:3:initdefault:",即沒有以桌面環境啟動
 *         所有我們就要借助Xmanager-Passive來實現圖形界面的功能,上面DISPLAY參數的IP地址實際上是指向安裝了Xmanager的Windows系統
 *         最後就會通過啟動Xmanager-Passive來顯示Oracle的安裝圖形界面
 *         當然前提是在執行[./runInstaller]命令前,先在Windows下啟動Xmanager-Passive(它是Xmanager_Enterprise_4組件中的一個)
 * ----------------------------------------------------------------------------------------------------------------------
 * 【檢查安裝所需的RPM包】
 * Oracle文檔上都有描述,地址為http://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#LADBI1085
 * 詳見2.4.3章節Package Requirements,我們這裡用的是64位的CentOS
 * 所以看這一段就行了"Oracle Database Package Requirements for Linux x86-64"
 * 接下來的就一一對比"Oracle Linux 6 and Red Hat Enterprise Linux 6  The following packages..... must be installed"即可
 * [root@CentOS64 database]# rpm -qa | grep binutils
 * 然後查看控制台輸出就行了,我這裡輸出的是binutils-2.20.51.0.2-5.36.el6.x86_64,表明已安裝了binutils
 * 若無輸出則表明未安裝binutils(注意要通過root用戶來查找)
 * 如果沒搜索到,那麼比較便捷的方法是執行[yum install -y binutils]安裝即可
 * 若yum方式安裝無效,還可以到http://pkgs.org/下載對應的rpm文件,然後執行[rpm -ivh ksh-20120801-10.el6.x86_64.rpm]命令安裝
 * 除此外,若想在linux上使用ODBC,那麼還要把以下幾個包也裝上(詳見"2.4.5.1 Oracle ODBC Drivers"章節描述)
 * unixODBC-2.2.14-11.el6 (x86_64) or later
 * unixODBC-2.2.14-11.el6.i686 or later
 * unixODBC-devel-2.2.14-11.el6 (x86_64) or later
 * unixODBC-devel-2.2.14-11.el6.i686 or later
 * ----------------------------------------------------------------------------------------------------------------------
 * 【修改內核參數】
 * http://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#LADBI1188
 * 在上個頁面的2.13.1章節Displaying and Changing Kernel Parameter Values描述了需要修改的內核參數
 * [root@CentOS64 ~]# vi /etc/sysctl.conf     (將以下配置拷到sysctl.conf文件末尾)
 * fs.aio-max-nr = 1048576
 * fs.file-max = 6815744
 * kernel.shmall = 2097152
 * kernel.shmmax = 4294967295
 * 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 = 1048576
 * [root@CentOS64 ~]# sysctl -p
 * [root@CentOS64 ~]#
 * 這樣,上面修改的內核參數就生效了.我們可以使用"sysctl -a | grep net.core.wmem_max"命令查看
 * ----------------------------------------------------------------------------------------------------------------------
 * 【修改oracle用戶的shell限制】
 * http://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#LADBI1188
 * 在上個頁面的2.12章節Checking Resource Limits for the Oracle Software Installation Users描述了需要修改的資源限制參數
 * [root@CentOS64 oracle]# vi /etc/security/limits.conf  (將以下配置拷到sysctl.conf文件末尾,然後保存即可)
 * oracle           hard    nofile          65536
 * oracle           hard    nproc           16384
 * oracle           soft    nproc           2047
 * oracle           hard    stack           32768
 * ----------------------------------------------------------------------------------------------------------------------
 * 【安裝Oracle】
 * 有兩種方式安裝,一個是有圖形界面的可視化安裝,一個是無圖形界面的靜默安裝
 * 這裡演示的是有圖形界面的安裝
 * 首先打開Win7系統中安裝的Xmanager_Enterprise_4組件中的Xmanager-Passive工具(它會自動最小化到右下角任務欄)
 * 然後以oracle用戶執行[./runInstaller]命令(接下來Xmanager-Passive就自動起作用了,Oracle安裝界面自動呈現出來了)
 * ----------------------------------------------------------------------------------------------------------------------
 * @create May 18, 2014 10:06:30 AM
 * @author 玄玉<http://blog.csdn.net/jadyer>
 */

/**
 * 接下來描述一下安裝界面中的各個步驟,以及如何創建和啟動停止數據庫
 * ----------------------------------------------------------------------------------------------------------------------
 * 【安裝步驟】
 * 1)Configure Security Updates
 *   取消勾選I wish to receive security Updates via My Oracle Support
 *   此時點"Next"後會彈出來一個窗口You have not provided an email address,我們點"Yes"就行了
 * 2)Download Software Updates
 *   勾選Skip software udpates
 * 3)Installation Option
 *   勾選Install database software only
 * 4)Grid Installation Options
 *   勾選Single instance database installation
 *   這裡不能選擇RAC,因為CentOS上是沒辦法安裝RAC的,這是由於Oracle只會在它自己的Linux發布RAC所需要一些特殊軟件和包
 * 5)Product Languages
 *   默認的English就行
 * 6)Database Edition
 *   勾選Enterprise Edition(4.5GB)
 * 7)Installation Location
 *   這裡Oracle Base和Software Location就會自動找到之前設置的環境變量設定的安裝目錄
 * 8)Create Inventory
 *   Inventory Directory值修改為"/home/oracle/oraInventory" (Inventory Directory指的是Oracle的配置文件目錄)
 *   oraInventory Group Name采用默認的oinstall就行
 * 9)Operating System Groups
 *   Database Administrator(OSDBA) Group采用默認的dba選項就行
 *   Database Operator(OSOPER) Group(Optional)也采用默認的空選項就行
 * 10)Prerequisite Checks
 *    這一步就是在檢查之前設置的內核參數、所需的包等等是否滿足Oracle的安裝要求
 *    這一步可能會提示缺少"pdksh-5.2.14"的包,對於pdksh而言,我們可以忽略掉(如果是提示缺少其它包,還要仔細看一下),點擊右上角的Ingore All
 *    然後會彈出個對話框[INS-13016]You have chosen to ingore some of the prerequisite....Are you sure you want to continue?
 *    這裡點"Yes"就行
 * 11)Summary
 *    這一步會告訴我們都設置了哪些安裝參數,然後點"Install"就行了
 * 12)Install Product
 *    這一步就是開始安裝了,我們看著它安裝就行了
 *    經過漫長的等待,它會彈出一個對話框The following configuration scripts need to be executed as the "root" use
 *    並會列出兩個腳本路徑給我們/home/oracle/oraInventory/orainstRoot.sh和/app/oracle/root.sh
 *    我們回到Xshell中,以root登錄,分別執行這倆腳本(先執行orainstRoot.sh,再執行root.sh)
 *    兩個腳本執行完畢,再回到Oracle安裝界面,在這個彈出的對話框中點擊"OK"就行了
 * 13)Finish
 *    The installation of Oracle Database was successfull.
 * ----------------------------------------------------------------------------------------------------------------------
 * 【創建數據庫】
 * 1)創建一個Listener
 *   [oracle@CentOS64 oracle]$ netca             (控制台會打印Oracle Net Services Configuration,稍候會自動彈出圖形界面)
 *   [oracle@CentOS64 oracle]$ ps -ef | grep lsn (圖形界面創建Listener完畢後,通過這個命令就可以看到Listener是否啟動了)
 * 2)創建數據庫
 *   [oracle@CentOS64 oracle]$ dbca (該命令會自動彈出創建數據庫的圖形界面,Database Configuration Assistant,創建過程一共有12步)
 *   1of12:選擇Create a Database
 *   2of12:選擇General Purpose or Transaction Processing,即通用的
 *   3of12:建議輸入和上面配置的環境變量中的ORACLE_SID相同,即xuanyu
 *   4of12:取消勾選Configure Enterprise Manager
 *   5of12:設置管理員口令,這裡點擊"Next"時可能會彈出提示你設置的密碼不安全Do you want to continue,我們選擇"Yes"就行
 *   6of12:Storage Type就默認的File System就行,Storage Locations也是默認的Use Database File Locations from Template就行
 *   7of12:勾選Enable Archiving(即設置歸檔),另外Specify Fast Recovery Area就按照默認的勾選即可
 *   8of12:勾選Sample Schemas
 *   9of12:Character Sets標簽下勾選Use Unicode(AL32UTF8)字符集,其余三個標簽按照默認即可
 *   10of12:一些說明文字,直接"Next"就行
 *   11of12:也是按照它默認的勾選Create Database就行,然後點擊"Finish"開始創建(這是它會彈出一個總結報告的對話框,點擊"OK"即可)
 *   12of12:接下來就會看到我們所熟悉的創建數據庫的界面,這個過程比較漫長,我們等待即可
 *   [oracle@CentOS64 oracle]$ ps -ef | grep ora_ (圖形界面創建數據庫完畢後,通過這個命令就可以看到Oracle實例是否在運行了)
 * ----------------------------------------------------------------------------------------------------------------------
 * 【關閉數據庫】
 * [oracle@CentOS64 oracle]$ sqlplus /nolog     (啟動SQLPLUS)
 * SQL> conn /as sysdba
 * Connected.
 * SQL> SELECT * FROM v$version;                (查看Oracle版本)
 * SQL> shutdown immediate                      (關閉數據庫)
 * Database closed.
 * Database dismounted.
 * ORACLE instance shut down.
 * SQL> quit                                    (退出SQLPLUS)
 * [oracle@CentOS64 oracle]$ ps -ef | grep ora_ (這時會發現沒有任何打印,說明數據庫被停止了)
 * ----------------------------------------------------------------------------------------------------------------------
 * 【啟動數據庫】
 * [oracle@CentOS64 oracle]$ sqlplus /nolog     (啟動SQLPLUS)
 * SQL> conn /as sysdba
 * Connected to an idle instance.
 * SQL> startup                                 (啟動數據庫)
 * ORACLE instance started.
 * Total System Global Area  845348864 bytes
 * Fixed Size                  1367904 bytes
 * Variable Size             549453984 bytes
 * Database Buffers          289406976 bytes
 * Redo Buffers                5120000 bytes
 * Database mounted.
 * Database opened.
 * SQL> !                                       (退出SQLPLUS)
 * [oracle@CentOS64 oracle]$ ps -ef | grep ora_ (這時會發現打印出一大堆東西,說明數據庫被啟動了)
 * ----------------------------------------------------------------------------------------------------------------------
 * @create May 18, 2014 10:07:19 AM
 * @author 玄玉<http://blog.csdn.net/jadyer>
 */

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved