Oracle11G_CentOS 6.5以上靜默安裝手冊

說明:實驗過的版本:CentOS 6.5 和 CentOS 7

1.硬件檢查

內存大于1G(使用虛擬機安裝時內存要稍微大一些,否則安裝檢查不通過)

查看內存大小#cat?/proc/meminfo

交換分區是內存的1.5倍,可根據實際情況調整

查看交換分區大小#grepSwapTotal/proc/meminfo

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

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

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

2.軟件檢查,安裝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軟件包名稱

3 操作系統準備工作

關閉防火墻

#chkconfig?iptables?off??//永久關閉防火墻或

#service?iptabels?stop??//暫時關閉防火墻,重啟系統后會自動打開

關閉selinux

[root@CentOS?tmp]#vim?/etc/selinux/config

設置SELINUX=disabled

在/etc/hosts文件中添加主機名

[root@CentOS?tmp]#vim?/etc/hosts

添加192.168.206.135?CentOS

127.0.0.1???localhost?localhost.localdomain?localhost4?localhost4.localdomain4

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

192.168.220.158chances

#hostname

顯示chances

4創建安裝用戶、組、目錄

4.1創建安裝用戶和組

root@CentOS?tmp]#groupadd?oinstall

[root@CentOS?tmp]#groupadd?dba

[root@CentOS?tmp]#useradd?-g?oinstall?-G?dba?oracle

[root@CentOS?tmp]#passwd?oracle

[root@CentOS?tmp]#id?oracle

uid=1001(oracle)?gid=1001(oinstall)組=1001(oinstall),1002(dba)

4.2創建軟件安裝目錄

[root@CentOS?~]#mkdir?-p?/opt/oracle/product/112010/db_1

[root@CentOS?~]#mkdir?/opt/oracle/oradata

[root@CentOS?~]#mkdir?/opt/oracle/raInventory

[root@CentOS?~]#mkdir?/opt/oracle/flash_recovery_area

[root@CentOS?~]#chown?-R?oracle:oinstall?/opt/oracle

[root@CentOS?~]#chmod?-R?775?/opt/oracle

4.3修改用戶環境變量

#vi?home/sc-oracle/.bash_profile用oracle用戶編輯加入以下內容

#?.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

#?For?Oracle

export??ORACLE_BASE=/opt/oracle;

export??ORACLE_HOME=/opt/oracle/product/112010/db_1

export??ORACLE_SID=ORCL;

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

export?LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

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

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

ulimit?-p?16384

ulimit?-n?65536

else

ulimit?-u?16384?-n?65536

fi

fi

使環境變量生效

$?source?.bash_profile

查看命令:$?env

5配置系統環境

5.1修改內核參數

#vi?/etc/sysctl.conf?,在行末添加以下內容

kernel.shmall?=?4294967296

kernel.shmmni?=?4096

kernel.sem?=?250?32000?100?128

fs.file-max?=?6553600

net.ipv4.ip_local_port_range?=?1024?65000

net.core.rmem_default=262144

net.core.rmem_max=262144

net.core.wmem_default=262144

net.core.wmem_max=262144

運行sysctl?-p應用以上參數

5.2修改進程數和最大會話數

#vi?/etc/security/limits.conf行末添加以下內容

#use?fororacle

oraclesoft?nproc?2047

oraclehard?nproc?16384

oraclesoft?nofile?1024

oraclehard?nofile?65536

紅色部分為實際oracle用戶

5.3關聯設置

#vi?/etc/pam.d/login行末添加以下內容:

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

session??required???pam_limits.so

5.4修改/etc/profile

[root@CentOS?~]#?vim?/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

在root用戶下,使用命令source?profile使環境變量生效

#source/etc/profile

6正式安裝

6.1解壓oracle安裝文件

Oracle?11g安裝包:將安裝包上傳至服務器/opt/oracle/?下面,這兩個包屬于oracle用戶

linux.x64_11gR2_database_1of2.zip、

linux.x64_11gR2_database_2of2.zip

安裝包解壓命令(使用oracle用戶解壓?)

$unzip?linux.x64_11gR2_database_1of2.zip

$unziplinux.x64_11gR2_database_2of2.zip

解壓完成后/opt/oracle下會生成database目錄

