Redhat6.8下安裝Oracle11gR2


Step1.配置本地yum源,方便安裝依賴包

df -h

1

   補充: df命令查看 linux系統磁盤空間以及使用情況,-h代表方便閱讀方式顯示  ;/dev/sr0為光驅設備名


mkdir cdrom
mount /dev/sr0 /mnt/cdrom

image

  補充: 將光驅掛在到 /mnt/cdrom下


vim /etc/yum.repos.d/redhat.repo

image

補充:本地yum源,enabled為1代表啟用

 

Redhat修改了redhat.repo之后, 每次yum操作之后redhat.repo改動都沒了,只會保留注釋行,解決方法重命名自己的repo文件 或者 取消插件自動檢查:

下圖為該插件功能,每次都會檢測並提示沒有注冊到Redhat的yum源,

image

 

這時候回去看之前改動的redhat.repo文件,改動地方沒了已經,取消插件自動檢查方法(將enabled由0改為1即可,然后將redhat.repo文件內容重新寫一遍  或者一開始就將文件名隨便重新取一個):

vim /etc/yum/pluginconf.d/subscription-manager.conf

image


上面准備工作完成就可以准備安裝Oracle依賴了, 測試之前安裝是否成功可以通過以下簡單嘗試:

Root用戶下安裝lrzsz成功之后,rz可以彈出文件選擇框上傳文件 ;  或者yum  list 命令彈出一大可安裝,每行最后都有 Server的名字,就是我們之前配置的源名字[Server]

yum install -y lrzsz

 

Step2.Oracle安裝步驟准備

以下配置需要Root用戶執行

2.1 配置Oracle內核參數信息  補充說明:內核參數設置  Oracle安裝內核參數詳解

vi /etc/sysctl.conf

追加以下內容:

kernel.shmmax = 68719476736
kernel.shmall = 4294967296
fs.file-max = 6815744
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
fs.aio-max-nr = 1048576

執行命令使之生效

sysctl -p

 

2.2 配置Oracle 資源使用情況 補充說明:資源使用情況解釋 Oracle資源使用情況詳解

vi /etc/security/limits.conf

追加以下內容

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240

2.3 配置Oracle 登陸設置  補充說明:Oracle登陸設置解釋

vi /etc/pam.d/login

追加以下內容 (說明:當前機器為64位 所以是lib64目錄下, 32位的機器目錄下 lib下 ,查看機器目錄方式有 getconf LONG_BIT)

session required /lib64/security/pam_limits.so
session required pam_limits.so


注意上面的目錄寫錯了會導致linux系統登陸出現問題,雖然沒遇到這樣的問題,但是貼上解決的博客,萬一遇到:解決Oracle安裝后linux登陸出現問題


2.4 同樣Root用戶下修改/etc/profile

vi /etc/profile

添加以下內容:

if [ $USER = "oracle" ]; then
 if [ $SHELL = "/bin/ksh" ]; then
  ulimit -p 16384
  ulimit -n 65536
 else
  ulimit -u 16384 -n 65536
 fi
fi

2.5 添加用戶 (補充說明:為什么linux下安裝oracle需要創建用戶,以及用戶組呢?個人見解,先說創建Oracle用戶,不可能每次操作數據庫都用root用戶來登陸服務器,所以肯定要有這樣一個用戶來管理數據庫,處於系統安全、數據完整考慮;第二點,用戶組個人認為兩個組才可以,OINSTALL以及DBA組,OINSTALL軟件安裝組,Oracle軟件的所有者,而DBA組安全性來說就比較重要了,DBA組用戶可以 conn / as sysdba方式通過操作系統認證進而登陸任意數據庫實例,后面會補充介紹;以上都是這四天從零完成測試環境Oracle安裝的發現,有不對之處歡迎討論)

groupadd  oinstall
groupadd  dba
useradd  -g  oinstall  -G  dba  oracle
passwd  oracle

