Cent OS 6_5(x86_64)下安裝Oracle 11g
轉載來自csdn_daow作者:鏈接:https://blog.csdn.net/csdn_haow/article/details/76474645
1 硬件要求
1.1 內存 & swap
物理內存不少於1G
硬盤可以空間不少於5G
swap分區空間不少於2G
Minimum: 1 GB of RAM
Recommended: 2 GB of RAM or more
1.2 硬盤
由於CentOS安裝后差不多有4~5G,再加上Oracle等等的安裝,所以請准備至少10G的硬盤空間。
檢查磁盤情況 :# df -h
2 軟件
系統平台:CentOS6.5(x86_64)無圖形界面
oracle版本:Oracle11g
Linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
3 安裝注意
本文中所描述的系統命令,未經特殊標示,均為“#”代表root權限,“$”代表oracle權限。
本文中所描述的所有安裝包、依賴包均在附件中,請自行存放位置,以便安裝。
本文中的命令和文本內容,不能完全直接復制使用!
4 安裝前准備
首先,請先以root賬號登入作一些前置設定作業。
輸入密碼后進入root賬戶
4.1 操作系統准備
查看主機名
#hostname
顯示chances
在/etc/hosts文件內容的最底下添加主機名
#vi /etc/hosts
注掉原來的,然后添加192.168.206.135 CentOS
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost
192.168.220.158 chances
4.2關閉、防火牆
關閉selinux
#vi /etc/selinux/config
設置SELINUX=disabled
#setenforce 0
防火牆臨時關閉命令:
#service iptables stop
4.3安裝依賴包
命令:#rpm -ivh 依賴包名(請先進入存放依賴包的目錄下)
根據 #ls顯示的文件順序,直接將所有依賴包安裝!
因為有依賴關系,所以如果沒有出現進度條,並且提示錯誤信息,那就直接在命令最后,忽略依賴關系,直接安裝!
安裝命令:#rpm -ivh 依賴包名 --force --nodeps (進入依賴包的目錄下,直接執行)
#rpm -ivh * --force --nodeps
安裝依賴過程如下(執行順序參考,可以忽略):
rpm -ivh binutils-2.20.51.0.2-5.46.el6.x86_64.rpm --force --nodeps
rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm --force --nodeps
rpm -ivh compat-libstdc++-33-3.2.3-69.el6.i686.rpm --force --nodeps
rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm --force --nodeps
rpm -ivh cpp-4.4.7-18.el6.x86_64.rpm --force --nodeps
rpm -ivh elfutils-0.164-2.el6.x86_64.rpm --force --nodeps
rpm -ivh elfutils-libelf-0.164-2.el6.x86_64.rpm --force --nodeps
rpm -ivh elfutils-libelf-devel-0.164-2.el6.x86_64.rpm --force --nodeps
rpm -ivh elfutils-libs-0.164-2.el6.x86_64.rpm --force --nodeps
rpm -ivh gcc-4.4.7-4.el6.x86_64.rpm --force --nodeps
rpm -ivh gcc-c++-4.4.7-4.el6.x86_64.rpm --force --nodeps
rpm -ivh glibc-2.12-1.209.el6_9.1.i686.rpm --force --nodeps
rpm -ivh glibc-2.12-1.209.el6_9.1.x86_64.rpm --force --nodeps
rpm -ivh glibc-common-2.12-1.209.el6_9.1.x86_64.rpm --force --nodeps
rpm -ivh glibc-devel-2.12-1.209.el6_9.1.x86_64.rpm --force --nodeps
rpm -ivh glibc-headers-2.12-1.209.el6_9.1.x86_64.rpm --force --nodeps
rpm -ivh ksh-20120801-33.el6.x86_64.rpm --force --nodeps
rpm -ivh libaio-0.3.107-10.el6.i686.rpm --force --nodeps
rpm -ivh libaio-devel-0.3.107-10.el6.i686.rpm --force --nodeps
rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm --force --nodeps
rpm -ivh libgcc-4.4.7-18.el6.i686.rpm --force --nodeps
rpm -ivh libgcc-4.4.7-18.el6.x86_64.rpm --force --nodeps
rpm -ivh libgomp-4.4.7-18.el6.x86_64.rpm --force --nodeps
rpm -ivh libstdc++-4.4.7-18.el6.i686.rpm --force --nodeps
rpm -ivh libstdc++-4.4.7-18.el6.x86_64.rpm --force --nodeps
rpm -ivh libstdc++-devel-4.4.7-18.el6.x86_64.rpm --force --nodeps
rpm -ivh make-3.81-23.el6.x86_64.rpm --force --nodeps
rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm --force --nodeps
rpm -ivh nss-softokn-freebl-3.14.3-23.3.el6_8.i686.rpm --force --nodeps
rpm -ivh nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64.rpm --force --nodeps
rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm --force --nodeps
rpm -ivh sysstat-9.0.4-33.el6.x86_64.rpm --force --nodeps
rpm -ivh tzdata-Java-2017b-1.el6.noarch.rpm --force --nodeps
rpm -ivh unixODBC-2.2.14-14.el6.x86_64.rpm --force --nodeps
rpm -ivh unixODBC-devel-2.2.14-14.el6.x86_64.rpm --force --nodeps
4.4 創建安裝用戶、組、目錄
4.4.1創建安裝用戶和組
#groupadd oinstall
#groupadd dba
#useradd -g oinstall -G dba oracle
#passwd oracle
#id oracle
輸入后可以看到群組的情況:
4.4.2創建軟件安裝目錄
#mkdir -p /opt/oracle
//$ORACLE_BASE
#mkdir -p /opt/oracle/product/112010/db_1
//$ORACLE_HOME
#mkdir /opt/oracle/oradata
//存放數據庫目錄
#mkdir /opt/oracle/inventory
#mkdir /opt/oracle/flash_recovery_area
#chown -R oracle:oinstall /opt/oracle
Chmod -R 775 /opt/oracle
4.4.3 將oracle使用者加入到sudo群組中
#vi /etc/sudoers
輸入上面的命令后,打開sudoers文件進行編輯,找到
root ALL=(ALL) ALL
這行,並且在底下再加入以下命令:(按esc退出insert插入模式,按下i進入編輯模式)
oracle ALL=(ALL) ALL
按下esc,直到退出insert模式,在最底下空白行輸入“:wq!”(由於這是一份只讀文檔所以需要再加上!)並且按下Enter
修改后,可以打開/etc/sudoers文件確認一下修改是否完成
注:修改文件保存退出:“:wq”,不保存直接退出:”:q”,強制執行在命令后加”!”
4.5 配置系統環境
4.5.1 修改內核參數
# vi /etc/sysctl.conf
修改、添加以下內容(不能小於下面的數值,灰色的是已存在的不能比這個小)
kernel.shmall = 2097152
kernel.shmmax = 1073741824
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 1048576
修改完畢后,啟用配置
#sysctl -p
4.5.2修改用戶限制文件
#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
4.5.3關聯設置
#vi /etc/pam.d/login
行末添加以下內容:
session required /lib64/security/pam_limits.so
session required pam_limits.so
4.5.4修改/etc/profile
#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
在root用戶下,使用命令source profile使環境變量生效
#source /etc/profile
4.5.5 修改用戶環境變量
#vi /home/oracle/.bash_profile
在最底下加入以下內容
# 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
umask 022
fi
使環境變量生效
#source /home/oracle/.bash_profile
查看命令:# env
5正式安裝
5.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
$unzip linux.x64_11gR2_database_2of2.zip
解壓完成后/opt/oracle下會生成database目錄
5.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/inventory //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.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=800 //192行 自動管理內存的最小內存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //233行 設定所有數據庫用戶使用同一個密碼
DECLINE_SECURITY_UPDATES=true //385行 設置安全更新
5.3安裝
使用oracle用戶安裝
#su oracle
進入剛才解壓的database目錄
$cd /opt/oracle/database/
$./runInstaller -silent -responseFile /opt/oracle/response/db_install.rsp -ignorePrereq
接下來就是等待(有點長,不要着急!!!)開始計時,快的話10分鍾左右。(安裝好的圖示在下頁)
安裝過程中,如果提示[WARNING]不必理會,此時安裝程序仍在后台進行,如果出現[FATAL],則安裝程序已經停止了。
可以在以下位置找到本次安裝會話的日志:
/optoracle/oraInventory/logs/installActions2015-06-08_04-00-25PM.log
可以使用命令查看日志:后面的地址應該以安裝過程中的提示為准
#tail -100f /optoracle/oraInventory/logs/installActions2015-06-08_04-00-25PM.log
從下可以看到:
安裝過程是沒有任何進度提示的,最多只能通過日志文件查看!
安裝好或者是失敗會有提示如下所示,是安裝成功的信息提示。
5.4 安裝后操作
按照要求執行腳本。
打開新的終端,以root身份登錄,執行腳本:
#/opt/oracle/inventory/orainstRoot.sh
#/opt/oracle/product/112010/db_1/root.sh
完成后,返回原來的終端按下回車鍵
Oracle11g的安裝就到此結束!
6 配置監聽
編輯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""監聽器啟動的名稱
檢查完畢后,執行命令:
$netca /silent /responseFile /opt/oracle/database/response/netca.rsp
執行后成功如下所示:
成功運行后,在/opt/oracle/product/112010/network/admin/中生成listener.ora和sqlnet.ora
安裝完成后通過netstat命令可以查看1521端口正在監聽(重開一個窗口)
#netstat -tnulp | grep 1521
錯誤:
出現某某文件too short的錯誤,很有可能是操作系統有問題,建議重裝linux系統。
錯誤:
進入紅色部分去看一下日志 #cat 路徑
看到日志一大堆,最下面是關鍵host的ip回環沒有配好,由於新系統,系統的host是默認的。
解決:
我們要用自己的host名:
#vi /etc/hosts
這步最早已經做過了(見4.1),這一步完成只是臨時的,重啟后據說就不行了
下面修改正式的內容:
#vi /etc/sysconfig/network
由於上面執行netca的時候已經生成了listener監聽了,所以我們需要修改下面文件:
$vi $ORACLE_HOME/network/admin/listener.ora
這里把localhost 改成本機ip保存退出就好了
下面我們繼續開啟監聽:$lsnrctl start 有一大堆東西,然后就可以繼續下一步
7 添加數據庫實例
7.1 修改/opt/oracle/database/response/dbca.rsp(就是解壓安裝文件目錄下的)
根據數據庫建立方式的不同編輯不同的數據庫庫選項。
比如在本次安裝過程中設置了下列參數:(注意下面參數視情況而定,不要照抄,原文件都有說明的)
RESPONSEFILE_VERSION ="11.2.0"//不能更改
OPERATION_TYPE ="createDatabase"
GDBNAME ="orcl"//數據庫的名字
SID ="ORCL"//對應的實例名字
TEMPLATENAME ="General_Purpose.dbc"//建庫用的模板文件
SYSPASSWORD ="oracle"//SYS管理員密碼
SYSTEMPASSWORD ="oracle"//SYSTEM管理員密碼
SYSMANPASSWORD= "oracle"
DBSNMPPASSWORD= "oracle"
DATAFILEDESTINATION =/opt/oracle/oradata//數據文件存放目錄
RECOVERYAREADESTINATION=/opt/oracle/flash_recovery_area//恢復數據存放目錄
CHARACTERSET ="ZHS16GBK"//字符集,重要!!!建庫后一般不能更改,所以建庫前要確定清楚。
TOTALMEMORY ="1638"//1638MB,物理內存2G*80%。
7.2 安裝
進入oracle安裝目錄的bin下,執行dbca命令
$dbca -silent -responseFile /opt/oracle/database/response/dbca.rsp
這里界面可能會出現閃動,可以等全部東西都不見了,是要輸入SYS密碼,但不知道為什么看不見提示,一閃而過。
然后輸入完畢按下回車,又看見SYSTEM密碼一閃而過,再次輸入密碼回車,這時就開始建庫了。
完成(上述輸入密碼的步驟有可能直接略過)
建庫后進行實例進程檢查:
$ps -ef | grep ora_ | grep -v grep
查看監聽狀態:
$ lsnrctl status
修改/opt/oracle/product/112010/db_1/bin/dbstart
$ vi /opt/oracle/product/112010/db_1/bin/dbstart
將ORACLE_HOME_LISTNER=$1修改為ORACLE_HOME_LISTNER=$ORACLE_HOME
修改/opt/oracle/product/112010/db_1/bin/dbshut
$ vi /opt/oracle/product/112010/db_1/bin/dbshut
將ORACLE_HOME_LISTNER=$1修改為ORACLE_HOME_LISTNER=$ORACLE_HOME
修改/etc/oratab文件
$vi /etc/oratab
將orcl:/data/oracle/product/11.2.0:N中最后的N改為Y,成為
orcl:/data/oracle/product/11.2.0:Y
輸入命令dbshut和dbstart測試
$ dbshut
Oracle監聽停止,進程消失。
$lsnrctl status
$ps -ef |grep ora_ |grep -v grep
Oracle 監聽啟動,進程啟動。
$ dbstart
$lsnrctl status
$ps -ef |grep ora_ |grep -v grep
登錄查看實例狀態:
$ sqlplus / as sysdba
錯誤:
解決:
$echo $ORACLE_HOME
$echo $ORACLE_SID
$export ORACLE_SID=orcl (sid看自己設的什么)
或者$env |grep ORACLE
繼續
SQL> select status from v$instance;
錯誤:
解決:
該問題一般是認為sid設置混亂造成,oracle安裝過程中有幾個地方都設置sid和數據庫名稱之類的,很容易記錯。
SQL>shutdown
SQL>quit
$dbshut
$echo $ORACLE_SID
或者$env |grep ORACLE
$export ORACLE_SID=orcl (sid看自己設的什么)
$dbstart
重新:$sqlplus / as sysdba
SQL>startup
8 收尾
8.1完成之后,我們需要將selinux打開
不然重啟會出現問題,無法開機!!!
#vi /etc/selinux/config
將之前的disabled 改成targeted 然后就可以安心了。
8.2檢查listener.ora
/opt/oracle/product/112010/db_1/network/admin/listener.ora
如果在安裝監聽過程中出現什么問題,可以將這個文件刪除,然后重新執行netca步驟
里面的內容應該是這樣的
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /opt/oracle/product/112010/db_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.1.48)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /opt/oracle
接下來:
如果在lsnrctl start 或是lsnrctl status中有看到下面紅色部分:
那么需要執行以下步驟:
sql> alter system register
sql> show parameter local_listener
(address=(protocol=tcp)(host=192.168.129.201)(port=1521))
而listener實際用的ip是192.168.155.100。
發現這台機器有兩張網卡,ip分別為:192.168.155.100和192.168.129.201,之前有維護人員大概想將listener綁定到192.168.129.201這個ip上,但采用的方法不對。
修改local_listener參數,sql> alter system set local_listener='';
再重新注冊服務,sql> alter system register;
查看注冊情況,$ lsnrctl status
8.3最后:看看密碼
9 卸載ORACLE
Oracle卸載
1.停止監聽服務(oracle用戶登錄)
[oracle@tsp-rls-dbserver ~]$ lsnrctl stop
2.停止數據庫
[oracle@tsp-rls-dbserver ~]$ sqlplus / as sysdba
SQL>shutdown
3.刪除oracle安裝路徑(root用戶登錄)
[root@tsp-rls-dbserver deps]# rm -rf /opt/oracle/product
[root@tsp-rls-dbserver deps]# rm -rf /opt/oracle/inventory
……安裝前創建的和安裝后生成的都刪掉(oracle解壓文件database不要誤刪)
4.刪除系統路徑文件(root用戶登錄)
[root@tsp-rls-dbserver deps]# rm -rf /usr/local/bin/dbhome
[root@tsp-rls-dbserver deps]# rm -rf /usr/local/bin/oraenv
[root@tsp-rls-dbserver deps]# rm -rf /usr/local/bin/coraenv
5.刪除數據庫實例表(root用戶登錄)
[root@tsp-rls-dbserver deps]# rm -rf /etc/oratab
6.刪除數據庫實例lock文件(root用戶登錄)
[root@tsp-rls-dbserver deps]# rm -rf /etc/oraInst.loc
7.刪除oracle用戶及用戶組(root用戶登錄)重裝oracle的話就不用刪了
[root@tsp-rls-dbserver deps]# userdel -r oracle
[root@tsp-rls-dbserver deps]# groupdel oinstall
[root@tsp-rls-dbserver deps]# groupdel dba
10 其他操作
開啟oracle服務:
$dbstart
$lsnrctl start
$sqlplus / as sysdba
SQL>startup
關閉oracle服務:
$dbshut
$lsnrctl stop
$sqlplus / as sysdba
SQL>shutdown
Cent OS 6_5(x86_64)下安裝Oracle 11g
1 硬件要求
1.1 內存 & swap
物理內存不少於1G
硬盤可以空間不少於5G
swap分區空間不少於2G
Minimum: 1 GB of RAM
Recommended: 2 GB of RAM or more
1.2 硬盤
由於CentOS安裝后差不多有4~5G,再加上Oracle等等的安裝,所以請准備至少10G的硬盤空間。
檢查磁盤情況 :# df -h
2 軟件
系統平台:CentOS6.5(x86_64)無圖形界面
oracle版本:Oracle11g
Linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
3 安裝注意
本文中所描述的系統命令,未經特殊標示,均為“#”代表root權限,“$”代表oracle權限。
本文中所描述的所有安裝包、依賴包均在附件中,請自行存放位置,以便安裝。
本文中的命令和文本內容,不能完全直接復制使用!
4 安裝前准備
首先,請先以root賬號登入作一些前置設定作業。
輸入密碼后進入root賬戶
4.1 操作系統准備
查看主機名
#hostname
顯示chances
在/etc/hosts文件內容的最底下添加主機名
#vi /etc/hosts
注掉原來的,然后添加192.168.206.135 CentOS
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost
192.168.220.158 chances
4.2關閉、防火牆
關閉selinux
#vi /etc/selinux/config
設置SELINUX=disabled
#setenforce 0
防火牆臨時關閉命令:
#service iptables stop
4.3安裝依賴包
命令:#rpm -ivh 依賴包名(請先進入存放依賴包的目錄下)
根據 #ls顯示的文件順序,直接將所有依賴包安裝!
因為有依賴關系,所以如果沒有出現進度條,並且提示錯誤信息,那就直接在命令最后,忽略依賴關系,直接安裝!
安裝命令:#rpm -ivh 依賴包名 --force --nodeps (進入依賴包的目錄下,直接執行)
#rpm -ivh * --force --nodeps
安裝依賴過程如下(執行順序參考,可以忽略):
rpm -ivh binutils-2.20.51.0.2-5.46.el6.x86_64.rpm --force --nodeps
rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm --force --nodeps
rpm -ivh compat-libstdc++-33-3.2.3-69.el6.i686.rpm --force --nodeps
rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm --force --nodeps
rpm -ivh cpp-4.4.7-18.el6.x86_64.rpm --force --nodeps
rpm -ivh elfutils-0.164-2.el6.x86_64.rpm --force --nodeps
rpm -ivh elfutils-libelf-0.164-2.el6.x86_64.rpm --force --nodeps
rpm -ivh elfutils-libelf-devel-0.164-2.el6.x86_64.rpm --force --nodeps
rpm -ivh elfutils-libs-0.164-2.el6.x86_64.rpm --force --nodeps
rpm -ivh gcc-4.4.7-4.el6.x86_64.rpm --force --nodeps
rpm -ivh gcc-c++-4.4.7-4.el6.x86_64.rpm --force --nodeps
rpm -ivh glibc-2.12-1.209.el6_9.1.i686.rpm --force --nodeps
rpm -ivh glibc-2.12-1.209.el6_9.1.x86_64.rpm --force --nodeps
rpm -ivh glibc-common-2.12-1.209.el6_9.1.x86_64.rpm --force --nodeps
rpm -ivh glibc-devel-2.12-1.209.el6_9.1.x86_64.rpm --force --nodeps
rpm -ivh glibc-headers-2.12-1.209.el6_9.1.x86_64.rpm --force --nodeps
rpm -ivh ksh-20120801-33.el6.x86_64.rpm --force --nodeps
rpm -ivh libaio-0.3.107-10.el6.i686.rpm --force --nodeps
rpm -ivh libaio-devel-0.3.107-10.el6.i686.rpm --force --nodeps
rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm --force --nodeps
rpm -ivh libgcc-4.4.7-18.el6.i686.rpm --force --nodeps
rpm -ivh libgcc-4.4.7-18.el6.x86_64.rpm --force --nodeps
rpm -ivh libgomp-4.4.7-18.el6.x86_64.rpm --force --nodeps
rpm -ivh libstdc++-4.4.7-18.el6.i686.rpm --force --nodeps
rpm -ivh libstdc++-4.4.7-18.el6.x86_64.rpm --force --nodeps
rpm -ivh libstdc++-devel-4.4.7-18.el6.x86_64.rpm --force --nodeps
rpm -ivh make-3.81-23.el6.x86_64.rpm --force --nodeps
rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm --force --nodeps
rpm -ivh nss-softokn-freebl-3.14.3-23.3.el6_8.i686.rpm --force --nodeps
rpm -ivh nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64.rpm --force --nodeps
rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm --force --nodeps
rpm -ivh sysstat-9.0.4-33.el6.x86_64.rpm --force --nodeps
rpm -ivh tzdata-Java-2017b-1.el6.noarch.rpm --force --nodeps
rpm -ivh unixODBC-2.2.14-14.el6.x86_64.rpm --force --nodeps
rpm -ivh unixODBC-devel-2.2.14-14.el6.x86_64.rpm --force --nodeps
4.4 創建安裝用戶、組、目錄
4.4.1創建安裝用戶和組
#groupadd oinstall
#groupadd dba
#useradd -g oinstall -G dba oracle
#passwd oracle
#id oracle
輸入后可以看到群組的情況:
4.4.2創建軟件安裝目錄
#mkdir -p /opt/oracle
//$ORACLE_BASE
#mkdir -p /opt/oracle/product/112010/db_1
//$ORACLE_HOME
#mkdir /opt/oracle/oradata
//存放數據庫目錄
#mkdir /opt/oracle/inventory
#mkdir /opt/oracle/flash_recovery_area
#chown -R oracle:oinstall /opt/oracle
Chmod -R 775 /opt/oracle
4.4.3 將oracle使用者加入到sudo群組中
#vi /etc/sudoers
輸入上面的命令后,打開sudoers文件進行編輯,找到
root ALL=(ALL) ALL
這行,並且在底下再加入以下命令:(按esc退出insert插入模式,按下i進入編輯模式)
oracle ALL=(ALL) ALL
按下esc,直到退出insert模式,在最底下空白行輸入“:wq!”(由於這是一份只讀文檔所以需要再加上!)並且按下Enter
修改后,可以打開/etc/sudoers文件確認一下修改是否完成
注:修改文件保存退出:“:wq”,不保存直接退出:”:q”,強制執行在命令后加”!”
4.5 配置系統環境
4.5.1 修改內核參數
# vi /etc/sysctl.conf
修改、添加以下內容(不能小於下面的數值,灰色的是已存在的不能比這個小)
kernel.shmall = 2097152
kernel.shmmax = 1073741824
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 1048576
修改完畢后,啟用配置
#sysctl -p
4.5.2修改用戶限制文件
#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
4.5.3關聯設置
#vi /etc/pam.d/login
行末添加以下內容:
session required /lib64/security/pam_limits.so
session required pam_limits.so
4.5.4修改/etc/profile
#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
在root用戶下,使用命令source profile使環境變量生效
#source /etc/profile
4.5.5 修改用戶環境變量
#vi /home/oracle/.bash_profile
在最底下加入以下內容
# 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
umask 022
fi
使環境變量生效
#source /home/oracle/.bash_profile
查看命令:# env
5正式安裝
5.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
$unzip linux.x64_11gR2_database_2of2.zip
解壓完成后/opt/oracle下會生成database目錄
5.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/inventory //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.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=800 //192行 自動管理內存的最小內存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //233行 設定所有數據庫用戶使用同一個密碼
DECLINE_SECURITY_UPDATES=true //385行 設置安全更新
5.3安裝
使用oracle用戶安裝
#su oracle
進入剛才解壓的database目錄
$cd /opt/oracle/database/
$./runInstaller -silent -responseFile /opt/oracle/response/db_install.rsp -ignorePrereq
接下來就是等待(有點長,不要着急!!!)開始計時,快的話10分鍾左右。(安裝好的圖示在下頁)
安裝過程中,如果提示[WARNING]不必理會,此時安裝程序仍在后台進行,如果出現[FATAL],則安裝程序已經停止了。
可以在以下位置找到本次安裝會話的日志:
/optoracle/oraInventory/logs/installActions2015-06-08_04-00-25PM.log
可以使用命令查看日志:后面的地址應該以安裝過程中的提示為准
#tail -100f /optoracle/oraInventory/logs/installActions2015-06-08_04-00-25PM.log
從下可以看到:
安裝過程是沒有任何進度提示的,最多只能通過日志文件查看!
安裝好或者是失敗會有提示如下所示,是安裝成功的信息提示。
5.4 安裝后操作
按照要求執行腳本。
打開新的終端,以root身份登錄,執行腳本:
#/opt/oracle/inventory/orainstRoot.sh
#/opt/oracle/product/112010/db_1/root.sh
完成后,返回原來的終端按下回車鍵
Oracle11g的安裝就到此結束!
6 配置監聽
編輯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""監聽器啟動的名稱
檢查完畢后,執行命令:
$netca /silent /responseFile /opt/oracle/database/response/netca.rsp
執行后成功如下所示:
成功運行后,在/opt/oracle/product/112010/network/admin/中生成listener.ora和sqlnet.ora
安裝完成后通過netstat命令可以查看1521端口正在監聽(重開一個窗口)
#netstat -tnulp | grep 1521
錯誤:
出現某某文件too short的錯誤,很有可能是操作系統有問題,建議重裝linux系統。
錯誤:
進入紅色部分去看一下日志 #cat 路徑
看到日志一大堆,最下面是關鍵host的ip回環沒有配好,由於新系統,系統的host是默認的。
解決:
我們要用自己的host名:
#vi /etc/hosts
這步最早已經做過了(見4.1),這一步完成只是臨時的,重啟后據說就不行了
下面修改正式的內容:
#vi /etc/sysconfig/network
由於上面執行netca的時候已經生成了listener監聽了,所以我們需要修改下面文件:
$vi $ORACLE_HOME/network/admin/listener.ora
這里把localhost 改成本機ip保存退出就好了
下面我們繼續開啟監聽:$lsnrctl start 有一大堆東西,然后就可以繼續下一步
7 添加數據庫實例
7.1 修改/opt/oracle/database/response/dbca.rsp(就是解壓安裝文件目錄下的)
根據數據庫建立方式的不同編輯不同的數據庫庫選項。
比如在本次安裝過程中設置了下列參數:(注意下面參數視情況而定,不要照抄,原文件都有說明的)
RESPONSEFILE_VERSION ="11.2.0"//不能更改
OPERATION_TYPE ="createDatabase"
GDBNAME ="orcl"//數據庫的名字
SID ="ORCL"//對應的實例名字
TEMPLATENAME ="General_Purpose.dbc"//建庫用的模板文件
SYSPASSWORD ="oracle"//SYS管理員密碼
SYSTEMPASSWORD ="oracle"//SYSTEM管理員密碼
SYSMANPASSWORD= "oracle"
DBSNMPPASSWORD= "oracle"
DATAFILEDESTINATION =/opt/oracle/oradata//數據文件存放目錄
RECOVERYAREADESTINATION=/opt/oracle/flash_recovery_area//恢復數據存放目錄
CHARACTERSET ="ZHS16GBK"//字符集,重要!!!建庫后一般不能更改,所以建庫前要確定清楚。
TOTALMEMORY ="1638"//1638MB,物理內存2G*80%。
7.2 安裝
進入oracle安裝目錄的bin下,執行dbca命令
$dbca -silent -responseFile /opt/oracle/database/response/dbca.rsp
這里界面可能會出現閃動,可以等全部東西都不見了,是要輸入SYS密碼,但不知道為什么看不見提示,一閃而過。
然后輸入完畢按下回車,又看見SYSTEM密碼一閃而過,再次輸入密碼回車,這時就開始建庫了。
完成(上述輸入密碼的步驟有可能直接略過)
建庫后進行實例進程檢查:
$ps -ef | grep ora_ | grep -v grep
查看監聽狀態:
$ lsnrctl status
修改/opt/oracle/product/112010/db_1/bin/dbstart
$ vi /opt/oracle/product/112010/db_1/bin/dbstart
將ORACLE_HOME_LISTNER=$1修改為ORACLE_HOME_LISTNER=$ORACLE_HOME
修改/opt/oracle/product/112010/db_1/bin/dbshut
$ vi /opt/oracle/product/112010/db_1/bin/dbshut
將ORACLE_HOME_LISTNER=$1修改為ORACLE_HOME_LISTNER=$ORACLE_HOME
修改/etc/oratab文件
$vi /etc/oratab
將orcl:/data/oracle/product/11.2.0:N中最后的N改為Y,成為
orcl:/data/oracle/product/11.2.0:Y
輸入命令dbshut和dbstart測試
$ dbshut
Oracle監聽停止,進程消失。
$lsnrctl status
$ps -ef |grep ora_ |grep -v grep
Oracle 監聽啟動,進程啟動。
$ dbstart
$lsnrctl status
$ps -ef |grep ora_ |grep -v grep
登錄查看實例狀態:
$ sqlplus / as sysdba
錯誤:
解決:
$echo $ORACLE_HOME
$echo $ORACLE_SID
$export ORACLE_SID=orcl (sid看自己設的什么)
或者$env |grep ORACLE
繼續
SQL> select status from v$instance;
錯誤:
解決:
該問題一般是認為sid設置混亂造成,oracle安裝過程中有幾個地方都設置sid和數據庫名稱之類的,很容易記錯。
SQL>shutdown
SQL>quit
$dbshut
$echo $ORACLE_SID
或者$env |grep ORACLE
$export ORACLE_SID=orcl (sid看自己設的什么)
$dbstart
重新:$sqlplus / as sysdba
SQL>startup
8 收尾
8.1完成之后,我們需要將selinux打開
不然重啟會出現問題,無法開機!!!
#vi /etc/selinux/config
將之前的disabled 改成targeted 然后就可以安心了。
8.2檢查listener.ora
/opt/oracle/product/112010/db_1/network/admin/listener.ora
如果在安裝監聽過程中出現什么問題,可以將這個文件刪除,然后重新執行netca步驟
里面的內容應該是這樣的
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /opt/oracle/product/112010/db_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.1.48)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /opt/oracle
接下來:
如果在lsnrctl start 或是lsnrctl status中有看到下面紅色部分:
那么需要執行以下步驟:
sql> alter system register
sql> show parameter local_listener
(address=(protocol=tcp)(host=192.168.129.201)(port=1521))
而listener實際用的ip是192.168.155.100。
發現這台機器有兩張網卡,ip分別為:192.168.155.100和192.168.129.201,之前有維護人員大概想將listener綁定到192.168.129.201這個ip上,但采用的方法不對。
修改local_listener參數,sql> alter system set local_listener='';
再重新注冊服務,sql> alter system register;
查看注冊情況,$ lsnrctl status
8.3最后:看看密碼
9 卸載ORACLE
Oracle卸載
1.停止監聽服務(oracle用戶登錄)
[oracle@tsp-rls-dbserver ~]$ lsnrctl stop
2.停止數據庫
[oracle@tsp-rls-dbserver ~]$ sqlplus / as sysdba
SQL>shutdown
3.刪除oracle安裝路徑(root用戶登錄)
[root@tsp-rls-dbserver deps]# rm -rf /opt/oracle/product
[root@tsp-rls-dbserver deps]# rm -rf /opt/oracle/inventory
……安裝前創建的和安裝后生成的都刪掉(oracle解壓文件database不要誤刪)
4.刪除系統路徑文件(root用戶登錄)
[root@tsp-rls-dbserver deps]# rm -rf /usr/local/bin/dbhome
[root@tsp-rls-dbserver deps]# rm -rf /usr/local/bin/oraenv
[root@tsp-rls-dbserver deps]# rm -rf /usr/local/bin/coraenv
5.刪除數據庫實例表(root用戶登錄)
[root@tsp-rls-dbserver deps]# rm -rf /etc/oratab
6.刪除數據庫實例lock文件(root用戶登錄)
[root@tsp-rls-dbserver deps]# rm -rf /etc/oraInst.loc
7.刪除oracle用戶及用戶組(root用戶登錄)重裝oracle的話就不用刪了
[root@tsp-rls-dbserver deps]# userdel -r oracle
[root@tsp-rls-dbserver deps]# groupdel oinstall
[root@tsp-rls-dbserver deps]# groupdel dba
10 其他操作
開啟oracle服務:
$dbstart
$lsnrctl start
$sqlplus / as sysdba
SQL>startup
關閉oracle服務:
$dbshut
$lsnrctl stop
$sqlplus / as sysdba
SQL>shutdown