6.2編輯oracle數據庫安裝應答文件

1、/opt/oracle/database/response下有有db_install.rsp、dbca.rsp和netca.rsp三個應答文件,分別數據庫安裝文件、建立數據庫實例和監聽配置安裝文件

Vidb_install.rsp

修改以下內容

oracle.install.option=INSTALL_DB_SWONLY??//29?行?安裝類型

ORACLE_HOSTNAME=chances?//37?行?主機名稱

UNIX_GROUP_NAME=oinstall?//42?行?安裝組

INVENTORY_LOCATION=/opt/oracle/oraInventory?//47?行?INVENTORY目錄

SELECTED_LANGUAGES=zh_CN?//78?行?選擇語言

ORACLE_HOME=/opt/oracle/product/112010/db_1?//83?行?oracle_home

ORACLE_BASE=/opt/oracle?//88?行?oracle_base

oracle.install.db.InstallEdition=EE?//99?行?oracle版本

oracle.install.db.isCustomInstall=true?//108行?自定義安裝

oracle.install.db.DBA_GROUP=dba?//142行?dba用戶組

oracle.install.db.OPER_GROUP=oinstall?//147行?oper用戶組

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE?//160行?數據庫類型

oracle.install.db.config.starterdb.globalDBName=orcl?//165行?globalDBName

oracle.install.db.config.starterdb.SID=orcl?//170行?SID

oracle.install.db.config.starterdb.memoryLimit=512?//192行?自動管理內存的最小內存(M)

oracle.install.db.config.starterdb.password.ALL=oracle?//233行?設定所有數據庫用戶使用同一個密碼

DECLINE_SECURITY_UPDATES=true?//385行?設置安全更新

進行靜默安裝Oracle軟件

環境變量都要參照前面定義好的來填

6.3安裝

使用oracle用戶安裝

#su-oracle

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

接下來就是等待(有點長,不要著急),安裝過程中,如果提示[WARNING]不必理會,此時安裝程序仍在后臺進行,如果出現[FATAL],則安裝程序已經停止了。

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

/optoracle/oraInventory/logs/installActions2015-06-08_04-00-25PM.log

當出現以下提示時,代表安裝成功:

按照要求執行腳本。

打開終端,以root身份登錄,執行腳本:

[root@CentOS?~]#/opt/oracle/inventory/orainstRoot.sh

[root@CentOS?~]#/opt/oracle/product/112010/root.sh

6.4以靜默方式配置監聽

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

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

LISTENER_NUMBER=1監聽器數量

LISTENER_NAMES={"LISTENER"}監聽器的名稱列表

LISTENER_PROTOCOLS={"TCP;1521"}監聽器使用的通訊協議列表

LISTENER_START=""LISTENER""監聽器啟動的名稱

運行安裝命令:

$ORACLE_HOME/bin/netca?/silent?/responseFile?/home/oracle/database/response/netca.rsp

成功運行后,在/opt/oracle/product/112010/network/admin/中生成listener.ora和sqlnet.ora

通過netstat命令可以查看1521端口正在監聽。

Yum安裝netstat軟件,軟件包是在net-tools中。

[root@CentOS?~]#yum?install?net-tools

[root@CentOS?~]#netstat?-tnulp?|?grep?1521

6.5增加數據庫實例

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

根據數據庫建立方式的不同編輯不同的數據庫庫選項。

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

RESPONSEFILE_VERSION?="11.2.0"http://不能更改

OPERATION_TYPE?="createDatabase"

GDBNAME?="orcl"http://數據庫的名字

SID?="orcl"http://對應的實例名字

TEMPLATENAME?="General_Purpose.dbc"http://建庫用的模板文件

SYSPASSWORD?="oracle"http://SYS管理員密碼

SYSTEMPASSWORD?="oracle"http://SYSTEM管理員密碼

DATAFILEDESTINATION?=/opt/oracle/oradata//數據文件存放目錄

RECOVERYAREADESTINATION=/opt/oracle/flash_recovery_area//恢復數據存放目錄

CHARACTERSET?="ZHS16GBK"/字符集,重要!!!建庫后一般不能更改,所以建庫前要確定清楚。

TOTALMEMORY?="512"http://oracle內存5120MB

2、安裝