之后輸入兩次密碼即可完成給oracle用戶設置密碼;  補充說明:useradd 的 –g代表 指定用戶所屬群組,-G 指定用戶所屬附加群組, 也就是說 -g是覆蓋式的 -G是增量式的 ;

比如useradd  -g  oinstall –g dba XXX  這樣XXX只屬於oinstall組


2.6 配置環境變量以及 設定好安裝目錄

  先規划好打算安裝oracle的路徑,我將oracle安裝到 /data/app/oracle目錄,安裝時候記得查看 磁盤空間大小,不要安裝到一半沒有空間了;

mkdir  -p  /data/app/oracle
chown  -R   oracle:oinstall  /data/app/

補充說明:mkdir  -p 需要時創建上級目錄,  chown –R  遞歸將目錄擁有者給oinstall組的oracle用戶

 

設定ORACLE用戶環境變量,當然要切換用戶到ORACLE ,.bash_profile在ORACLE的家目錄下, ls –al可以查看到該文件

su  -  oracle
vi   .bash_profile

這里可以提前設置環境變量:解釋下,ORACLE_SID代表你后面想要創建的數據庫實例名,這里可以先寫上,文章后面會說有什么用處; ORACLE_HOME代表你打算安裝ORACLE產品的目錄,這里寫了后面就要按照這個來,可以先把目錄手動創建起來

export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/dbhome_1
export ORACLE_SID=olcom114DB
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

修改完成.bash_profile文件,立即生效命令 ; 可以通過 echo  $環境變量名字 查看是否起作用了

 source   .bash_profile

2.7 上傳好Oracle安裝包並完成解壓

Oracle11gR2安裝包Oracle官網就需要登錄才能下載,因為公司內網不知道啥情況,點擊下載連接死活下不了,就去用積分下載,這里吐槽下某些鏈接,寫的64位,裝到一半報錯什么libxxso的,才發現是32位的壓縮包;

這里Oracle64位的安裝包是linux.x64……..這樣的,而linux_11gR2這種是32位的,直接通過fxp工具上傳到服務器某個目錄下,注意磁盤空間大小,2個文件加起來2G多;

image

解壓命令: unzip解壓就會解壓到database目錄下

unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

 


2.8 依賴包的安裝

前面Step1配置過了本地yum源之后,現在安裝這些依賴包應該不存在問題,第一天安裝的時候完全不知道什么命令查看哪些依賴,厚臉皮去請教一位數據庫工程師,前輩發來一段命令

 rpm -q --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" \
binutils.x86_64 \
compat-libcap1.x86_64 \
compat-libstdc++-33.i686 \
compat-libstdc++-33.x86_64 \
gcc-c++.x86_64 \
glibc.i686 \
glibc.x86_64 \
glibc-devel.i686 \
glibc-devel.x86_64 \
ksh-*.x86_64 \
libaio.i686 \
libaio.x86_64 \
libaio-devel.i686 \
libaio-devel.x86_64 \
libX11.i686 \
libX11.x86_64 \
libXau.i686 \
libXau.x86_64 \
libXi.i686 \
libXi.x86_64 \
libXtst.i686 \
libXtst.x86_64 \
libgcc.i686 \
libgcc.x86_64 \
libstdc++.i686 \
libstdc++.x86_64 \
libstdc++-devel.i686 \
libstdc++-devel.x86_64 \
libxcb.i686 \
libxcb.x86_64 \
make.x86_64 \
net-tools.x86_64 \
smartmontools.x86_64 \
sysstat.x86_64 | grep "not installed\|未安裝"

查看下當前依賴: (補充下,有些依賴通過后面安裝,沒發現需要這樣依賴)

image

Root用戶下執行下面的安裝命令:

yum install compat-libcap1

yum install compat-libstdc++-33*

yum install compat-libstdc++-33*.i686

yum install gcc*

yum install glibc-devel-*.i686

yum install libstdc++-devel*.i686

yum install libaio*.i686

yum install libaio-devel*

yum install unixODBC*

yum install unixODBC*.i686

yum install ksh

 

