REDHAT6.5安裝oracle11.2.4
ORACLE11G R2官檔網址:
http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#BHCGGJAB
一、操作系統
[root@xuegod63 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
[root@xuegod63 ~]# uname -m
x86_64
二、檢測硬件環境
1、內存
ORACLE官方建議swap設置標准:
對於運行ORACLE數據庫的操作系統,ORACLE官方是有設置大小建議的,在此以從ORACLE 11g R2官方文檔中提取的建議大小為例:
3.1 Memory RequirementsThe following are the memory requirements for installing Oracle Database 11g Release 2 (11.2): · Minimum: 1 GB of RAM Recommended: 2 GB of RAM or more If the size of the RAM is less than the required size, then you must install more memory before continuing. · The following table describes the relationship between installed RAM and the configured swap space recommendation: Note: On Linux, the HugePages feature allocates non-swappable memory for large page tables using memory-mapped files. If you enable HugePages, then you should deduct the memory allocated to HugePages from the available RAM before calculating swap space.
|
(1)ORACLE官方要求最小1GB的RAM,建議2GB或更大
(2)SWAP與RAM的大小配置關系
1)、RAM為1-2GB時,SWAP大小建議為RAM大小的1.5倍
2)、RAM為2-16GB時,SWAP大小建議與RAM大小相等
3)、RAM大於16GB時,SWAP大小建議為16GB
內存大小的查看命令:
[root@xuegod63 ~]# grep MemTotal /proc/meminfo ---查看物理內存
MemTotal: 2046588 kB
[root@xuegod63 ~]# grep SwapTotal /proc/meminfo --查看SWAP交換內存
SwapTotal: 2097144 kB
[root@xuegod63 ~]# free
total used free shared buffers cached
Mem: 2046588 1188520 858068 0 95160 107784
-/+ buffers/cache: 985576 1061012
Swap: 2097144 0 2097144
[root@xuegod63 ~]# free -m
total used free shared buffers cached
Mem: 1998 1160 837 0 92 105
-/+ buffers/cache: 962 1036
Swap: 2047 0 2047
swap的作用:
當系統的物理內存不夠用的時候,就需要將物理內存中的一部分空間釋放出來,臨時轉移到SWAP上,供當前運行的程序提供物理內存空間,當程序需要再訪問被轉移到了SWAP空間上的數據時,再從SWAP中恢復到物理內存中。從此工作原理不難看出來,SWAP要有,但是盡量不要使用,使用了就會發生內存交換,必然影響系統性能
2、硬盤大小

