1. 程式人生 > >新手教你centOS 6.5下面如何安裝Oracle 11g(通用版)

新手教你centOS 6.5下面如何安裝Oracle 11g(通用版)

由於課程需要,本人需要在centOS 6.5下面安裝Oracle 11g,對於我這麼一個對Linux一無所知的菜鳥,確實任務很艱鉅。但是所幸的是,在第一遍裝的遍體鱗傷之後,第二遍成功安裝執行。

在網上查找了很多資料,但是很多資料的內容在細節部分總是有些不同,讓屬於菜鳥的我們無所適從,一些專業的術語更是讓我們摸不著方向,在聽到周圍不斷有人抱怨裝了十幾二十遍還沒裝上的時候,本菜決定完整的寫下作為一個門外漢的成功安裝過程。

第一步:

軟體安裝:

本菜是在VMware 虛擬機器上安裝的centOS 6.5,開闢的虛擬硬碟空間一定要大於30G(本菜一開始只開闢了20g,結果最後提示空間不夠,慘痛的經歷,所以第二遍直接開闢了

50G硬碟空間),建議在40G~50G,記憶體最低要1G!!!

至於VMware虛擬機器和centOS的安裝不是本文重點,更不是難點,大家可以參考其他內容進行安裝,在此不再贅述!

軟體準備:

Oracle的下載,分為32位和64位,安裝過程都是一樣的。如果你的機器是32位的,就下載32位的Oracle軟體,若是64位的就下載64位的。下面的安裝過程是完全一樣的,本菜一開始在這個環節還猶豫了一些時間,汗~

因為我是32位的作業系統,所以我下載的是linux_11gR2_database_1of2linux_11gR2_database_2of2兩個壓縮檔案。若是64位的請下載:linux.x64_11gR2_database_1of2

linux.x64_11gR2_database_2of2(注意都是下載兩個檔案,缺一不可)。如圖:

第二步:修改主機名

root許可權登入虛擬機器,開啟終端輸入命令列,將主機名改為oracledb

[[email protected] ~]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network[[email protected] ~]# hostname oracledb

第三步:修改網路連線方式

這一步是必須要做的!因為在安裝centOS網路連線選的是橋接,

不要選擇NAT,否則外網無法訪問你的虛擬機器)的時候我們都是動態獲取IP,但是在安裝Oracle的時候是需要更改的,我們必須要使用靜態IP,可以這樣理解,裝上Oracle資料庫,你的虛擬機器就是提供資料訪問的伺服器了,IP就像你的身份證,如果你的每次都變換身份,誰能找得到你!

知道了為什麼,那麼就要就行修改配置了:

1.修改網絡卡配置:

在終端輸入命令列:ifconfig可以檢視網絡卡資訊,其中inet addrIP地址的意思。

網上很多都是說用命令列:vi /etc/sysconfig/network-scripts/ifcfg-eth0進行修改網絡卡配置資訊,但是我沒有修改成功。所以直接講述我的方法!那就是找到檔案,開啟進行修改。開啟檔案系統filesystem,開啟etc資料夾,再開啟sysconfig資料夾,再開啟network-scripts資料夾,最後開啟ifcfg-eth0檔案,進行配置。

我的配置資訊如下:


 DEVICE=eth0 #描述網絡卡對應的裝置別名,例如ifcfg-eth0的檔案中它為eth0
 BOOTPROTO=static #(這是需要修改的,由原來的dhcp改為static)設定網絡卡獲得ip地址的方式,可能的選項為staticdhcp;分別對應靜態指定的 ip地址,通過dhcp協議獲得的ip地址
 BROADCAST=192.168.1.255 #(如果沒有的話是需要自己新增的,最後一位必須是255,前面和你的外邊的網路ip是一致的)對應的子網廣播地址
 HWADDR=00:07:E9:05:E8:B4 #對應的網絡卡實體地址

 IPADDR=12.168.1.118 #(自己手動新增的,必須和外部本地IP同一個網段,即前三位192.168.1和外部本機IP一致)如果設定網絡卡獲得 ip地址的方式為靜態指定,此欄位就指定了網絡卡對應的ip地址
 NETMASK=255.255.255.0 #(需要自己新增的,都是255.255.255.0)網絡卡對應的網路掩碼

  GATEWAY=192.168.1.1 # (需要自己新增的,和外部閘道器一致即可)
 NETWORK=192.168.1.1 #(需要自己新增的,和閘道器GATEWAY保持一致即可)網絡卡對應的網路地址

上面我一直說和外部一致,或者是和外部同一網段,那麼外部的資訊怎麼看,在外面開啟網路資訊,參考進行配置,如圖:


2.修改閘道器配置

 逐步進入etc/sysconfig/network檔案 修改後如下: 

 

 NETWORKING=yes(表示系統是否使用網路,一般設定為yes。如果設為no,則不能使用網路,而且很多系統服務程式將無法啟動)
 HOSTNAME=oracledb(設定本機的主機名,這裡設定的主機名要和/etc/hosts中設定的主機名對應)
 GATEWAY=192.168.1.1 # (需要自己新增的,設定本機外部連線的閘道器的保持一致。)

3.修改DNS 配置

  逐步進入/etc/resolv.conf檔案 修改後如下: 

  

  nameserver(需要自己新增的)即是DNS伺服器IP地址,第一個是首選,第二個是備用,和外部DNS保持一致

4.重啟網路服務

  執行命令:

  service network restart  或/etc/init.d/network restart

第四步:新增主機名與IP對應記錄

命令列如下:

[[email protected] ~]# vi /etc/hosts192.168.1.118 oracledb

注:如果命令列沒成功,仍然可以找到檔案進行新增,其實就是在檔案裡新增上一行:

192.168.1.118 oracledb

第五步:關閉防火牆Selinux[[email protected] ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config[[email protected] ~]# setenforce 0

第六步:安裝依賴包[[email protected] ~]# yum -y install  gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-commonglibc-devel libaio libaio-devel libgcclibstdc++ libstdc++-devel unixODBC unixODBC-devel

第七步:建立使用者和組[[email protected] ~]# sysctl -p [[email protected] ~]# groupadd -g 200 oinstall [[email protected] ~]# groupadd -g 201 dba [[email protected] ~]# useradd -u 440 -g oinstall -G dba oracle [[email protected] ~]# passwd oracle

第八步:修改核心引數[[email protected] ~]# vi/etc/sysctl.conf  #末尾新增如下 (注:建議新手還是逐步找到相應的檔案,直接在檔案末尾貼上下面的引數資訊)net.ipv4.ip_local_port_range= 9000 65500 fs.file-max = 6815744 kernel.shmall = 10523004 kernel.shmmax = 6465333657 kernel.shmmni = 4096 kernel.sem = 250 32000 100128 net.core.rmem_default=262144 net.core.wmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_max=1048576 fs.aio-max-nr = 1048576

第九步:修改系統資源限制[[email protected] ~]# vi/etc/security/limits.conf #末尾新增如下 (注:建議新手到檔案裡面進行手動新增)oracle  soft  nproc  2047 oracle  hard  nproc  16384 oracle  soft  nofile  1024 oracle  hard  nofile  65536 

[[email protected] ~]# vi/etc/pam.d/login(注:建議新手到檔案裡面進行手動新增)session    required    pam_namespace.so  #下面新增一條pam_limits.so session    required    pam_limits.so

[[email protected] ~]# vi/etc/profile    #(注:建議新手到檔案裡面進行手動新增)if [ $USER ="oracle" ]; then      if [ $SHELL = "/bin/ksh" ];then          ulimit -p 16384           ulimit -n 65536       else          ulimit -u 16384 -n 65536       fifi

第十步:建立安裝目錄及設定許可權,命令列輸入:

[[email protected] ~]# mkdir /opt/oracle/app/[[email protected] ~]# mkdir /opt/oracle/oradata/ [[email protected] ~]# chmod 755/opt/oracle/ [[email protected] ~]# chmod 775/opt/oracle/app/ [[email protected] ~]# chown oracle.oinstall -R /opt/oracle/

第十一步:(很重要,第二遍安裝差點讓它搞砸)設定環境變數!

[[email protected] ~]$ vi ~/.bash_profile(注:~/表示的是當前登入使用者的根目錄的意思exportORACLE_BASE=/opt/oracle/appexportORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1exportPATH=$PATH:$ORACLE_HOME/bin

export ORACLE_SID=orcl export ORACLE_PID=orcl 

以上資訊如果命令列沒法修改,我們依然需要進行找到檔案進行手動新增資訊,但是你會發現找不到!!!因為.開頭的檔案都是隱藏檔案!!!所以這時候你需要進入oracle使用者的檔案系統,按CTRL+H即可讓所有的隱藏檔案都現身,然後再進行新增資訊!!![[email protected] ~]$ source .bash_profile  #立即生效

第十二步:將已經下載好的兩個oracle壓縮檔案複製到/media資料夾裡面,如圖:


第十三步:解壓oracle檔案:

[[email protected]~]# unzip /media/linux_11gR2_database_1of2.zip(如果你是64位的壓縮檔案,命令應該是unzip /media/linux.x64_11gR2_database_1of2.zip[[email protected]~]# unzip /media/linux_11gR2_database_2of2.zip [[email protected]~]# xhost +  #使所有使用者都能訪問圖形桌面 [[email protected]~]# su –oracle [[email protected]~]#./media/database/runInstaller (注:我在網上看到的資料解壓之後的檔案預設是放在了/media的資料夾裡面,但是我的並不在裡面,而是在root的根目錄生成了資料夾database,所以這一步的檔案路徑是錯誤的,因而runInstaller沒法執行),如圖:


這一步我浪費了很長時間,不知道該如何解決,因為和網上解壓的位置不一樣,以後再輸入命令列就錯誤百出。後來解決辦法其實很簡單,手動將database這個資料夾剪下到檔案系統下的/home/oracle裡面。如圖:

 

然後再輸入命令列:[[email protected]~]#./home/oracle/database/runInstaller

即可執行oracle安裝操作。

(如果成功進入到圖形介面安裝的話,下面這段話可以跳過不看!!!)

但是本菜又遇到了一個問題,就是我輸入這個命令列的時候,提示我沒有許可權。這樣的話,我就返回到root許可權,添加了命令列:

[[email protected] ~]# chmod 755/home/oracle/database

然後在用命令列:[[email protected] ~]# su oracle

進入oracle使用者,執行命令列:[[email protected]~]#./home/oracle/database/runInstaller

 (如果這裡不行的話建議在oracle使用者下,找到壓縮包,直接右鍵,進行手動解壓縮,指定壓縮後存放在/home/oracle;解壓縮完成後,然後在命令列執行installer)

第十四步:成功進入到了圖形化介面安裝:

1.不要輸入Email地址,直接next

 

2.選擇安裝資料庫軟體並建立資料,也可以選擇第二項僅安裝資料庫軟體然後next


3.選擇伺服器版本,如圖,點選next


4.單例資料庫,如圖,點選next


5.高階模式安裝,如圖,點選next


6.新增支援的語言,如圖,點選next


7.選擇要安裝的版本,如圖,點選next

 

8.安裝資料庫目錄,如圖,點選next

 

9.建立詳細目錄

 

10.選擇配置型別

 

11.資料庫與服務名

 

12.開啟自動記憶體管理(如果512m太大,會出現提示,減少一些就可以),然後先不要點選next,而是點選Memory旁邊的Charactor sets選項。

 

13.設定預設編碼為UTF8

 

14.啟用oracle企業管理控制檯OEM

 

15.選擇資料庫檔案目錄

 

16.自動備份設定

 

17.設定資料庫使用者名稱和密碼,他是有一個密碼建議的,否則會提示錯誤,密碼建議是包含大寫和小寫字母,總長度不能低於8位。

 

18.授權的組

 

19.檢查oracle一些安裝要求,包都已經安裝,直接忽略

 

20.開始安裝(速度比較慢,耐心等待,喝杯咖啡)

 

21.建立備份資料庫

 

22.安裝完成!


安裝完成後,會出來一個對話方塊,提示使用root使用者執行這兩個指令碼

[[email protected] ~]$ /opt/oracle/oraInventory/orainstRoot.sh

[[email protected] ~]$ /opt/oracle/app/product/11.2.0/dbhome_1/root.sh

第十五步:命令列進入資料庫,暢爽oracle吧!

(注:如果在輸入命令開啟資料庫的時候,提示bash:XXX command not found的時候很有可能是你沒有在oracle使用者下輸入命令列,這時候用su oracle試一下,如果還是不行可以到/opt/oracle/app/product/11.2.0/dbhome_1/bin目錄下,確認一下此命令是否存在!!!

如果開啟過程出現ERROR:ORA-12162: TNS:net service name is incorrectly specified這種語句的時候,很有可能是環境變數沒有配置好,建議到oracle使用者中的.bash_profile檔案裡檢視一下,如何找到.bash_profile請參見第十一步!)

[[email protected] ~]# su –oracle

[[email protected] ~]#lsnrctl start

[[email protected] ~]# sqlplus / as sysdba

SQL> startup #啟動資料庫例項

如圖:


#至此資料庫已經開啟,然後就可以操作資料庫了!

SQL> shutdown immediate #關閉資料庫例項

SQL> select * from tab; #檢視所有表

SQL> select name from v$datafile #檢視資料庫存放目錄

SQL> show parameter service #檢視服務名

SQL> select * from v$instance; #檢視例項名

SQL> select name from v$database; #檢視資料庫名

SQL> select * fromdba_users; #檢視所有使用者資訊

SQL> select username,password from dba_users; #只查詢使用者和密碼

SQL> select * fromv$pwfile_users; #檢視具有sysdba許可權的使用者

SQL> select * fromdba_ustats; #檢視當前使用者資訊

SQL> select * fromuser_sys_privs #檢視當前使用者系統許可權

SQL> select * fromuser_role_privs #檢視當前使用者角色

SQL> select * fromdba_sys_privs #檢視指定使用者所具有的系統許可權

SQL> select * fromv$version #檢視oracle版本

SQL> select * fromuser_views #檢視檢視資訊

[[email protected] ~]# lsnrctl start #開啟遠端監聽埠