[oracle@cms-1database]$$ORACLE_HOME/bin/dbca?-silent?-responseFile?/opt/oracle/database/response/dbca.rsp

Copying database files

1%?complete

4%?complete

Creating?database?files

8%?complete

28%?complete

42%?complete

Adding?Oracle?XML?DB

52%?complete

58%?complete

Adding?Oracle?Intermedia

Adding?Oracle?OLAP

72%?complete

78%?complete

Completing?Database?Creation

89%?complete

99%?complete

100%?complete

Look?at?the?log?file?"/opt/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/orcl/orcl.log"?for?further?details.

最后提示創建成功后

3、修改vi?/etc/oratab

ora10g:/oracle/product/10.2.0.1/db_1:N

改為:

ora10g:/oracle/product/10.2.0.1/db_1:Y

6.6 驗證

[sc-oracle@cms-1?~]$ORACLE_HOME/bin/dbstart

[sc-oracle@cms-1?~]$?sqlplus?/?as?sysdba

SQL*Plus:?Release?10.2.0.1.0?-?Production?on?Fri?May?24?18:21:20?2013

Copyright?(c)?1982,?2005,?Oracle.??All?rights?reserved.

Connected?to:

Oracle?Database?10g?Enterprise?Edition?Release?10.2.0.1.0?-?64bit?Production

With?the?Partitioning,?OLAP?and?Data?Mining?options

SQL> startup

此時,有可能會報ORA-01078:initorcl.ora找不到,那就去看下方的錯誤處理。

SQL> quit

最后達到的效果:

啟動
關閉

6.7創建視圖

[sc-oracle@cms-1?~]$?sqlplus?/?as?sysdba

@/opt/oracle/product/10.2.0/rdbms/admin/catalog.sql;

@/opt/oracle/product/10.2.0/rdbms/admin/catexp7.sql;

@/opt/oracle/product/10.2.0/rdbms/admin/catblock.sql;

@/opt/oracle/product/10.2.0/rdbms/admin/catproc.sql;

@/opt/oracle/product/10.2.0/rdbms/admin/catoctk.sql;