查看本機硬盤大小
[root@xuegod63 media]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 9.9G 3.7G 5.7G 40% /
tmpfs 1000M 0 1000M 0% /dev/shm
/dev/sda1 485M 39M 421M 9% /boot
/dev/sr0 3.6G 3.6G 0 100% /mnt
/dev/sda5 87G 2.9G 79G 4% /server
本地的/tmp目錄空間不能少於400M
三、檢測軟件環境
1、安裝oracle所需的環境依賴包
配置好YUM源
查看哪些安裝包沒有安裝,然后YUM安裝
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils \
compat-libcap1 \
compat-libstdc++-33 \
gcc \
gcc-c++ \
glibc \
glibc-devel \
ksh \
libgcc \
libstdc++ \
libstdc++-devel \
libaio \
libaio-devel \
make \
sysstat
[root@xuegod63 ~]# yum -y install compat-libcap1 compat-libstdc++-33 ksh libaio-devel
2、設置主機名、修改/etc/hosts,設置主機名和Ip的對應關系
[root@xuegod63 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.63 xuegod63
[root@xuegod63 ~]# hostname
xuegod63
3、創建oracle用戶uid為500、dba組gid為501,oracle用戶主組為dba,然后激活這個用戶
OINSTALL用戶組(oinstall)
oinstall 組是Oracle推薦創建的OS用戶組之一,建議在系統第一次安裝oracle軟件產品之前創建該oinstall組,理論上該oinstall組應當擁有oracle軟件產品目錄(例如$CRS_HOME和$ORACLE_HOME)和oracle Inventory信息目錄倉庫,oracle Inventory信息目錄記錄了系統上安裝過的oracle產品的記錄
OSDBA用戶組(dba)
osdba是我們必須要創建的一種系統dba用戶組(dba),若沒有該用戶組我們將無法安裝數據庫軟件及執行管理數據庫的任務。
OSOPER用戶組(oper)
osoper是一種額外的用戶組(oper),我們可以選擇要不要創建該用戶組,創建該用戶組可以滿足讓os用戶行使某些數據庫管理權限(包括SYSOPER角色權限)的目的。注意SYSOPER的權限包括startup和shutdown,所以要小心為該用戶組添加成員
[root@xuegod63 ~]# groupadd -g 500 oinstall
[root@xuegod63 ~]# groupadd -g 501 dba
[root@xuegod63 ~]# groupadd -g 502 oper
[root@xuegod63 ~]# useradd -u 500 -g oinstall –G dba,oper oracle
[root@xuegod63 ~]# id oracle
[root@xuegod63 ~]# passwd oracle
更改用戶 oracle 的密碼。
新的密碼:
無效的密碼:它基於字典單詞
無效的密碼:過於簡單
重新輸入新的密碼:
passwd:所有的身份驗證令牌已經成功更新。
用ORACLE用戶登錄一下,激活這個用戶



4、創建ORACLE用戶的安裝目錄與數據存放目錄,並設置目錄的所有者,組和權限
[root@xuegod63 ~]# mkdir -p /server/oracle
[root@xuegod63 ~]# mkdir -p /server/oradata
[root@xuegod63 ~]#mkdir -p /server/oracle/oraInventory
[root@xuegod63 ~]# chown –R oracle:dba /server/ora*
[root@xuegod63 ~]# chmod -R 775 /server/ora*
[root@xuegod63 ~]# ll /server/
drwx------ 2 root root 16384 8月 7 11:59 lost+found
drwxrwxr-x 2 oracle dba 4096 8月 7 12:32 oracle
drwxrwxr-x 2 oracle dba 4096 8月 7 12:32 oradata
5、修改內核參數(服務器內存為2G的情況下)
[root@xuegod63 ~]# vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmax = 1073741824
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
kernel.shmall = 2097152
參數說明:
fs.aio-max-nr = 1048576
//表示同時可以擁有的異步IO請求數目,推薦值是1024個K,也就是1024*1024=1048576字節
fs.file-max = 6815744
//系統中可以同時打開的文件數目,計算公式:為512 乘以 processes (如128個process則為 65536),官方建議最少6815744
kernel.shmall = 2097152
//該參數控制可以使用的共享內存的總頁數,(頁面大小查看:getconf PAGE_SIZE),如內存超過16G則shmmax/4(kb),官方建議最少值為2097152
kernel.shmmax = 1073741824
//計算公式:1G*1024*1024*1024=1073741824 (字節)
//是核心參數中最重要的參數之一,用於定義單個共享內存段的最大值。設置應該足夠大,能在一個共享內存段下容納下整個的SGA ,設置的過低可能會導致需要創建多個共享內存段,這樣可能導致系統性能的下降。至於導致系統下降的主要原因為在實例啟動以及ServerProcess創建的時候,多個小的共享內存段可能會導致當時輕微的系統性能的降低(在啟動的時候需要去創建多個虛擬地址段,在進程創建的時候要讓進程對多個段進行“識別”,會有一些影響),但是其他時候都不會有影響。
官方建議值:
32位linux系統:可取最大值為4GB(4294967296bytes)-1byte,即4294967295。建議值為多於內存的一半,所以如果是32位系統,一般可取值為4294967295。32位系統對SGA大小有限制,所以SGA肯定可以包含在單個共享內存段中。
64位linux系統:可取的最大值為物理內存值-1byte,建議值為多於物理內存的一半,一般取值大於SGA_MAX_SIZE即可,可以取物理內存-1byte。例如,如果為12GB物理內存,可取12*1024*1024*1024-1=12884901887,SGA肯定會包含在單個共享內存段中
kernel.shmmni = 4096
//表示最小共享內存固定4096KB(最小值)
kernel.sem = 250 32000 100 128
//表示設置的信號量,它有4個參數依次是【SEMMSL:每個用戶擁有信號量最大數;SEMMNS:系統信號量最大數;SEMOPM:每次semopm系統調用操作數;SEMMNI:系統辛苦量集數最大數。這4個參數為固定內容大小】
net.ipv4.ip_local_port_range = 9000 65500
//專用服務器模式下與用戶進程通信時分配給用戶的端口區間
net.core.rmem_default = 262144
net.core.wmem_default = 262144
//上面兩個參數表示內核套接字接收緩存區默認的大小
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
//上面兩個參數表示內核套接字接收緩存區默認的最大大小
設置完成后讓它生效
[root@xuegod63 ~]# sysctl -p
6、檢查軟件安裝用戶的資源限制
root@xuegod63 ~]# vi /etc/security/limits.conf
[root@xuegod63 ~]# tail -20 /etc/security/limits.conf
# - msgqueue - max memory used by POSIX message queues (bytes)
# - nice - max nice priority allowed to raise to values: [-20, 19]
# - rtprio - max realtime priority
#
#<domain> <type> <item> <value>
#
#* soft core 0
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 50
#ftp hard nproc 0
#@student - maxlogins 4
# End of file
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
讓配置的limit參數生效,所以要配置/etc/pam.d/login
vi /etc/pam.d/login (在文件最后增加或修改以下參數)
session required pam_limits.so
設置系統變量,在后面添加針對ORACLE用戶的資源限制
vi /etc/profile (在文件最后增加或修改以下腳本)
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
7、配置ORACLE用戶的環境變量
[root@xuegod63 ~]# vim /home/oracle/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/server/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=test
export LANG=american_america.ZHS16GBK
export LD_LIBRARY_PATH=$ORACLE_HONE/lib
alias oratrace="cd $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace && ls|grep alert"
alias oradata="cd /server/oradata/test"
alias topc="ps -e -o pcpu,pid,user,tty,args | sort -k 1 -r | head"
alias topm="ps -e -o pmem,pid,user,tty,args | sort -k 1 -r | head"
(LD_LIBRARY_PATH環境變量用於在程序加載運行期間查找動態鏈接庫時指定除了系統默認路徑之外的其他路徑,注意,LD_LIBRARY_PATH中指定的路徑會在系統默認路徑之前進行查找)
8、上傳軟件包
[root@xuegod63 mnt]# ls
p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip
[root@xuegod63 mnt]#unzip p13390677_112040_Linux-x86-64_1of7.zip
[root@xuegod63 mnt]#unzip p13390677_112040_Linux-x86-64_2of7.zip
[root@xuegod63 mnt]# chown -R oracle.dba database/
[root@xuegod63 mnt]# ll
drwxr-xr-x 7 oracle dba 4096 8月 27 2013 database
四、安裝軟件
切換到ORACLE用戶
1、安裝數據庫軟件
[oracle@xuegod63 ~]$ cd /mnt
[oracle@xuegod63 mnt]$ cd database/
[oracle@xuegod63 database]$ ls
install readme.html response rpm runInstaller sshsetup stage welcome.html
[oracle@xuegod63 database]$ ./runInstaller
正在啟動 Oracle Universal Installer...
檢查臨時空間: 必須大於 120 MB。 實際為 3314 MB 通過
檢查交換空間: 必須大於 150 MB。 實際為 2047 MB 通過
檢查監視器: 監視器配置至少必須顯示 256 種顏色。 實際為 16777216 通過
准備從以下地址啟動 Oracle Universal Installer /tmp/OraInstall2016-08-07_08-15-57PM. 請稍候...
如下圖如果出現亂碼,設置一下環境變量

