新手教你centOS 6.5下面如何安裝Oracle 11g(通用版)
由於課程需要,本人需要在centOS 6.5下面安裝Oracle 11g,對於我這麼一個對Linux一無所知的菜鳥,確實任務很艱鉅。但是所幸的是,在第一遍裝的遍體鱗傷之後,第二遍成功安裝執行。
在網上查找了很多資料,但是很多資料的內容在細節部分總是有些不同,讓屬於菜鳥的我們無所適從,一些專業的術語更是讓我們摸不著方向,在聽到周圍不斷有人抱怨裝了十幾二十遍還沒裝上的時候,本菜決定完整的寫下作為一個門外漢的成功安裝過程。
第一步:
軟體安裝:
本菜是在VMware 虛擬機器上安裝的centOS 6.5,開闢的虛擬硬碟空間一定要大於30G(本菜一開始只開闢了20g,結果最後提示空間不夠,慘痛的經歷,所以第二遍直接開闢了
至於VMware虛擬機器和centOS的安裝不是本文重點,更不是難點,大家可以參考其他內容進行安裝,在此不再贅述!
軟體準備:
Oracle的下載,分為32位和64位,安裝過程都是一樣的。如果你的機器是32位的,就下載32位的Oracle軟體,若是64位的就下載64位的。下面的安裝過程是完全一樣的,本菜一開始在這個環節還猶豫了一些時間,汗~
因為我是32位的作業系統,所以我下載的是linux_11gR2_database_1of2和linux_11gR2_database_2of2兩個壓縮檔案。若是64位的請下載:linux.x64_11gR2_database_1of2
第二步:修改主機名
以root許可權登入虛擬機器,開啟終端輸入命令列,將主機名改為oracledb:
[[email protected] ~]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network[[email protected] ~]# hostname oracledb
第三步:修改網路連線方式
這一步是必須要做的!因為在安裝centOS(網路連線選的是橋接,
知道了為什麼,那麼就要就行修改配置了:
1.修改網絡卡配置:
在終端輸入命令列:ifconfig可以檢視網絡卡資訊,其中inet addr是IP地址的意思。
網上很多都是說用命令列:vi /etc/sysconfig/network-scripts/ifcfg-eth0進行修改網絡卡配置資訊,但是我沒有修改成功。所以直接講述我的方法!那就是找到檔案,開啟進行修改。開啟檔案系統filesystem,開啟etc資料夾,再開啟sysconfig資料夾,再開啟network-scripts資料夾,最後開啟ifcfg-eth0檔案,進行配置。
我的配置資訊如下:
DEVICE=eth0 #描述網絡卡對應的裝置別名,例如ifcfg-eth0的檔案中它為eth0
BOOTPROTO=static #(這是需要修改的,由原來的dhcp改為static!)設定網絡卡獲得ip地址的方式,可能的選項為static,dhcp;分別對應靜態指定的 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 #開啟遠端監聽埠