centos7安裝oracle11g(11.2.0)

最近公司購(gòu)買了一臺(tái)新的服務(wù)器,我負(fù)責(zé)給這臺(tái)服務(wù)器安裝oracle ,磕磕絆絆的終于裝好了,但是卻花了不少時(shí)間,算起來(lái)差不多用了2.5天的時(shí)間,下面開始講講我的血淚史

安裝前的準(zhǔn)備:步驟如下:

第一步: 檢查當(dāng)前服務(wù)器操作系統(tǒng)是64位還是32位(以我的為例是centos7是64位的)

[root@chances127 ~]# uname ?-a

Linux chances127 3.10.0-327.28.3.el7.x86_64 #1 SMP Thu Aug 18 19:05:49 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

不存在x86_64 x86_64 x86_64表示是32位的操作系統(tǒng)

第二步:檢查內(nèi)存

說(shuō)明:

內(nèi)存大于1G(使用虛擬機(jī)安裝時(shí)內(nèi)存要稍微大一些,否則安裝檢查不通過(guò))

查看內(nèi)存大小#cat /proc/meminfo

交換分區(qū)是內(nèi)存的1.5倍,可根據(jù)實(shí)際情況調(diào)整

查看交換分區(qū)大小#grep SwapTotal /proc/meminfo

硬盤空間要滿足所需軟件的大小,要求/tmp 分區(qū)不少于 400M ,安裝目錄應(yīng)大于4G:

查看磁盤空間使用情況#df –h

查看目錄空間大小#du -ch





操作:

#free –m

Swap少于1024的請(qǐng)?jiān)黾觾?nèi)存

1.1增加內(nèi)存

1)增加內(nèi)存

#dd if=/dev/zero of=/tmpswap bs=1k count=2048000

2048000+0 records in

2048000+0 records out

2097152000 bytes (2.1 GB) copied, 169.875 seconds, 12.3 MB/s

2)設(shè)置交換文件

# mkswap /tmpswap

Setting up swapspace version 1, size = 2097147 kB

3)立即啟用交換分區(qū)文件

# swapon tmpswap

再查看swap分區(qū)大小發(fā)現(xiàn)增加了2G

4)引導(dǎo)時(shí)自動(dòng)啟用

#vi/etc/fstab

增加如下內(nèi)容:


查看一下swap

# swapon -s


安裝時(shí)我的內(nèi)存是符合條件的,所以上述步驟就省了(供參考)

第三步: 軟件檢查,安裝oracle所依賴的組件包:

1.binutils-2.17.50.0.6

2.compat-libstdc++-33-3.2.3

3.elfutils-libelf-0.125

4.elfutils-libelf-devel-0.125

5.elfutils-libelf-devel-static-0.125

6.gcc-4.1.2

7.gcc-c++-4.1.2

8.glibc-2.5-24

9.glibc-common-2.5

10.glibc-devel-2.5

11.glibc-headers-2.5

12.kernel-headers-2.6.18

13.pdksh-5.2.14

14.libaio-0.3.106

15.libaio-devel-0.3.106

16.libgcc-4.1.2

17.libgomp-4.1.2

18.libstdc++-4.1.2

19.libstdc++-devel-4.1.2

20.make-3.81

21.numactl-devel-0.9.8.i386

22.sysstat-7.0.2

23.unixODBC-2.2.11

24.unixODBC-devel-2.2.11

包檢查命令:#rpm –qa |grep 軟件包名稱

包安裝命令:#rpm –ivh 軟件包名稱

?或

#yum install 軟件包名稱

第四步:關(guān)閉防火墻

說(shuō)明:centos7默認(rèn)使用的防火墻是firewall,iptables雖然也安裝了,但沒(méi)有啟用

所以關(guān)閉防火墻操作為:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service?#禁止firewall開機(jī)啟動(dòng)

參考文檔:http://www.cnblogs.com/silent2012/archive/2015/07/28/4682770.html

第五步:關(guān)閉SELIINUX

#vi /etc/selinux/config確保以下內(nèi)容

SELINUX=disabled

第五步:配置系統(tǒng)環(huán)境

1.1 linux內(nèi)核參數(shù)設(shè)置

#vi /etc/sysctl.conf ,在行末添加以下內(nèi)容

fs.file-max = 6815744

fs.aio-max-nr=1048576

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 = 1048576

kernel.sem = 250 32000 100 128

kernel.shmall = 2097152(可以按照系統(tǒng)默認(rèn),不修改)

kernel.shmmax = 536870912(可以按照系統(tǒng)默認(rèn),不修改)

#sysctl –p 讓內(nèi)核參數(shù)生效


Linux下安裝oracle對(duì)內(nèi)核參數(shù)的要求說(shuō)明:

kernel.shmall為物理內(nèi)存除以pagesize

kernel.shmmax為物理內(nèi)存的一半

fs.file-max為512乘以processes(如128個(gè)process,則為65536)


備注:

下圖中的內(nèi)核參數(shù)是我當(dāng)時(shí)安裝oracl的參數(shù)設(shè)置:


部分講解:

以kernel.sem = 250 32000 100 128為例:

250是參數(shù)semmsl的值,表示一個(gè)信號(hào)量集合中能夠包含的信號(hào)量最大數(shù)目。

32000是參數(shù)semmns的值,表示系統(tǒng)內(nèi)可允許的信號(hào)量最大數(shù)目。