[oracle@xuegod63 database]$ export LANG=en.US


選擇YES










如下圖:安裝環境檢測后有幾個警告,一個是包的版本沒有安裝,一個是內核參數設置過小,一個是swap空間設置過小,內核參數可以點擊fix&check again

如下圖,復制那個sh腳本在root用戶狀態下執行,此時不要點那個OK

執行完成后,再點OK
交換分區值過小,可以有兩種方法來增加swap分區,一種是將新的分區來作為swap,另一種是在磁盤中創建一個大的文件來作swap.
我們以文件擴展swap
[root@xuegod63 ~]# cd /var
[root@xuegod63 var]# dd if=/dev/zero of=file bs=1M count=1024
[root@xuegod63 var]# mkswap -f file
[root@xuegod63 var]# swapon file
[root@xuegod63 var]# free -m
total used free shared buffers cached
Mem: 1998 1921 77 0 50 1385
-/+ buffers/cache: 485 1513
Swap: 3071 0 3071
[root@xuegod63 var]# echo "/var/file swap swap defaults 0 0" >> /etc/fstab

安裝pdksh包,如果安裝不上,可以先把KSH這個包卸載
[root@xuegod63 mnt]# wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
[root@xuegod63 Packages]# rpm -qa|grep ksh
ksh-20120801-10.el6.x86_64
[root@xuegod63 Packages]# rpm -e ksh-20120801-10.el6.x86_64
[root@xuegod63 mnt]# rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
warning: pdksh-5.2.14-37.el5_8.1.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID e8562897: NOKEY
Preparing... ########################################### [100%]
1:pdksh ########################################### [100%]
然后我們再次點安裝檢測




