Centos6.8下安裝Oracle 11g資料庫圖文詳解
最近需要幫客戶部署專案,由於公司以前全部都是使用的Windows Server 2003,安裝Oracle全部都是下一步下一步到底,沒有在Linux下裝過,還有客戶機器沒有外網環境,出現問題難以立即解決,所有必要在本機測試一下。
客戶機器是一臺Centos 6.8 X86-64的機器,為了適應各種各樣的環境,決定使用最小化安裝的方式,進行安裝。
一、安裝準備
安裝好Centos 6.8作業系統並且配置好網路,遠端登陸伺服器,可以看到如下頁面
使用Xftp上傳Oracle 11g安裝檔案到伺服器上
解壓
cd /usr
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
報錯:
unzip: command not found
解決辦法:yum install unzip zip
重新執行上面的指令碼
二、配置使用者與組
oracle 安裝檔案不允許使用root使用者直接啟動,需要為oracle配置一個專門的使用者來管理oracle的安裝與運維。
groupadd sql -- 建立sql 使用者組
usradd oracle -g sql 建立oracle 使用者並放入sqlyonghu 組中
passwd oracle --修改oracle使用者登入密碼,輸入密碼後即可使用oracle使用者登入系統
chown -R oracle:sql /usr/database --為oracle使用者賦予訪問oracle安裝檔案的所有權
chgrp -R sql /usr/database --為sql使用者組賦予訪問oracle安裝檔案的所有權
三、配置核心引數
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 100 128
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
:wq
/sbin/sysctl -p
解析下各個引數的意義
net.ipv4.ip_local_port_range :可使用的IPv4埠範圍
fs.file-max :該引數表示檔案控制代碼的最大數量。檔案控制代碼設定表示在linux系統中可以開啟的檔案數量。
kernel.shmall :該引數表示系統一次可以使用的共享記憶體總量(以頁為單位)
kernel.shmmax :該引數定義了共享記憶體段的最大尺寸(以位元組為單位)
kernel.shmmni :這個核心引數用於設定系統範圍內共享記憶體段的最大數量
kernel.sem : 該引數表示設定的訊號量。
net.core.rmem_default:預設的TCP資料接收視窗大小(位元組)。
net.core.wmem_default:預設的TCP資料傳送視窗大小(位元組)。
net.core.rmem_max:最大的TCP資料接收視窗(位元組)。
net.core.wmem_max:最大的TCP資料傳送視窗(位元組)。
fs.aio-max-nr :同時可以擁有的的非同步IO請求數目。
請安裝實際使用配置,我的配置僅供參考。
設定oracle使用者限制
vi /etc/security/limits.conf #在末尾新增以下程式碼
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
輸入:wq儲存檔案
四、安裝oracle所需的包
rpm -Uvh oracle/*.rpm
五、安裝vncserver 桌面
oracle安裝檔案需要桌面環境進行安裝,由於我們使用的最小安裝,所以需要安裝一個桌面環境。
1、安裝Gnome桌面環境
rpm -Uvh desktop/*.rpm
rpm -Uvh xwindows/*.rpm
等待安裝完成。
編輯/etc/inittab檔案, 將id:3:initdefault修改為 id:5:initdefault將桌面環境設定為開機啟動
2、安裝vncserver
rpm -Uvh /usr/vnc/*.rpm
vncpasswd
輸入vncserver的密碼
vncserver --啟動vncserver
export DISPLAY=:1
xhost +
看到如圖的提示說明成功
開啟vncview,沒有的可以在官網上下載
在位址列中輸入ip:[上一步操作的export DISPLAY的值,這裡是1]
輸入vncserver的密碼即可進入圖形化介面
六、啟動oracle安裝程式
在vncview 中開啟終端命令列程式
cd /usr/database --進入oracle安裝目錄檔案
su oracle --切換到oracle使用者
./runInstaller --啟動安裝程式
稍等一會,即可看到如圖的oracle安裝介面
如果oracle啟動亂碼,請在./runInstaller執行之前執行export LANG=en-us
選擇安裝的資料庫型別,這裡選擇伺服器版
選擇安裝平臺,這裡沒有使用叢集,選第一個
選擇典型安裝
輸入管理員密碼
使用rpm -q命令 檢查一下這些包的32位版本是否成功安裝,點選Ignore All點選Next繼續安裝
隨後就進入漫長的安裝階段。
安裝最後一步,要求以root使用者執行兩個指令碼
su root
cd /home/oracle/app/oraInventory
./orainstRoot.sh
cd /home/oracle/app/oracle/product/11.2.0/dbhome_1
./root.sh
至此,oracle安裝結束。
七、配置oracle 環境變數
vi /etc/profile
在檔案末尾複製下面的一段話:
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=
儲存以後使用. /etc/profile使配置生效,一切以你設定的為準
八、啟動oracle
su oracle
sqlplus /nolog
SQL> connect /as sysdba
SQL> startup
看到如圖所示的介面說明資料庫啟動成功。
下面使用sys登入oracle資料庫
執行一條sql
沒有問題,說明oracle本地連線oracle成功。
啟動監聽
lsnrctl start
看到如圖所示的介面說明成功啟動監聽。
/sbin/iptables -I INPUT -p tcp --dport 1521 -j ACCEPT --開啟防火牆oracle預設埠1521
/etc/init.d/iptables save --儲存防火牆配置
service iptables restart --重啟防火牆
開啟pl/sql 輸入sys 的使用者名稱與密碼
如果沒有問題,即可進入pl/sql主介面。
安裝遇到問題及解決方法
1、oracle 安裝檔案檢查發現swap 空間不足,這個問題在伺服器提供商,如阿里雲,騰訊雲的主機上出現的比較多。
dd if=/dev/zero of=/var/swap bs=4096 count=1000000
mkswap /var/swap
swapon /var/swap
echo “LABEL=SWAP-sda /var/swap swap swap defaults 0 0” >> /etc/fstab
bs的設定的值一般為記憶體的1.5倍
2、啟動監聽時報oracle:12546錯誤
切換到root 使用者 執行chown -R oracle:sql /var/tmp/.oracle