執行完之后,查看還有哪些依賴沒有安裝(這些依賴后面安裝 check dependencies時候沒發現需要,也就沒有繼續安裝)

image


Step3.圖形化界面安裝Oracle,因為習慣圖形化安裝,下面的只介紹圖形化安裝,我是先安裝數據庫軟件 (因為服務器需要VPN連接,VPN經常斷,沒辦法堅持到安裝數據庫軟件建庫一起完成),然后dbca建庫,netca建立監聽,dbca\netca圖形以及靜默安裝方式都有;

3.1 安裝數據庫軟件(圖形化界面)

   圖形化安裝工具使用的是Xshell,以Oracle用戶登陸XShell工具,進入到上面2.7的解壓目錄database

 ./runInstaller

image

一切正常的話就會彈出來Oracle安裝界面,也會出現檢查不通過,臨時空間、交換空間不足,這兩個我沒有遇到就自行解決啦;

安裝過程第一個問題就出現了:

image

解決方案: 

vi /etc/hosts

image

修改添加當前主機名,主機名通過  hostname 命令查看,由於localhost.localdomain我覺得沒啥用途,就全刪掉改成主機名了

image

再次啟動安裝命令 ./runInstaller 不警告,通過;

簡單通過 LICECap 將之前安裝過程中圖片做成動畫形式,簡單記錄下安裝說明:

1. 將安全更新的√取消 ;

2. 這里暫時只安裝數據庫軟件,不創建實例(服務器VPN不穩定,數據庫實例創建時間稍長,所以只安裝數據庫軟件);

3.選擇單實例數據庫;

4. 語言只選擇了英語;

5. 這里安裝的是企業版 ;

6. ORACLE_BASE、ORACLE_HOME 在前面2.6環境變量寫好了,這里指定ORACLE_BASE為 /data/app/oracle 以及 ORACLE_HOME為/data/app/oracle/product/dbhome_1 ;

7. Inventory目錄為清單目錄,這最好不要在ORACLE_BASE目錄下,安裝過程中的日志都在清單目錄里面,下面還指定了ORACLE清單組,oinstall就可以了; 

8. 指定DBA組為之前添加的dba組,OSOPER組為之前的oinstall組就可以;

9.依賴檢查,這里如果按照之前yum全部安裝了,仍然會包缺少依賴,咨詢過相關DBA說最好依賴版本相同,但是安裝時候gcc版本安裝時候 gcc如果不小心安裝就會導致系統宕機、崩潰等各種問題;

如果確認之前2.8步驟的yum  install都執行成功,那點擊右上角的Ignore All再點擊下一步;(沒執行2.9的yum install可能會出現一種情況,生成的bin目錄里面lsnrctl可能為空,我第一次安裝就有這樣的問題)

10.安裝產品步驟時,快完成時候會跳出來提示框,Root用戶下執行兩個腳本即可,截圖也在下面有;

11.回到安裝界面,點擊OK,至此Oracle軟件安裝完成。

1


Step4.Oracle用戶  圖形化 dbca建庫、netca建立監聽

環境變量如果之前設置正確,xshell工具 Oracle用戶登錄后 輸入  dbca ,會彈出如下界面進行建庫操作:

Create a database  創建數據庫 ; 數據庫實例名SID 設置,和前面環境變量里的ORACLE_SID一致 (這里有篇文章介紹 環境變量ORACLE_SID的作用 關於環境變量ORACLE_SID簡單談下); 后面有很多具體配置,

Enterprise Manger (企業管理,就會有個類似控制台的東西),SGA、PGA等等,具體自行百度設置;  這里有個不太明白的地方: 前面會先設置一遍 All account的密碼,后面建庫完畢彈出來的Password Management打開發現密碼都是空的, 這里重新設置一遍Sys用戶和Sysadmin等用戶,點擊OK,這樣就建庫完畢 ( 點擊OK之前再開打密碼管理器,發現還是空白, 但是后面登陸時候密碼確實是設置上的,這塊希望有人知道能評論告訴我,)

 4