以root用戶身份執行上面兩條腳本,然后點ok
[root@xuegod63 oraInventory]# /server/oracle/oraInventory/orainstRoot.sh
Changing permissions of /server/oracle/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /server/oracle/oraInventory to dba.
The execution of the script is complete.
[root@xuegod63 oraInventory]# /server/oracle/product/11.2/db_1/root.sh
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /server/oracle/product/11.2/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: à直接回車
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Finished product-specific root actions.

2、配置監聽
[oracle@xuegod63 database]$ netca








3、安裝oracle數據庫
[oracle@xuegod63 database]$ dbca


















安裝完成
查看監聽狀態正常

查看數據庫版本及狀態正常

根據時間關系,把另外幾種安裝方式說一下,軟件安裝的三種方式:圖形、靜默、克隆
二、克隆安裝($ORACLE_HOME)
1、首先建立Oracle的相關OS用戶、組還有調整好內核參數,設置Oracle用戶的環境變量
2、如果源機和目標機的Oracle Home目錄一樣,用戶、組也一樣,那直接復制過去后重新用root用戶運行一下root.sh就可以了,非常簡單。
3、如果源機和目標機的Oracle Home目錄一樣,用戶、組不一樣(主要是用戶ID不一樣),復制過去后要重新設定一下文件所屬 chown -R 用戶:組 $ORACLE_HOME,然后 relink all;再運行一下root.sh就可以了
4、如果用戶、組和Oracle Home目錄都不一樣
先介紹一下環境
源機:
[oracle@test01 oracle]$ echo $ORACLE_BASE
/u01/app/oracle
[oracle@test01 oracle]$ echo $ORACLE_HOME
/u01/app/oracle/11.2.0.2
[oracle@test01 oracle]$ id
uid=1003(oracle) gid=501(oracle) groups=501(oracle)
目標機:
[ora11g@test06 ora11g]$ echo $ORACLE_BASE
/u01/app/ora11g
[ora11g@test06 ora11g]$ echo $ORACLE_BASE
/u01/app/ora11g/product/11.2.0.2/db_1
[ora11g@test06 ora11g]$ id
uid=731(ora11g) gid=700(oradba) groups=700(oradba)
首先在源機上對Oracle Home打包,要用root用戶執行,並且保留相關的權限,復制到目標機器上:
[oracle@test01 oracle]$ echo $ORACLE_HOME
/u01/app/oracle/11.2.0.2
[oracle@test01 oracle]$ exit
[oracle@test01 ~]$ cd /u01/app/oracle/
[root@test01 oracle]# tar zcvfp 11.2.0.2.tar.gz ./11.2.0.2/
[root@test01 oracle]# scp ./11.2.0.2.tar.gz 10.168.0.206:/u01/app/ora11g/product/11.2.0.2/
下面在目標機上操作:
[root@test06 ~]# cd /u01/app/ora11g/product/11.2.0.2/
[root@test06 11.2.0.2]# tar zxvf 11.2.0.2.tar.gz
[root@test06 11.2.0.2]# ll
total 2129880
drwxr-xr-x 75 1003 oradba 4096 Nov 20 22:19 11.2.0.2
-rw-r--r-- 1 root root 2178854174 Jan 21 09:35 11.2.0.2.tar.gz
drwxr-xr-x 2 ora11g oradba 4096 Jan 21 09:47 db_1
[root@test06 11.2.0.2]# rm -rf db_1/
[root@test06 11.2.0.2]# mv 11.2.0.2 db_1
[root@test06 11.2.0.2]# chown -R ora11g:oradba ./db_1/
修改 $ORACLE_HOME/rdbms/lib/config.c 將Oracle用戶的組名改過來,relink all一下就可以了:
[root@test06 ~]# su - ora11g
[ora11g@test06 ~]$ cat $ORACLE_HOME/rdbms/lib/config.c
/* SS_DBA_GRP defines the UNIX group ID for sqldba adminstrative access. */
/* Refer to the Installation and User's Guide for further information. */
/* IMPORTANT: this file needs to be in sync with
rdbms/src/server/osds/config.c, specifically regarding the
number of elements in the ss_dba_grp array.
*/
#define SS_DBA_GRP "oradba"
#define SS_OPER_GRP "oradba"
#define SS_ASM_GRP "oradba"
char *ss_dba_grp[] = {SS_DBA_GRP, SS_OPER_GRP, SS_ASM_GRP};
[ora11g@test06 ~]$ relink all
修改 $ORACLE_HOME 中的 oraInst.loc 文件,其實就是填入正確 oraInventory 目錄,這個oraInventory 可以不建,但是父目錄必須存在,並且Oracle用戶可以寫入(建目錄):
[ora11g@test06 ~]$ cd $ORACLE_HOME
[ora11g@test06 db_1]$ cp oraInst.loc{,.bak}
[ora11g@test06 db_1]$ vim oraInst.loc
[ora11g@test06 db_1]$ more oraInst.loc*
::::::::::::::
oraInst.loc
::::::::::::::
inventory_loc=/u01/app/ora11g/oraInventory
inst_group=oradba
::::::::::::::
oraInst.loc.bak
::::::::::::::
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oradba
修改 $ORACLE_HOME/clone/config/cs.properties 在最后加上參數-invPtrLoc 指明 oraInst.loc 所在的路徑:
[ora11g@test06 db_1]$ cd $ORACLE_HOME/clone/config
[ora11g@test06 config]$ cat cs.properties
# Copyright (c) 2005, Oracle. All rights reserved.
# clone command line
clone_command_line= -silent -noConfig -nowait -invPtrLoc "/u01/app/ora11g/product/11.2.0.2/db_1/oraInst.loc"
再去到 $ORACLE_HOME/clone/bin 目錄執行一下一個perl腳本:
./clone.pl \
ORACLE_HOME="/u01/app/ora11g/product/11.2.0.2/db_1" \
ORACLE_BASE="/u01/app/ora11g" \
OSDBA_GROUP="oradba" \
OSOPER_GROUP="oradba" \
OSASM_GROUP="oradba" \
ORACLE_HOME_NAME="OracleHome1"
[ora11g@test06 config]$ cd $ORACLE_HOME/clone/bin
[ora11g@test06 bin]$ ls
clone.pl prepare_clone.pl
[ora11g@test06 bin]$ ./clone.pl \
[ora11g@test06 bin]> ORACLE_HOME="/u01/app/ora11g/product/11.2.0.2/db_1" \
[ora11g@test06 bin]> ORACLE_BASE="/u01/app/ora11g" \
[ora11g@test06 bin]> OSDBA_GROUP="oradba" \
[ora11g@test06 bin]> OSOPER_GROUP="oradba" \
[ora11g@test06 bin]> OSASM_GROUP="oradba" \
[ora11g@test06 bin]> ORACLE_HOME_NAME="OracleHome1"
最后按照提示用root用戶執行那個 $ORACLE_HOME 的 root.sh 就OK了。
5.到了這一步,如果你要是復制數據庫數據oradata的文件,那么只需要需要相應的文件路徑
6.也可以自己建,先刪除$ORACLE_HOME/dbs/spfiletest.ora文件,還有$ORACLE_HOME/network/admin/*.ora都刪除,然后dbca ,netca
三、根據響應文件安裝(針對個別單位不能使用圖形界面,只能使用靜默安裝)
解壓完數據庫軟件包以后,在它的目錄下面有相應的響應文件
[root@xuegod63 mnt]# ls
database pdksh-5.2.14-37.el5_8.1.x86_64.rpm
[root@xuegod63 mnt]# cd database/
[root@xuegod63 database]# ls
install readme.html response rpm runInstaller sshsetup stage welcome.html
[root@xuegod63 database]# cd response/
[root@xuegod63 response]# ls
dbca.rsp db_install.rsp netca.rsp
1、生成響應文件模板
$ vi db_install.rsp
#--------------------------------------------------------------------
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=xuegod64
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/server/oracle/oraInventory
SELECTED_LANGUAGES=en
ORACLE_HOME=/server/oracle/product/11.2/db_1
ORACLE_BASE=/server/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=true
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=oinstall
oracle.install.db.OPER_GROUP=dba
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
oracle.installer.autoupdates.option=SKIP_UPDATES
#--------------------------------------------------------------------
各參數含義如下:
-silent 表示以靜默方式安裝,不會有任何提示
-force 允許安裝到一個非空目錄
-noconfig 表示不運行配置助手netca
-responseFile 表示使用哪個響應文件,必需使用絕對路徑
oracle.install.responseFileVersion 響應文件模板的版本,該參數不要更改
oracle.install.option 安裝選項,本例只安裝oracle軟件,該參數不要更改
DECLINE_SECURITY_UPDATES 是否需要在線安全更新,設置為true
ORACLE_HOSTNAME 安裝主機名
UNIX_GROUP_NAME oracle用戶用於安裝軟件的組名
INVENTORY_LOCATION oracle產品清單目錄
SELECTED_LANGUAGES oracle運行語言環境,一般包括英文和簡繁體中文
ORACLE_HOME Oracle安裝目錄
ORACLE_BASE oracle基礎目錄
oracle.install.db.InstallEdition 安裝版本類型,一般是企業版
oracle.install.db.optionalComponents 定制安裝組件列表
oracle.install.db.DBA_GROUP oracle用戶用於授予OSDBA權限的組名
oracle.install.db.OPER_GROUP oracle用戶用於授予OSOPER權限的組名
2、 開始安裝oracle軟件
1) 通過response文件靜默安裝, 大概10-15分鍾:
$ ./runInstaller -silent -responseFile /mnt/database/response/db_install.rsp
| 用法: runInstaller [-options] [(<CommandLineVariable=Value>)*]
其中選項包括: -clusterware oracle.crs,<crs version> 已安裝的集群就緒服務的版本。
-crsLocation <Path> 僅用於安裝集群, 可指定 CRS 主目錄位置的路徑。指定此路徑將覆蓋從主產品清單中獲取的 CRS 信息。
-invPtrLoc <full path of oraInst.loc> 僅適用於 Unix。指向其他產品清單位置。orainst.loc 文件中包含: inventory_loc=<location of central inventory> inst_group=<>
-jreLoc <location> Java 運行時環境的安裝路徑。沒有該路徑, OUI 就無法運行。
-logLevel <level> 過濾優先級別低於 <level> 的日志消息。有效的選項包括: severe, warning, info, config, fine, finer, finest, basic, general, detailed 和 trace。建議不要使用 basic, general, detailed 和 trace。
-paramFile <location of file> 指定 OUI 要使用的 oraparam.ini 文件的位置。
-responseFile <Path> 指定要使用的響應文件和路徑。
-attachHome 將主目錄附加到 OUI 產品清單。
-cfs 表明指定的 Oracle 主目錄位於集群文件系統 (已共享) 中。如果指定 '-local', 則必須同時指定此選項, 這樣 Oracle Universal Installer 才能相應地在產品清單中注冊該主目錄。
-clone 使 Oracle 主目錄副本與當前環境匹配。
-debug 從 OUI 獲取調試信息。
-detachHome 用於將主目錄與 OUI 產品清單分離, 而不刪除 Oracle 主目錄內的產品清單目錄。
-enableRollingUpgrade 在集群環境中使用, 用於允許在 (安裝了該產品的) 節點子集上對產品進行升級。
-executeSysPrereqs 執行系統先決條件檢查並退出。
-force 允許在非空目錄中進行無提示模式的安裝。
-help 顯示上述用法。
-ignoreSysPrereqs 忽略系統先決條件檢查的結果。
-local 無論是否指定集群節點, 均在本地節點上執行操作。
-printdiskusage 記錄有關磁盤使用情況的調試信息。
-printmemory 記錄有關內存使用情況的調試信息。
-printtime 記錄有關時間使用情況的調試信息。
-relink 對 Oracle 主目錄執行重新鏈接操作 用法: -relink -maketargetsxml <location of maketargetsxml> [-makedepsxml <location of makedepsxml>] [name=value]
-silent 對於無提示模式下的操作, 輸入內容可以是一個響應文件, 也可以是命令行變量值對的列表。
-waitforcompletion 安裝程序將等待完成, 而不是衍生 Java 引擎並退出。
-suppressPreCopyScript 禁止執行預復制腳本。
-acceptUntrustedCertificates 接受來自安全站點的不受信任的證書。
-suppressPostCopyScript 禁止執行復制后腳本。
-noconfig 不執行配置工具。
-noconsole 禁止在控制台中顯示消息。不分配控制台。
-formCluster 安裝 Oracle Clusterware 以構成集群。
-remotecp <Path> Unix 特定選項。僅用於安裝集群, 可指定本地集群節點上遠程復制程序的路徑。
-remoteshell <Path> Unix 特定選項。僅用於安裝集群, 可指定本地集群節點上遠程 shell 程序的路徑。
-executePrereqs 僅執行先決條件檢查。
-ignorePrereq 忽略運行先決條件檢查。
-ignoreInternalDriverError 忽略任何內部驅動程序錯誤。
-downloadUpdates 只下載更新。
-showProgress 用於在控制台上顯示安裝進度。僅在無提示安裝下才支持此選項。 |
控制台直到出現以下提示則表示安裝完成:
#-------------------------------------------------------------------
...
/server/oracle/oraInventory/orainstRoot.sh
/server/oracle/product/11.2/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) 安裝期間查看安裝日志信息了解安裝進度:
$ cd $ORACLE_BASE/oraInventory/logs
$ tail -100f installActions*.log
3) 安裝的軟件信息會寫入inventory.xml文件
如果需重運行則把該文件的對應安裝條目信息刪除即可:
$ vi $ORACLE_BASE/oraInventory/ContentsXML/inventory.xml
4) 運行orainstRoot.sh和root.sh
若本機第一次安裝oracle軟件, 則執行orainstRoot.sh來建立oraInst.loc文件和修改權限:
$ su - root
# /server/oracle/oraInventory/orainstRoot.sh
# more /etc/oraInst.loc
執行$ORACLE_HOME下的root.sh來建立oratab,dbhome,oraenv,coraenv文件, 如果提示則一直回車:
# /server/oracle/product/11.2/db_1/root.sh
# more /etc/oratab
3、 靜默配置監聽
通過response文件運行netca, 生成sqlnet.ora和listener.ora文件, 位於$ORACLE_HOME/network/admin目錄下:
# su - oracle
$ $ORACLE_HOME/bin/netca -silent -responseFile /mnt/database/response/netca.rsp
$ ll $ORACLE_HOME/network/admin/*.ora
$ lsnrctl status
執行完后, 監聽就已經啟動了, 默認端口是1521, 默認是動態監聽, 只要實例啟動了就會監聽到.
4、 靜默建庫
1) 生成響應文件模板:
$ vi /mnt/database/db_create.rsp
#--------------------------------------------------------------------
#以下參數不要更改
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
#以下參數必須設置
[CREATEDATABASE]
GDBNAME = "ORCL.LK"
TEMPLATENAME = "General_Purpose.dbc"
#以下參數不設置則使用默認值,建議設置
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = "1024"
#--------------------------------------------------------------------
2) dbca靜默建庫, 大概3-5分鍾:
種子數據庫和控制文件位於$ORACLE_HOME/assistants/dbca/templates/下, 即Seed_Database.dfb和Seed_Database.ctl文件, 實際上建庫就是基於通過rman恢復種子數據庫和控制文件來實現的.
$ $ORACLE_HOME/bin/dbca -silent -responseFile /mnt/database/response/db_create.rsp
Enter SYS user password:
<輸入sys用戶密碼>
Enter SYSTEM user password:
<輸入system用戶密碼>
Copying database files
...
37% complete
Creating and starting Oracle instance
...
62% complete
Completing Database Creation
...
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/ORCL/ORCL.log" for further details.
各參數含義如下:
-silent 表示以靜默方式安裝
-responseFile 表示使用哪個響應文件,必需使用絕對路徑
RESPONSEFILE_VERSION 響應文件模板的版本,該參數不要更改
OPERATION_TYPE 安裝類型,該參數不要更改
GDBNAME 全局數據庫名,點號前面默認是db_name,點號后面默認就是db_domain
TEMPLATENAME 建庫模板名,參考各模板定義:$ORACLE_HOME/assistants/dbca/templates/*.dbc
CHARACTERSET 字符集,默認是WE8MSWIN1252
TOTALMEMORY 實例內存,默認是服務器物理內存的40%
3) 安裝期間查看日志信息了解進度:
$ tail -100f $ORACLE_BASE/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log
ORACLE軟件安裝包:鏈接:https://pan.baidu.com/s/1minm5rq 密碼:請在評論處留下郵箱,統一發送