換system?登陸(#connectSYSTEM/oracle),設置的system的密碼為?oracle

@/opt/oracle/product/10.2.0/rdbms/admin/owminst.plb;@/opt/oracle/product/10.2.0/sqlplus/admin/pupbld.sql;

@/opt/oracle/product/10.2.0/sqlplus/admin/help/hlpbld.sql;(param:helpus)--//.sql)

至此:終于完了。

7 錯誤處理

如在安裝過程中碰到以下錯誤,下面的信息可參考

7.1ORA-01078

[oracle@chances~]$?sqlplus?/?as?sysdba

SQL*Plus:?Release?11.2.0.1.0?Production?on?Sat?Feb?16?19:43:43?2013

Copyright?(c)?1982,?2009,?Oracle.?All?rights?reserved.

Connected?to?an?idle?instance.

SQL>?startup

ORA-01078:failure?in?processing?system?parameters

LRM-00109:?could?not?open?parameter?file?'/opt/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora'

原理:在oracle9i和oracle10g中,數據庫默認將使用spfile啟動數據庫,如果spfile不存在,則就會出現上述錯誤

解決方案:

[oracle@chances?~]$

把/opt/oracle/product/112010/db_1/dbs/init.ora

復制到同級目錄并改名為init***.ora

修改新參數文件里面的<$ORACLE_HOME>為絕對路徑,然后把db_name之類的東西改成自己創建的數據庫名稱的就好。

然后重新啟動:

[sc-oracle@cms-1?~]$?sqlplus?/?as?sysdba

SQL*Plus:?Release?10.2.0.1.0?-?Production?on?Fri?May?24?18:21:20?2013

Copyright?(c)?1982,?2005,?Oracle.??All?rights?reserved.

Connected?to:

Oracle?Database?10g?Enterprise?Edition?Release?10.2.0.1.0?-?64bit?Production

With?the?Partitioning,?OLAP?and?Data?Mining?options

SQL>?startup

此時有可能會報:

ORA-00205:error?in?identifying?control?file?,check?alert?log?for?more?info

7.2ORA-00205

ORA-00205:error?in?identifying?control?file?,check?alert?log?for?more?info

解決方法:

報錯說控制文件有錯,讓去看日志,先去看日志:

cd$ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/alert

catlog.xml

一般會發現:

大概就是控制文件的問題,去相應的目錄下看文件也不存在,原因就是我們只是創建了數據庫實例,沒有創建數據庫,我們要手動創建數據庫,生成啟動數據庫的文件,比如:/opt/oracle/product/112010/db_1/dbs/下面的控制文件?和/opt/oracle_11/oradata/orcl/下面的數據文件:

把下方的建庫腳本復制到orcl.sql里面上傳到服務器

CREATE?DATABASE?orcl

USER?SYS?IDENTIFIED?BY?sys

USER?SYSTEM?IDENTIFIED?BY?system

LOGFILE

GROUP?1?('/opt/oracle_11/oradata/orcl/redo01.log')?SIZE?1024M,

GROUP?2?('/opt/oracle_11/oradata/orcl/redo02.log')?SIZE?1024M,

GROUP?3?('/opt/oracle_11/oradata/orcl/redo03.log')?SIZE?1024M,

GROUP?4?('/opt/oracle_11/oradata/orcl/redo04.log')?SIZE?1024M,

GROUP?5?('/opt/oracle_11/oradata/orcl/redo05.log')?SIZE?1024M

MAXLOGFILES?5

MAXLOGMEMBERS?5

MAXLOGHISTORY?200

MAXDATAFILES?10000

MAXINSTANCES?1

CHARACTER?SET?AL32UTF8

NATIONAL?CHARACTER?SET?AL16UTF16

datafile??'/opt/oracle_11/oradata/orcl/system01.dbf'??size?2048M??REUSE

EXTENT?MANAGEMENT?LOCAL

sysaux?datafile?'/opt/oracle_11/oradata/orcl/sysaux01.dbf'?size?2048M?REUSE

default?temporary?tablespace?temp

tempfile?'/opt/oracle_11/oradata/orcl/temp01.dbf'?size?2048M?REUSE

undo?tablespace?UNDOTBS1

datafile?'/opt/oracle_11/oradata/orcl/undotbs01.dbf'?size?4096M??REUSE

AUTOEXTEND?off

default?tablespace?DATA

datafile?'/opt/oracle_11/oradata/orcl/data01.dbf'?size?8192M??REUSE

EXTENT?MANAGEMENT?LOCAL

SEGMENT?SPACE?MANAGEMENT?AUTO;

然后重新啟動:

[sc-oracle@cms-1?~]$?sqlplus?/?as?sysdba

SQL*Plus:?Release?10.2.0.1.0?-?Production?on?Fri?May?24?18:21:20?2013

Copyright?(c)?1982,?2005,?Oracle.??All?rights?reserved.

Connected?to:

Oracle?Database?10g?Enterprise?Edition?Release?10.2.0.1.0?-?64bit?Production

With?the?Partitioning,?OLAP?and?Data?Mining?options

SQL>?startupnomount?(這個命令是啟動實例,但是不啟動數據庫,一般創建數據庫的時候用這?個命令)

SQL>@??/*****/orcl.sql

執行完之后會告訴你數據庫創建完畢

這時候再用?startup?命令就不會報錯了。

7.3ORA-01102

報錯:

SQL>?startup?mount

ORACLE?instance?started.

Total?System?Global?Area??608174080?bytes

Fixed?Size?????????????????1220844?bytes

Variable?Size????????????176164628?bytes

Database?Buffers??????427819008?bytes

Redo?Buffers?????????????2969600?bytes

ORA-01102:cannot?mount?database?in?EXCLUSIVE?mode

解決方案:

[oracle@chances~]$?ls?lk*

/oracle/oracle/product/?112010/db_1/dbs/lkSIMPLY

lkSIMPLYstartup

lk文件沒有被刪除。將它刪除掉

[oracle@chances~]$?rm?lk*

參考資料:http://hi.baidu.com/120001240/item/abeda41f8c3102e787ad4e01

7.4ORA-01079

ORA-01079:?ORACLE?database?was?not?properly?created,?operation?aborted

原因是數據庫創建失敗,需要手動創建數據庫,看ORA-00205里面的解決方法,手動創建數據庫。

截止到目前,就ok了。(⊙o⊙),為什么沒有表情包呢。。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容