100是參數(shù)semopm的值,表示單個(gè)semopm()調(diào)用在一個(gè)信號(hào)量集合上可以執(zhí)行的操作數(shù)量。

128是參數(shù)semmni的值,表示系統(tǒng)信號(hào)量集合總數(shù)


為什么要進(jìn)行參數(shù)設(shè)置呢:

其實(shí)oracle 中有一個(gè)文件,cvu_prereq.xml文件。

這個(gè)文件中有參數(shù)值和依賴包,是oracle安裝所以依賴的,靜默安裝時(shí)會(huì)進(jìn)行過(guò)監(jiān)測(cè),監(jiān)測(cè)不通過(guò),就不能安裝

說(shuō)明:

當(dāng)時(shí)我安裝的時(shí)候,參數(shù)監(jiān)測(cè)就沒(méi)通過(guò)(其實(shí)安裝前我是對(duì)參數(shù)設(shè)置好了的,不知道為什么設(shè)置好的參數(shù)值不見了,可能是因?yàn)椋何以趫?zhí)行靜默安裝的時(shí)候檢查各種報(bào)錯(cuò),又不斷重新執(zhí)行,導(dǎo)致參數(shù)丟失吧,其他原因暫時(shí)不清楚。后來(lái)根據(jù)報(bào)錯(cuò),重新設(shè)置了參數(shù)值)

執(zhí)行過(guò)程(當(dāng)然目前按照上述步驟,還不能執(zhí)行這一步,只是為了解釋為什么要進(jìn)行參數(shù)設(shè)置和安裝依賴包)

[oracle@chances127 database]$ ./runInstaller -silent -responseFile? /opt/oracle_11g/database/response/db_install.rsp

正在啟動(dòng) Oracle Universal Installer...

檢查臨時(shí)空間: 必須大于 120 MB。? 實(shí)際為 286724 MB? ? 通過(guò)

檢查交換空間: 必須大于 150 MB。? 實(shí)際為 16383 MB? ? 通過(guò)

準(zhǔn)備從以下地址啟動(dòng) Oracle Universal Installer /tmp/OraInstall2016-09-20_10-41-12AM. 請(qǐng)稍候...[oracle@chances127 database]$ [WARNING] [INS-32018] 所選 Oracle 主目錄位于 Oracle 基目錄外部。

原因: 所選 Oracle 主目錄位于 Oracle 基目錄外部。

操作: Oracle 建議在 Oracle 基目錄中安裝 Oracle 軟件。請(qǐng)相應(yīng)調(diào)整 Oracle 主目錄或 Oracle 基目錄。

[WARNING] [INS-32055] 主產(chǎn)品清單位于 Oracle 基目錄中。

原因: 主產(chǎn)品清單位于 Oracle 基目錄中。

操作: Oracle 建議將此主產(chǎn)品清單放置在 Oracle 基目錄之外的位置中。

[FATAL] [INS-13013] 目標(biāo)環(huán)境不滿足一些必需要求。

原因: 不滿足一些必需的先決條件。有關(guān)詳細(xì)信息, 請(qǐng)查看日志。/tmp/OraInstall2016-09-20_10-41-12AM/installActions2016-09-20_10-41-12AM.log

操作: 從日志 /tmp/OraInstall2016-09-20_10-41-12AM/installActions2016-09-20_10-41-12AM.log 中確定失敗的先決條件檢查列表。然后, 從日志文件或安裝手冊(cè)中查找滿足這些先決條件的適當(dāng)配置, 并手動(dòng)進(jìn)行修復(fù)。

備注:fatal表示安裝失敗,需要重新安裝

warning信息??梢韵炔挥霉?/b>

部分日志信息:

Error Message:PRVF-7543 : 操作系統(tǒng)內(nèi)核參數(shù) "wmem_max" 在節(jié)點(diǎn) "chances127" 上沒(méi)有適當(dāng)?shù)闹?[應(yīng)為 = "1048576"; 找到 = "262144"]

Error?Message:PRVF-7543?:?操作系統(tǒng)內(nèi)核參數(shù)?"rmem_max"?在節(jié)點(diǎn)?"chances127"?上沒(méi)有適當(dāng)?shù)闹?[應(yīng)為?=?"4194304";?找到?=?"262144"]。

Error?Message:PRVF-7543?:?操作系統(tǒng)內(nèi)核參數(shù)?"ip_local_port_range"?在節(jié)點(diǎn)?"chances127"?上沒(méi)有適當(dāng)?shù)闹?[應(yīng)為?=?"between?9000?&?65500";?找到?=?"between?1024?&?65000"]。

Error?Message:PRVF-7543?:?操作系統(tǒng)內(nèi)核參數(shù)?"file-max"?在節(jié)點(diǎn)?"chances127"?上沒(méi)有適當(dāng)?shù)闹?[應(yīng)為?=?"6815744";?找到?=?"6553600"]。

INFO:?Cause:?內(nèi)核參數(shù)值不滿足要求。

:?Error?Message:PRVF-7543?:?操作系統(tǒng)內(nèi)核參數(shù)?"semmni"?在節(jié)點(diǎn)?"chances127"?上沒(méi)有適當(dāng)?shù)闹?[應(yīng)為?=?"128";?找到?=?"0"]。

INFO:?Cause:?內(nèi)核參數(shù)值不滿足要求。



1.2 修改進(jìn)程數(shù)和最大會(huì)話數(shù)

#vi /etc/security/limits.conf,行末添加以下內(nèi)容

oracle ??????????soft ???nproc ??2047

oracle ??????????hard ???nproc ??16384

oracle ??????????soft ???nofile ?1024

oracle ??????????hard ???nofile ?65536



:

以我的為例:


1.3關(guān)聯(lián)設(shè)置

#vi /etc/pam.d/login ? ?行末添加以下內(nèi)容

session ???required ????pam_limits.so


操作系統(tǒng)是x64的則為

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




以我的為例:


備注:我當(dāng)時(shí)安裝的時(shí)候,此配置配的是session? ? required? ? pam_limits.so,可能這也是導(dǎo)致安裝失敗的原因吧,由于是第一次安裝,不知道是不是這個(gè)原因


1.4 /etc/profile里添加如下,紅色為實(shí)際oracle用戶(行末添加即可)

export LIBXCB_ALLOW_SLOPPY_LOCK=true

if [ \$USER = "oracle" ]; then

if [ \$SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

umask 022

fi

unset i

在root用戶下,使用命令source profile使環(huán)境變量生效

#cd /etc

#source profile



以我的為例




說(shuō)明:

當(dāng)時(shí)此配置,我配置的內(nèi)容是:

#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

少了export LIBXCB_ALLOW_SLOPPY_LOCK=true以及unset i 當(dāng)時(shí)安裝沒(méi)有成功,不知道這個(gè)是不是其中一個(gè)原因


1.5 修改/etc/redhat-release文件,改成系統(tǒng)支持的版本

redhat-4


以我的為例:


說(shuō)明:

其實(shí)為什么要修改系統(tǒng)版本,我也不是很清楚,我也是安裝失敗了,查閱資料:

由于oracle10g發(fā)行的時(shí)候,centos6/7沒(méi)有發(fā)行,所以oracle10g并沒(méi)有對(duì)centos6/7確認(rèn)支持,需要修改文件讓oracle10g支持centos6/7.

編輯/etc/redhat-release文件

# vi /etc/redhat-release 將其中的內(nèi)容Centos Linux release 7.1.1503(Core) 修改為redhat 4

不過(guò)我現(xiàn)在安裝的是oracle11g,需不需要修改版本號(hào),我也不是很清楚,但是為了防止安裝失敗,我還是修改了版本號(hào)

第一次安裝,很多錯(cuò)誤和原因我也都很茫然,只能死馬當(dāng)活馬醫(yī)


1.6 修改主機(jī)名

vi /etc/hosts文件

127.0.0.1? localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 ????????localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.20.237 ?主機(jī)名

#hostname ? 主機(jī)名


以我的為例


上面的準(zhǔn)備工作做好之后,接下來(lái)開始安裝過(guò)程:

第一步:創(chuàng)建oracle用戶和用戶組

#groupadd oinstall (創(chuàng)建oinstall組)

#groupadd dba (創(chuàng)建dba組)

#useradd -g oinstall -G dba oracle ?(新建用戶oracle,設(shè)定其主組為oinstall,副組為dba)

#id oracle (檢查結(jié)果)


#passwd oracle (設(shè)置oracle用戶密碼)

第二步:創(chuàng)建oracle安裝目錄

#mkdir -p /opt/oracle_11g/product/110201/db_1


說(shuō)明:1 、我當(dāng)時(shí)執(zhí)行靜默安裝,報(bào)了如下錯(cuò)誤(其實(shí)是警告,可以不管的)

準(zhǔn)備從以下地址啟動(dòng) Oracle Universal Installer /opt/oracle_11g/u01/tmp/OraInstall2016-09-19_01-52-29PM. 請(qǐng)稍候...[oracle@chances127 database]$ [WARNING] [INS-32055] 主產(chǎn)品清單位于 Oracle 基目錄中。

原因:?主產(chǎn)品清單位于?Oracle?基目錄中。

操作:?Oracle?建議將此主產(chǎn)品清單放置在?Oracle?基目錄之外的位置中

? 2、根據(jù)警告信息:我又將創(chuàng)建好的product/110201/db_1刪除了,在opt目錄下創(chuàng)建了安裝目錄如:/opt/product/110201/db_1

特別要注意的是:創(chuàng)建安裝目錄最好不要一個(gè)個(gè)創(chuàng)建,以及最好也不要一個(gè)一個(gè)目錄進(jìn)行修改用戶和用戶組


原因:第一:麻煩不說(shuō),還容易出錯(cuò),oracle_11g目錄以及所有子目錄都要是oracle用戶和oinstall組


以我的為例:我當(dāng)時(shí)在/opt/目錄下重新創(chuàng)建了product 110201 db_1 三個(gè)目錄,由于是用root用戶進(jìn)行操作的,當(dāng)時(shí)沒(méi)有修改成oracle用戶和oinstall組。導(dǎo)致:執(zhí)行靜默安裝時(shí)報(bào)如下錯(cuò)誤:

準(zhǔn)備從以下地址啟動(dòng) Oracle Universal Installer /tmp/OraInstall2016-09-19_11-37-25AM. 請(qǐng)稍候...[oracle@chances127 database]$ [FATAL] [INS-32012] 無(wú)法創(chuàng)建目錄。

原因: 沒(méi)有授予創(chuàng)建目錄的正確權(quán)限, 或卷中沒(méi)有剩余空間。

操作: 請(qǐng)檢查您對(duì)所選目錄的權(quán)限或選擇另一個(gè)目錄。

此會(huì)話的日志當(dāng)前已保存為: /tmp/OraInstall2016-09-19_11-37-25AM/installActions2016-09-19_11-37-25AM.log。如果要保留此日志, Oracle 建議將它從臨時(shí)位置移動(dòng)到更持久的位置

我一直以為是/tmp空間不夠,tmp是根目錄下的一個(gè)目錄,不是一個(gè)分區(qū),對(duì)linux不是很懂,就不多說(shuō),我又重新指定了一個(gè)目錄

# vim /home/oracle

# ll -a?

# vim .bash_profile

添加下面連個(gè)變量:

export TEMP=/opt/oracle_11g/u01/tmp

export TMPDIR=/opt/oracle_11g/u01/tmp

u01和tmp是在oracel_11g目錄下新建的兩個(gè)目錄

但是執(zhí)行:./runInstaller -silent -responseFile還是報(bào)了錯(cuò)

準(zhǔn)備從以下地址啟動(dòng) Oracle Universal Installer /opt/oracle_11g/u01/tmp/OraInstall2016-09-19_11-37-25AM. 請(qǐng)稍候...[oracle@chances127 database]$ [FATAL] [INS-32012] 無(wú)法創(chuàng)建目錄。

原因: 沒(méi)有授予創(chuàng)建目錄的正確權(quán)限, 或卷中沒(méi)有剩余空間。

操作: 請(qǐng)檢查您對(duì)所選目錄的權(quán)限或選擇另一個(gè)目錄。

此會(huì)話的日志當(dāng)前已保存為: /opt/oracle_11g/u01/tmp/OraInstall2016-09-19_11-37-25AM/installActions2016-09-19_11-37-25AM.log。如果要保留此日志, Oracle 建議將它從臨時(shí)位置移動(dòng)到更持久的位置


檢查opt/oracle_11g/u01/tmp,用戶和用戶組已經(jīng)設(shè)置成oraclehe oinstall,最后又檢查了一下/opt/product/110201/db_1幾個(gè)目錄:發(fā)現(xiàn)product 110201 db_1三個(gè)目錄用戶和用戶組是root,最后又執(zhí)行:#chown oracle:oinstall product

# chown oracle:oinstall 110201

#chown oracle:oinstall db_1

發(fā)現(xiàn)一個(gè)問(wèn)題吧:

一個(gè)個(gè)設(shè)置是不是麻煩,還容易漏設(shè)置,所以按照下面兩步就搞定:

#mkdir -p /opt/oracle_11g/product/110201/db_1

#chown -R? oracle.oinstall /opt/oracle_11g/

特別聲明:我就是因?yàn)榫嫘畔⒄`導(dǎo),把目錄刪除移到基目錄外面重新創(chuàng)建產(chǎn)品目錄,導(dǎo)致新建的目錄又沒(méi)有修改用戶和用戶組,導(dǎo)致安裝oracle時(shí)。日志信息不能寫入到/tmp

product/110201/db_1目錄下的內(nèi)容是執(zhí)行:./runInstaller成功后自動(dòng)生成的

我安裝時(shí)創(chuàng)建的目錄結(jié)構(gòu)時(shí):

/opt/oracle_11g/(oraclea安裝壓縮包)

/opt/product/110201/db_1/(oracle安裝路徑)



第三步:改變oracle安裝目錄的用戶和用戶組

#chown -R? oracle.oinstall /opt/oracle_11g/

第四步:給安裝目錄賦予權(quán)限

#chmod -R 755 ?/opt/oracle_11g/

第五步:設(shè)置用戶環(huán)境變量


#vi /home/oracle/.bash_profile

export ORACLE_BASE=/opt/oracle_11g//軟件安裝基目錄

export ORACLE_SID=orcl ??//實(shí)例名

export ORACLE_HOME=$ORACLE_BASE/product/110201/db_1 //軟件安裝產(chǎn)品目錄

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

#source /home/oracle/.bash_profile 配置生效

#env |more 查看配置的環(huán)境變量是否正確

ORACLE_BASE下是admin和product

ORACLE_HOME下是ORACLE的命令、連接庫(kù)、安裝助手、listener等。

這只是ORACLE自己的定義習(xí)慣。ORACLE_HOME比ORACLE_BASE目錄要更深一些。也就是說(shuō):ORACLE_HOME=$ORACLE_BASE/product/version。

ORACLE_BASE是oracle的根目錄,ORACLE_HOME是oracle產(chǎn)品的目錄。

簡(jiǎn)單說(shuō),如果裝了2個(gè)版本的oracle,那么ORACLE_BASE可以是一個(gè),但ORACLE_HOME是2個(gè)。

全局?jǐn)?shù)據(jù)庫(kù)名用于區(qū)別分布式數(shù)據(jù)庫(kù)各個(gè)不同機(jī)器上的實(shí)例;SID用于區(qū)別同一臺(tái)機(jī)器上的不同實(shí)例。

即一個(gè)用于外部區(qū)分;一個(gè)用于內(nèi)部區(qū)分。

以我的為例:

說(shuō)明:下面是oracle10g安裝時(shí),設(shè)置的內(nèi)容

#vi home/sc-oracle/.bash_profile用oracle用戶編輯加入以下內(nèi)容

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

#For sc-Oracle

export ?ORACLE_BASE=/oracle;

export ?ORACLE_HOME=/oracle/product/db_1;

export ?ORACLE_SID=ORCL;

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin;

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/lib64/;

if [ $USER = "sc-oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

#PATH=$PATH:$HOME/bin

#export PATH

使環(huán)境變量生效

$ source .bash_profile

但是我安裝時(shí)是用root用戶添加的,且export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/lib64/;與我設(shè)置的export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib有點(diǎn)不一樣,不知道有沒(méi)有影響,但是我安裝成功了

到此配置結(jié)束:下面正式開始o(jì)racle安裝吧:

第一步:將oracle11g安裝壓縮包上傳至/opt/oracle_11g/目錄下

第二步:解壓縮

#unzip linux_11gR2_database_1of2.zip

#unzip linux_11gR2_database_2of2.zip


說(shuō)明:上面兩個(gè)壓縮包要放在同一個(gè)目錄下解壓縮

如果有人嘗試:將這兩個(gè)壓縮包放到不同目錄下解壓縮,解壓后的文件都是database文件,有人如果疑問(wèn):在同一個(gè)目錄下解壓縮database不會(huì)被覆蓋嗎?其實(shí)則不然:這個(gè)兩個(gè)壓縮包解壓出來(lái)是同一個(gè)文件,只是把一個(gè)大的文件分成了兩個(gè)部分

第三步:編輯oracle數(shù)據(jù)庫(kù)安裝應(yīng)答文件

1 在/opt/oracle_11g/database/response目錄下有三個(gè)應(yīng)答文件


2# vi? db_install.rsp修改以下內(nèi)容:

供參考:

RESPONSEFILE_VERSION=2.2.1.0.0

UNIX_GROUP_NAME="oinstall"

ORACLE_HOME_NAME="OraDb10g_home1"

ORACLE_HOME="/oracle/product/db_1"

SHOW_INSTALL_PROGRESS_PAGE= true

SHOW_END_OF_INSTALL_MSGS= true

COMPONENT_LANGUAGES={"zh_CN"}

s_nameForDBAGrp= "dba"

s_nameForOPERGrp="dba"

INSTALL_TYPE="EE"

n_configurationOption=3

RESTART_SYSTEM=false

RESTART_REMOTE_SYSTEM=false


以我的為例:


oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

ORACLE_HOSTNAME=chances127

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/opt/oracle_11g/oraInventory

SELECTED_LANGUAGES=en,zh_CN,zh_TW

ORACLE_HOME=/opt/product/110201/db_1

ORACLE_BASE=/opt/oracle_11g

oracle.install.db.InstallEdition=EE

oracle.install.db.isCustomInstall=true

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=oinstall

oracle.install.db.CLUSTER_NODES=

oracle.install.db.config.starterdb.characterSet=AL32UTF8

oracle.install.db.config.starterdb.memoryOption=true

oracle.install.db.config.starterdb.memoryLimit=512

oracle.install.db.config.starterdb.installExampleSchemas=false

oracle.install.db.config.starterdb.enableSecuritySettings=true

oracle.install.db.config.starterdb.password.ALL=oracle

oracle.install.db.config.starterdb.password.SYS=

oracle.install.db.config.starterdb.password.SYSTEM=

oracle.install.db.config.starterdb.password.SYSMAN=

oracle.install.db.config.starterdb.password.DBSNMP=

oracle.install.db.config.starterdb.control=DB_CONTROL

oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=

oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false

oracle.install.db.config.starterdb.dbcontrol.emailAddress=

oracle.install.db.config.starterdb.dbcontrol.SMTPServer=

oracle.install.db.config.starterdb.automatedBackup.enable=false

oracle.install.db.config.starterdb.automatedBackup.osuid=

oracle.install.db.config.starterdb.storageType=

oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=

oracle.install.db.config.asm.diskGroup=

oracle.install.db.config.asm.ASMSNMPPassword=

MYORACLESUPPORT_USERNAME=

MYORACLESUPPORT_PASSWORD=

SECURITY_UPDATES_VIA_MYORACLESUPPORT=

PROXY_PORT=

PROXY_PWD=


上面的參數(shù)不是都要修改的,按照我上面供參考的參數(shù)進(jìn)行修改就ok了,其他參數(shù)沒(méi)有的值的可以不用管


第四步:以上提到的所有操作都是在root用戶下進(jìn)行操作的:

下面開始要正式安裝oracle了,所以先要切換至oracle用戶:

# su - oracle

進(jìn)入到/opt/oracle_11g/database下執(zhí)行靜默安裝:

#cd /opt/oracle_11g/database


第一步:靜默安裝

# ./runInstaller -silent -responseFile ?/opt/oracle_11g/database/response/db_install.rsp


注意文件位置視自己剛剛修改的文件位置而定

這時(shí)如果報(bào)錯(cuò)類似這樣的錯(cuò):



解決辦法:如果沒(méi)有指定目錄,則默認(rèn)日志寫入到/tmp下

第一,先檢查/tmp所在分區(qū)空間大小是否大于60兆

第二:檢查product/110201/db_1 目錄用戶和用戶組是否是oracle和oinstall

第三:檢查/tmp有無(wú)寫入權(quán)限

上述的報(bào)錯(cuò):我是重新指定oracle安裝日志的寫入目錄,但是還是提示不能寫入或空間不夠,最后原因:是因?yàn)椋何抑鞍裵roduct/110201/db_1刪除,到基目錄外重新創(chuàng)建此目錄,沒(méi)有修改此目錄的用戶和用戶組,最后將此目錄修改成oracle用戶,變可解決此問(wèn)題

不過(guò),找到問(wèn)題原因了,我就將指定的目錄給注釋掉了


再重新執(zhí)行:

# ./runInstaller -silent -responseFile? /opt/oracle_11g/database/response/db_install.rsp

發(fā)現(xiàn)沒(méi)有上述報(bào)錯(cuò),但如果又出現(xiàn)其他報(bào)錯(cuò)如:


根據(jù)報(bào)錯(cuò)原因:到日志目錄下,找到原因:

第一:內(nèi)核參數(shù)監(jiān)測(cè)不過(guò)

第二:依賴包沒(méi)有裝全

參數(shù)的問(wèn)題:

其實(shí)內(nèi)核參數(shù)我都是設(shè)置好了的,不知道為什么再次檢查內(nèi)核參數(shù)的時(shí)候,發(fā)現(xiàn)丟失了,之后又再重新設(shè)置了一遍

依賴包的問(wèn)題:

libstdc++-3.4.6 (i386)

libgcc-3.4.6?(i386)

libaio-devel-0.3.105?(i386)

compat-libstdc++-33-3.2.3?(i386)

glibc-2.3.4-2.41?(i686)

unixODBC-devel-2.2.11

pdksh-5.2.14

發(fā)現(xiàn)少了上述的依賴包:而且這些依賴還是32位的,其實(shí)我的系統(tǒng)是64位的,oracle11g也是64位的,這些依賴包我也是都裝了的,只是oracle11g不認(rèn)

原來(lái)是因?yàn)椋簅racle11g安裝,不僅要依賴64位的

還要依賴32位的,而centos使用yum安裝這些依賴的包的時(shí)候,是不去區(qū)分你安裝的是32位的還是64位的,centos是64位的,yum安裝自然 默認(rèn)裝的是64位的,所以這是oracle自己的一個(gè)認(rèn)證漏洞:

解決辦法:

在oracle里面有一個(gè)cvu_prereq.xml文件

#vim cvu_prereq.xml

找到i386,將其全部改成i686

再執(zhí)行yum安裝上述依賴包

#yum install libgcc.i686(其他依賴包也是這么安裝)

注意:

pdksh依賴包,在centos7里不叫此名,而是ksh(特別要注意)

compat-libstdc這個(gè)依賴使用yum是找不到的,所以這個(gè)安裝包,我當(dāng)時(shí)是自己去下載的

我的百度云盤有這個(gè)依賴包


好了解決上述問(wèn)題后,再重新執(zhí)行以下吧

# ./runInstaller -silent -responseFile? /opt/oracle_11g/database/response/db_install.rsp



[oracle@chances127?database]$?./runInstaller?-silent?-responseFile??/opt/oracle_11g/database/response/db_install.rsp

正在啟動(dòng)?Oracle?Universal?Installer...

檢查臨時(shí)空間:?必須大于?120?MB。???實(shí)際為?286724?MB????通過(guò)

檢查交換空間:?必須大于?150?MB。???實(shí)際為?16383?MB????通過(guò)

準(zhǔn)備從以下地址啟動(dòng)?Oracle?Universal?Installer?/tmp/OraInstall2016-09-20_11-09-22AM.?請(qǐng)稍候...[oracle@chances127?database]$?[WARNING]?[INS-32018]?所選?Oracle?主目錄位于?Oracle?基目錄外部。

原因:?所選?Oracle?主目錄位于?Oracle?基目錄外部。

操作:?Oracle?建議在?Oracle?基目錄中安裝?Oracle?軟件。請(qǐng)相應(yīng)調(diào)整?Oracle?主目錄或?Oracle?基目錄。

[WARNING]?[INS-32055]?主產(chǎn)品清單位于?Oracle?基目錄中。

原因:?主產(chǎn)品清單位于?Oracle?基目錄中。

操作:?Oracle?建議將此主產(chǎn)品清單放置在?Oracle?基目錄之外的位置中。

[WARNING]?[INS-13014]?目標(biāo)環(huán)境不滿足一些可選要求。

原因:?不滿足一些可選的先決條件。有關(guān)詳細(xì)信息,?請(qǐng)查看日志。/tmp/OraInstall2016-09-20_11-09-22AM/installActions2016-09-20_11-09-22AM.log

操作:?從日志?/tmp/OraInstall2016-09-20_11-09-22AM/installActions2016-09-20_11-09-22AM.log?中確定失敗的先決條件檢查列表。然后,?從日志文件或安裝手冊(cè)中查找滿足這些先決條件的適當(dāng)配置,?并手動(dòng)進(jìn)行修復(fù)。

[WARNING]?[INS-32018]?所選?Oracle?主目錄位于?Oracle?基目錄外部。

原因:?所選?Oracle?主目錄位于?Oracle?基目錄外部。

操作:?Oracle?建議在?Oracle?基目錄中安裝?Oracle?軟件。請(qǐng)相應(yīng)調(diào)整?Oracle?主目錄或?Oracle?基目錄。

[WARNING]?[INS-32055]?主產(chǎn)品清單位于?Oracle?基目錄中。

原因:?主產(chǎn)品清單位于?Oracle?基目錄中。

操作:?Oracle?建議將此主產(chǎn)品清單放置在?Oracle?基目錄之外的位置中。

[WARNING]?[INS-13014]?目標(biāo)環(huán)境不滿足一些可選要求。

原因:?不滿足一些可選的先決條件。有關(guān)詳細(xì)信息,?請(qǐng)查看日志。/tmp/OraInstall2016-09-20_11-09-22AM/installActions2016-09-20_11-09-22AM.log

操作:?從日志?/tmp/OraInstall2016-09-20_11-09-22AM/installActions2016-09-20_11-09-22AM.log?中確定失敗的先決條件檢查列表。然后,?從日志文件或安裝手冊(cè)中查找滿足這些先決條件的適當(dāng)配置,?并手動(dòng)進(jìn)行修復(fù)。

可以在以下位置找到本次安裝會(huì)話的日志:

/opt/oracle_11g/oraInventory/logs/installActions2016-09-20_11-09-22AM.log

[oracle@chances127?database]$

[oracle@chances127?database]$?以下配置腳本需要以?"root"?用戶的身份執(zhí)行。

#!/bin/sh

#要運(yùn)行的?Root?腳本

/opt/oracle_11g/oraInventory/

orainstRoot.sh

/opt/product/110201/db_1/

root.sh

要執(zhí)行配置腳本,?請(qǐng)執(zhí)行以下操作:

1.?打開一個(gè)終端窗口

2.?以?"root"?身份登錄

3.?運(yùn)行腳本

4.?返回此窗口并按?"Enter"?鍵繼續(xù)

Successfully?Setup?Software.


看到安裝結(jié)果信息,好多警告,以為沒(méi)安裝成功,但是查閱資料:

只要看到Successfully Setup Software.表明oracle安裝成功了



第二步:執(zhí)行腳本

按照上面的安裝成功信息提示:

?切換至root用戶分別執(zhí)行信息中提到的腳本

1 執(zhí)行腳本orainstRoot.sh

#/opt/oracle_11g/oraInventory/orainstRoot.sh

2 執(zhí)行腳本root.sh?

#/opt/product/110201/db_1/root.sh


第三步:安裝監(jiān)聽

編輯oracle安裝目錄下的netca.rsp應(yīng)答文件,地址為:/database/response/netca.rsp,主要查看以下參數(shù)配置:

INSTALL_TYPE=""custom""安裝的類型

LISTENER_NUMBER=1監(jiān)聽器數(shù)量

LISTENER_NAMES={"LISTENER"}監(jiān)聽器的名稱列表

LISTENER_PROTOCOLS={"TCP;1521"}監(jiān)聽器使用的通訊協(xié)議列表

LISTENER_START=""LISTENER""監(jiān)聽器啟動(dòng)的名稱

運(yùn)行安裝命令:

#/opt/product/110201/db_1/bin/netca? /silent /responseFile? /opt/oracle_11g/database/response/netca.rsp



第四步:添加數(shù)據(jù)庫(kù)實(shí)例

1、修改/database/response/dbca.rsp(就是解壓安裝文件目錄下的)


根據(jù)數(shù)據(jù)庫(kù)建立方式的不同編輯不同的數(shù)據(jù)庫(kù)庫(kù)選項(xiàng)。

比如在本次安裝過(guò)程中設(shè)置了下列參數(shù):(注意下面參數(shù)視情況而定啦不要照抄該選項(xiàng)原文件都有說(shuō)明的)

RESPONSEFILE_VERSION = "10.0.0"

OPERATION_TYPE = "createDatabase"

GDBNAME = "ORCL" --數(shù)據(jù)庫(kù)全局名稱

SID = "ORCL" ?--這個(gè)sid必須要和前面的/home/oracle/.bash_profile文件中的sid相同

TEMPLATENAME = "New_Database.dbt"

SYSPASSWORD = "ches"用戶的初始密碼

SYSTEMPASSWORD = "ches"初始密碼

DATAFILEDESTINATION ="/oracle/oradata/"

RECOVERYAREADESTINATION="/oracle/flash_recovery_area"

STORAGETYPE=FS

CHARACTERSET = "ZHS16GBK"--數(shù)據(jù)庫(kù)字符集(中文為ZHS16GBK)

MEMORYPERCENTAGE = "40"

SCRIPTDESTINATION ="/oracle/admin/ora10g/scripts"

EMCONFIGURATION=”LOCAL”

SYSMANPASSWORD = "ches”

DBSNMPPASSWORD = "ches”



以我的為例:(只是部分參數(shù),其他的參考上面給的參數(shù)即可)

DATAFILEDESTINATION="/opt/oracle_11g/oracledata/"

RECOVERYAREADESTINATION="/opt/oracle_11g/flash_recovery_area"

CHARACTERSET="ZHS16GBK"

NATIONALCHARACTERSET= "UTF8"

TEMPLATENAME="General_Purpose.dbc”

2 安裝

#/opt/product/110201/db_1/bin/dbca - silent? - responseFile? /opt/oracle_11g/database/response/dbca.rsp


如果報(bào)錯(cuò):類似下圖中的錯(cuò)誤:

解決辦法:

#export DISPLAY=IP:1.0

ip填寫服務(wù)器的ip

再重新安裝一次:

#/opt/product/110201/db_1/bin/dbca - silent? - responseFile? /opt/oracle_11g/database/response/dbca.rsp


可以發(fā)現(xiàn)上述錯(cuò)誤解決了 ,但是如果又有新的報(bào)錯(cuò):如下:


解決辦法:

/opt/product/110201/db_1/assistants/dbca/templates到這個(gè)目錄下添加存在的模板

修改/database/response/dbca.rsp,將TEMPLATENAME都要換掉,換成:General_Purpose.dbc


再重新安裝一次:

安裝成功!

第五步:?jiǎn)?dòng)監(jiān)聽

到bin目錄下啟動(dòng)監(jiān)聽:

/opt/product/110201/db_1/bin

bin#./lsnrctl start

如果報(bào)下面錯(cuò)誤:

TNS-01106: Message 1106 not found; No message file for product=network, facility=TNS ? [LISTENER]


解決辦法:

查看監(jiān)聽程序的配置文件

cat /opt/product/110201/db_1/network/admin/listener.ora

添加:(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))



以我的為例;

我的listener.ora文件多了一個(gè)配置:

SID_LIST_LSNR =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = orcl)

(ORACLE_HOME = /opt/product/110201/db_1)

(SID_NAME = orcl)

)

)


其實(shí)我也不知道這個(gè)要不要加上去,只是我啟動(dòng)監(jiān)聽始終報(bào)下面這個(gè)錯(cuò):所以多加了一個(gè)配置

TNS-01106: Message 1106 not found; No message file for product=network, facility=TNS ? [LISTENER]


我重新登陸服務(wù),再次啟動(dòng)監(jiān)聽:

bin#./lsnrctl start



發(fā)現(xiàn)啟動(dòng)成功!

通過(guò)查看監(jiān)聽狀態(tài):

status ready表示oracle服務(wù)是正長(zhǎng)啟動(dòng)的

第六步:?jiǎn)?dòng)數(shù)據(jù)庫(kù)實(shí)例:

到這個(gè)目錄下啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例:

/opt/product/110201/db_1/bin

bin#./dbstart

如果報(bào)如下錯(cuò)誤:

請(qǐng)檢查oracle_home路徑是否正確,如果路徑?jīng)]問(wèn)題,一定是/etc/oratab文件路徑寫錯(cuò)了



果不其然:路徑與oracle_home不一致(但是是我從別的地方copy過(guò)來(lái)的,忘記改路徑了)



再重新啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例:



發(fā)現(xiàn)啟動(dòng)成功!


第七步:設(shè)置開始自動(dòng)


1 修改$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut文件:

$vi $ORACLE_HOME/bin/dbstart

$vi $ORACLE_HOME/bin/dbshut

找到ORACLE_HOME_LISTNER=$1,修改為ORACLE_HOME_LISTNER=$ORACLE_HOME



2修改/etc/oratab文件

$ vi /etc/oratab

找到最后一行:

orcl:/opt/product/110201/db_1:N

最后設(shè)置的是“N”(此環(huán)境只有一個(gè)實(shí)例,所以只有一行配置語(yǔ)句),需要把“N”修改成“Y”。保存退出。



3修改/etc/rc.d/rc.local文件


把emctl start dbconsole 、lsnrctl start和dbstart添加到rc.local文件中,命令如下:

#vi /etc/rc.d/rc.local

添加:

su oracle -lc "home/oracle_11/app/product/11.2.0/dbhome_1/bin/emctl start dbconsole" ??//填寫可執(zhí)行程序的完整路徑,填寫$ORACLE_HOME/bin/環(huán)境變量加目錄加可執(zhí)行程序不行,不知道為什么

su oracle -lc " home/oracle_11/app/product/11.2.0/dbhome_1/bin/lsnrctl start "

su oracle -lc ?home/oracle_11/app/product/11.2.0/dbhome_1/bin/dbstart

注意:命令有空格,要用引號(hào)


以我的為例:




#reboot重啟服務(wù)監(jiān)測(cè)是否可以開機(jī)自啟動(dòng):

發(fā)現(xiàn)是不能開機(jī)自啟動(dòng)的:

如果是在以前的centos版本中,這樣就可以了。但是centos7 的/etc/rc.local不會(huì)開機(jī)執(zhí)行

可以了。

原因:

所以解決辦法:

1 確認(rèn)了/etc/rc.local的權(quán)限



到此:oracel11g安裝以及配置就全部完成了!

接下就可以用oracle客戶端連接數(shù)據(jù)庫(kù)了





歷史遺留問(wèn)題:

本次安裝采用的是靜默安裝

1 開始是采用圖形界面安裝:但是執(zhí)行xhost+一直報(bào)錯(cuò):

xhost:? unable to open display ""

給的解決辦法都是export DISPLAY=localhost:1,但是設(shè)置了還是不行

這個(gè)問(wèn)題,現(xiàn)在暫時(shí)無(wú)解決辦法


2 啟動(dòng)控制臺(tái)em一直報(bào)錯(cuò):這個(gè)問(wèn)題現(xiàn)在也無(wú)解決辦法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容