環境變量設置正確的話,xshell工具 Oracle用戶登錄后 輸入  netcat ,會彈出如下界面進行建庫操作:

建立監聽的目的是讓其他機器可通過PLSQL等工具連接上本機的數據庫實例, 具體監聽這里有篇資料mark Oracle 監聽器 Listener

5

查看監聽器是否啟動可以通過如下兩種方式:

netstat -tnlp |grep 1521

image

或者

lsnrctl status

image


Step5.到這里建庫,監聽建立都完畢可以測試下,按照以上安裝步驟都是沒有問題的,本機安裝了兩次,服務器也裝了一次,有什么問題后續會補充;

本機測試連接(后面會有介紹 本機Oracle用戶登錄SYS用戶哪怕不要密碼 密碼錯誤都可以登陸):

sqlplus  /nolog
conn / as sysdba
select * from v$instance;

 image

可能登陸會有 connected to an idle instance ,啟動下數據庫實例 startup 即可

image

外部機器測試連接(通過PLSQL測試連接)  數據庫訪問這么寫:192.168.88.114:1521/olcom114DB , 記得Oracle所在機器開放監聽端口;

image

image


 

Step6. 圖形化安裝過程中遇到的幾個錯誤 以及解決方案

問題一. 安裝Oracle軟件過程指定清單目錄時候,報錯 Unable to create a new central  Inventory at the specified location.

   問題說明:安裝的時候沒注意到清單所在目錄/data/oracle/oraInventory下面有其他文件,解決方案把該文件夾下面文件清掉或者換個文件夾; 

另外,該目錄最好不要在ORACLE_BASE目錄下

image

 


問題二. 安裝Oracle軟件檢查依賴時候,交換空間不足

 

/root目錄下(目錄隨意)
dd if=/dev/zero of=swapfree  bs=32k  count=65515
mkswap  swapfree
swapon  swapfree
free  
/etc/fstab編輯開啟自啟動交換分區
/root/swapfree  swap  swap  defaults 0 0

之后Check Again就可以通過了

image


問題三.Oracle dbca建庫過程中 Tns could not resolve the connect identifier specified

說明DBCA建庫為啥會報這種錯,一般我以為只有PLSQL連接時候才報錯, 這種錯誤我這里出現情況是設置數據庫用戶密碼中包含了@ 符號,把密碼稍微改動下 去掉 @ 試試

image


Step7.靜默方式dbca  netca建庫

至於為什么采用dbca 靜默方式建庫呢? 因為服務器需要用VPN連接不太穩定, 好幾次建庫等進度條的時候VPN斷了,嘗試了多次VPN死心時候,采用靜默dbca建庫;

dbca命令在安裝完Oracle軟件之后就可以使用,配置文件 dbca.rsp到 database/responseFile/dbca.rsp復制過來就可以

[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"

OPERATION_TYPE = "createDatabase"

[CREATEDATABASE]
GDBNAME = "olcom114DB"

SID = "olcom114DB"

TEMPLATENAME = "General_Purpose.dbc"

SYSPASSWORD = "你的SYS用戶密碼"

SYSTEMPASSWORD = "你的SYSTEM用戶密碼"

DATAFILEDESTINATION = /data/app/oracle/oradata/

CHARACTERSET = "ZHS16GBK"

NATIONALCHARACTERSET= "UTF8"

TOTALMEMORY = "2048"

這是最基礎的配置,全局數據庫名、實例名、字符集、數據文件存儲位置等

 

Oracle用戶下執行命令,執行成功就可以在服務器上使用SQLPLUS連接Oracle

dbca  -silent  -responseFile  /data/oracle/dbca.rsp

image


netca建立監聽才可以通過其他機器的PLSQL連接本機的ORACLE數據庫

netca  /silent  /responseFile    /data/database/responseFile/netca.rsp

image


Step8.好了 文章感覺第一次寫這么長的,謝謝你這么好看,還看完這篇,希望能幫到你們,也希望懂的大兄弟告訴下我,之前那塊密碼安裝時候沒顯示的問題。點我回到問題的地方

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM