#環境設置
1、檢查服務器硬件資源 Linux系統(x86-64)下的硬件要求:
物理內存:最少1GB
交互空間:物理內存為1GB至2GB之間時,交互空間為物理內存的1.5倍;物理內存為2GB至8GB之間時,交互空間為物理內存的1倍;物理內存為8GB以上時,交互空間為物理內存的0.75倍。
磁盤空間:企業版4.35GB;標准版3.22GB;自定義(最大值):3.45GB
2、檢查內存情況:
# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo
1. 為服務器准備好Oracle安裝包
下載地址:Oracle官方下載地址
下載linux x86-64版本,一共兩個.zip文件。(Oracle的下載鏈接,點擊之后會跳轉到登錄界面,登錄Oracle賬號之后才可以下載,所以不能把下載鏈接復制到命令行中用wget命令下載,那樣下載下來的壓縮包是損壞的)
下載好了連個壓縮包以后,我們使用scp遠程傳輸命令將文件傳輸到服務器端。(這里需要你本機也是linux系統才可以實現,也可以將文件拷入linux虛擬機,使用虛擬機發送過去。)
scp -P 8022 /home/oracle_linux_1.zip root@222.204.6.82:/home/oracle_linux_1.zip
具體命令如上所示,-P一定要大寫,8022即為ssh的端口第一個地址表示你本機的zip文件地址,第二個地址表示你要放到服務器的位置。(詳情請查看該網址:ssh遠程傳輸文件)
文件傳輸到linux服務器上以后,就要進入通過ssh命令進入linux服務器的命令行進行操作了。(此處一定要用root用戶登錄)
ssh -p 8022 root@ip
進入剛剛傳入.zip文件的位置,使用unzip指令解壓兩個文件
unzip oracle_linux_1.zip
unzip oracle_linux_2.zip
兩個壓縮包會解壓到同一個目錄下,解壓完后,生成一個新目錄/database,到這里就把安裝包的准備工作做完了。
2. 安裝Oracle服務器端軟件的步驟
原帖:CentOS 6.5 64位靜默安裝Oracle11g
2.1 安裝必要的依賴
直接講下面這句話復制到命令行中,包含了所有依賴
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel
2.2 添加Oracle用戶信息
#創建oinstall、dba組,將oracle用戶加入組,最后一步設定oracle用戶的密碼。
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
2.3 修改內核參數
##編輯文件/etc/sysctl.conf,使用linux的vi編輯器
vi /etc/sysctl.conf
##在該配置文件中修改以下參數,如果不存在的就是直接添加,如果默認值比參考值大的話,就不需要修改。
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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
##編輯完后保存,執行以下命令使其生效
sysctl -p
2.4 修改用戶資源限制
##1、修改/etc/security/limits.conf配置文件
vi /etc/security/limits.conf
##配置文件的最下方加入以下參數
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
##保存並退出
##2、修改/etc/pam.d/login配置文件,
vi /etc/pam.d/login
##在配置文件中加入
session required /lib/security/pam_limits.so
session required pam_limits.so
2.5 創建安裝目錄
創建安裝目錄/usr/local/oracle /usr/local/oraInventory /usr/local/oradata,並賦予用戶組權限。
mkdir -p /usr/local/oracle /usr/local/oraInventory /usr/local/oradata/
chown -R oracle:oinstall /usr/local/oracle /usr/local/oraInventory /usr/local/oradata/
chmod -R 775 /usr/local/oracle /usr/local/oraInventory /usr/local/oradata/
2.6 創建oraInst.loc文件
##創建/etc/oraInst.loc文件
vi /etc/oraInst.loc
##文件內加入以下內容
inventory_loc=/usr/local/oraInventory
inst_group=oinstall
##保存退出后執行以下命令。設定該文件的用戶組及權限。
chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc
2.7 准備oracle安裝應答模板文件db_install.rsp文件
## 1、該文件默認存放在解壓后的安裝包內,也就是本例中/home/database/response下,
## 將oracle靜默安裝所需應答文件全部拷貝至 /usr/local/oracle文件夾下
cp /home/database/response/* /usr/local/oracle/
## 2、修改安裝所需的所有應答文件的所屬組及權限
chown oracle:oinstall /usr/local/oracle*.rsp
chmod 755 /usr/local/oracle/*.rsp
## 3、配置db_install.rsp文件
vi /usr/local/oracle/db_install.rsp
## 4、文件內修改相應的參數配置如下:
oracle.install.option=INSTALL_DB_SWONLY //安裝類型,只裝數據庫軟件
ORACLE_HOSTNAME=serv2.lin.vm.ncu //主機名稱(在命令行輸入hostname查詢)
UNIX_GROUP_NAME=oinstall // 安裝組
INVENTORY_LOCATION=/usr/local/oraInventory //INVENTORY目錄(**不填就是默認值,本例此處需修改,因個人創建安裝目錄而定)
SELECTED_LANGUAGES=en,zh_CN // 選擇語言
ORACLE_HOME=/usr/local/oracle/product/11.2.0/db_1 // oracle_home *路徑根據目錄情況注意修改 本例安裝路徑/usr/local/oracle
ORACLE_BASE=/usr/local/oracle // oracle_base *注意修改
oracle.install.db.InstallEdition=EE // oracle版本
oracle.install.db.isCustomInstall=false //自定義安裝,否,使用默認組件
oracle.install.db.DBA_GROUP=dba //dba用戶組
oracle.install.db.OPER_GROUP=oinstall //oper用戶組
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //數據庫類型
oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName
oracle.install.db.config.starterdb.SID=orcl //SID(**此處注意與環境變量內配置SID一致)
oracle.install.db.config.starterdb.memoryLimit=81920 //自動管理內存的內存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //設定所有數據庫用戶使用同一個密碼
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false //(手動寫了false)
DECLINE_SECURITY_UPDATES=true // **注意此參數 設定一定要為true
2.8 設置oracle用戶環境
## 由root切換至創建好的oracle用戶
su – oracle
## 修改該用戶的用戶配置文件,該文件就在~目錄下,可以先執行cd 或者cd ~
cd
vi .bash_profile
## 文件內加入並修改至以下內容
export ORACLE_BASE=/usr/local/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
## 保存退出后執行source命令立即生效。
source .bash_profile
2.9 在oracle用戶下開始安裝
## 執行命令。
/home/oracle/database/./runInstaller -silent -force -ignorePrereq -responseFile /usr/local/oracle/db_install.rsp
##參數說明
/home/database 是安裝包解壓后的路徑,此處根據安裝包解壓所在位置做修改,因人而異。
runInstaller 是主要安裝腳本
-silent 靜默模式
-force 強制安裝
-ignorePrereq忽略warning直接安裝。
-responseFile讀取安裝應答文件。
2.10 運行腳本
執行完安裝指令后,在原來那個窗口(1號窗口)可以什么事情都不做,重開一個命令行窗口(2號窗口),以root身份登錄到服務器。
在2號窗口進入/usr/local/oracle/product/11.2.0/db_1目錄,可以看到安裝數據庫已經裝在這個目錄下了,並且有一個root.sh文件在這個目錄下。
這個時候等1號窗口出現以下提示,安裝編譯需要一定的時間,請耐心等待。
#-------------------------------------------------------------------
/usr/oracle/oraInventory/orainstRoot.sh(這一句可能沒有。。具體原因我也不清楚,不影響安裝,如果有這一句,也要運行這個orainstRoot.sh腳本)
/usr/oracle/product/11.2.0/db_1/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as "root"
3. Run the scripts
4. Return to this window and hit"Enter" key to continue
Successfully Setup Software.
#------------------
出現以上界面后,到2號窗口運行root.sh腳本
./root.sh
數據庫安裝過程到這里結束,下面是配置。
3. 數據庫的配置和創建
3.1 創建數據庫
這里切換成
進入/usr/local/oracle目錄,編輯dbca.rsp創建數據庫應答文件:
vi dbca.rsp
修改幾個參數,如果這幾個參數被注釋了,要取消注釋(這個文件一定要修改,否則會造成數據庫創建后無法掛載)
GDBNAME = “orcl”
SID = “orcl”
CHARACTERSET = “ZHS16GBK”
NATIONALCHARACTERSET= “AL16UTF16”
SOURCEDB = “serv2.lin.vm.ncu:1521:orcl”
保存退出后,執行dbca指令創建數據庫:
dbca -silent -responseFile dbca.rsp
出現以下界面
Copying database files
1% complete
3% complete
11% complete
18% complete
26% complete
37% complete
Creating and starting Oracle instance
40% complete
…………………………
執行到100%后,數據庫創建完成
3.2 開啟數據庫網絡監聽
還在剛才的目錄下,有一個netca.rsp文件,執行以下命令
netca -silent -responseFile netca.rsp
開啟監聽
lsnrctl start
dbstart $ORACLE_HOME
--后記--
詳細的安裝步驟是同在實驗室的傅老大同學根據安裝過程總結出來的。對於其中遇到的一些報錯問題有詳細的解決方案。感謝傅老大~!
經過進一步的了解對比,對於這種 Linux 服務器上的DB服務,直接使用docker鏡像啟動會更簡單一些,不用每次安裝那么麻煩。
不過,針對docker容器引擎還需要進一步深入研究。這是下一步的學習目標。