說明:實驗過的版本: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⊙),為什么沒有表情包呢。。