【Centos linux系統】命令行(靜默)安裝oracle 11gR2


一.安裝前准備

  1.內存及swap要求

    至於swap如何添加,后文將提到

  

1
2
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo

  2.硬盤空間

  

  3.修改主機名,及ip對應關系

復制代碼
--設置主機名,也可以直接修改配置文件/etc/sysconfig/network,不過這個是重啟之后才起作用
#sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=DB_2/g" /etc/sysconfig/network

--如果不想重啟,則使用下面命令,使當前生效 #hostname DB_2

--添加主機名與IP對應記錄
#vi /etc/hosts 

127.0.0.1 cr-testsrv01
192.168.15.2 cr-testsrv01
192.168.15.2 db1



復制代碼

  4.關閉Selinux(可以不操作)

--我自己沒有關閉過selinux,這個是網上提供說需要關閉的
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/"/etc/selinux/config # setenforce 0

  5.下載oracle11gR2

  官網下載地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html

 

二.修改內核參數

  1./etc/sysctl.conf

復制代碼
--修改或添加,具體參數意思,請百度或參考oracle官網解釋
#vi/etc/sysctl.conf  
net.ipv4.ip_local_port_range= 9000 65500 
fs.file-max = 6815744 kernel.shmall = 10523004 kernel.shmmax = 6465333657 kernel.shmmni = 4096 kernel.sem = 250 32000 100128 net.core.rmem_default=262144 net.core.wmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_max=1048576 fs.aio-max-nr = 1048576 # sysctl -p #使配置生效
復制代碼

  2.用戶的限制文件/etc/security/limits.conf 

復制代碼
#vim /etc/security/limits.conf 在文件后增加
 oracle           soft    nproc           2047
 oracle           hard    nproc           16384
 oracle           soft    nofile          1024
 oracle           hard    nofile          65536
 oracle           soft    stack           10240

--修改/etc/pam.d/login文件,增加如下:
 session  required   /lib64/security/pam_limits.so  //64為系統,千萬別寫成/lib/security/pam_limits.so,否則導致無法登錄
 session  required   pam_limits.so
復制代碼

 

三.創建用戶及組

復制代碼
//創建用戶及組
#groupadd oinstall 
#groupadd dba
#useradd -g oinstall -G dba -d /home/u11 oracle
#passwd oracle

//創建安裝目錄 #mkdir -p /opt/app/oracle/product/11.2.0/db_1
//數據文件存放目錄 #mkdir -p /opt/app/oracle/oradata //數據恢復目錄
#mkdir -p /opt/app/oracle/recovery_area //數據庫創建及使用過程中的日志目錄
#mkdir -p /opt/app/oracle/oraInventory

//修改安裝目錄權限
#chown -R oracle:oinstall /opt/app/oracle
#chmod 775 /opt/app/oracle
//登錄oracle用戶,設置環境變量
#su - oracle
$vim .bash_profile

  

export ORACLE_BASE=/home/oracle/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin/
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export DISPLAY=192.168.1.128:0.0
#如果設置NLS_LANG,容易產生導入sql或dmp出錯,因為其他環境下的不是utf8

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

$source .bash_profile   //使設置生效
復制代碼

 

 四.安裝oracle

  1.安裝依賴包

復制代碼
# yum -y install gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-develglibc glibc-commonglibc-devel libaio libaio-devel libgcclibstdc++libstdc++-devel unixODBC unixODBC-devel ksh
或
# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 \
elfutils-libelfelfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common \
glibc-devel glibc-devel.i686glibc-headers ksh libaio libaio.i686 libaio-devel \
libaio-devel.i686 libgcclibgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make \
sysstat unixODBC unixODBC-devel
復制代碼

  2.解壓安裝包

  3.數據庫安裝

    db_install.rsp 安裝應答配置文件

    dbca.rsp 創建數據庫應答

    netca.rsp 建立監聽、本地服務名等網絡設置應答

 

    3.1 修改配置文件db_install.rsp,並安裝

      下面把主要修改的地方貼出來,具體詳細文件,請查看另一篇文章:【Oracle 11gR2】db_install.rsp詳解http://www.cnblogs.com/yingsong/p/6031452.html

復制代碼
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=DB_m2
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/home/oracle/oracle/product/11.2.0/db_1
ORACLE_BASE=/home/oracle/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/home/oracle/oracle/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/home/oracle/oracle/recovery_data
DECLINE_SECURITY_UPDATES=true    //一定要設為true
復制代碼

    登錄oracle用戶,執行安裝

復制代碼
$./runInstaller -silent -responseFile /home/u11/database/response/db_install.rsp 
//安裝過程中,如果提示[WARNING]不必理會,此時安裝程序仍在進行,如果出現[FATAL],則安裝程序已經停止了。
//打開另一個終端,執行命令
#tail -100 f /u01/app/oracle/oraInventory/logs/installActions......log

 

//可以實時跟蹤查看安裝日志,了解安裝的進度。
//當出現


  以下配置腳本需要以 "root" 用戶的身份執行。
   #!/bin/sh
   #要運行的 Root 腳本

  /home/oracle/oracle/oraInventory/orainstRoot.sh
  /home/oracle/oracle/product/11.2.0/db_1/root.sh
  要執行配置腳本, 請執行以下操作:
     1. 打開一個終端窗口
     2. 以 "root" 身份登錄
     3. 運行腳本
     4. 返回此窗口並按 "Enter" 鍵繼續

  Successfully Setup Software.

 

//出現這個的話,說明已安裝成功,則需要按提示操作,操作完返回Enter成功

復制代碼

    

    3.2 配置監聽配置文件response/netca.rsp

$netca /silent /responsefile /home/oracle/softwares/database/response/netca.rsp

正在對命令行參數進行語法分析:
 參數"silent" = true
 參數"responsefile" = /home/oracle/response/netca.rsp
 完成對命令行參數進行語法分析。
 Oracle Net Services 配置:
 完成概要文件配置。
 Oracle Net 監聽程序啟動:
  正在運行監聽程序控制:
    /opt/oracle/11.2.0/bin/lsnrctl start LISTENER
  監聽程序控制完成。
  監聽程序已成功啟動。
 監聽程序配置完成。
 成功完成 Oracle Net Services 配置

//成功運行后,在/opt/oracle/11.2.0/network/admin目錄下生成sqlnet.ora和listener.ora兩個文件。
//完成后通過命令“netstat -tlnp”可以查看到1521端口已開
tcp  0   0 :::1521        :::*      LISTEN      5477/tnslsnr
復制代碼

 

    3.3 修改配置文件response/dbca.rsp,靜默建立新庫

復制代碼
 RESPONSEFILE_VERSION = "11.2.0"  //不能更改
 OPERATION_TYPE = "createDatabase"
 GDBNAME = "hello.dlxg.gov.cn"  //全局數據庫的名字=SID+主機域名
 SID = "hello"    //對應的實例名

 SYSPASSWORD = "credit"

   SYSTEMPASSWORD = "credit"

 TEMPLATENAME = "General_Purpose.dbc" //建庫用的模板文件
 DATAFILEDESTINATION = /opt/oracle/oradata //數據文件存放目錄
 RECOVERYAREADESTINATION=/opt/oracle/recovery_data //恢復數據存放目錄
 CHARACTERSET = "AL32UTF8"   //字符集,重要!!! 建庫后一般不能更改,所以建庫前要確定清楚。
 TOTALMEMORY = "5120"    //oracle內存5120MB
復制代碼

     配置完之后,執行命令

復制代碼
$dbca -silent -responseFile /home/oracle/softwares/database/response/dbca.rsp
 

1% 已完成
 3% 已完成
 11% 已完成
 18% 已完成
 26% 已完成
 37% 已完成
 正在創建並啟動 Oracle 實例
 40% 已完成
 45% 已完成
 50% 已完成
 55% 已完成
 56% 已完成
 60% 已完成
 62% 已完成
 正在進行數據庫創建

66% 已完成
 70% 已完成
 73% 已完成
 85% 已完成
 96% 已完成
 100% 已完成
 有關詳細信息, 請參閱日志文件 "/u01/app/oracle/cfgtoollogs/dbca/wang/wang.log"。

 vim /home/oracle/oracle/product/11.2.0/db_1/network/admin/listener.ora

添加:

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = credit)
(ORACLE_HOME =/home/oracle/oracle/product/11.2.0/db_1)
)
)

 

查看日志文件
 $ cat /u01/app/oracle/cfgtoollogs/dbca/wang/wang.log

復制代碼

$ su – oracle 
$ sqlplus / nolog 
sql> conn / as sysdba 
sql> startup (一般不需要加參數,只要設置好環境變量) 
sql> quit (退出sql模式) 
$ lsnrctl start (啟動監聽器)關閉oracle 
$ lsnrctl stop(關閉監聽器,在這之前,應該先關閉應用程序) 
$ sqlplus  /nolog 
sql>shutdown 其參數 :shutdown有四個參數,四個參數的含義如下:
Normal 需要等待所有的用戶斷開連接
Immediate 等待用戶完成當前的語句
Transactional 等待用戶完成當前的事務
Abort 不做任何等待,直接關閉數據庫
normal需要在所有連接用戶斷開后才執行關閉數據庫任務,所以有的時候看起來好象命令沒有運行一樣!在執行這個命令后不允許新的連接
immediate在用戶執行完正在執行的語句后就斷開用戶連接,並不允許新用戶連接。
transactional 在擁護執行完當前事物后斷開連接,並不允許新的用戶連接數據庫。
abort 執行強行斷開連接並直接關閉數據庫。
前三種方式不回丟失用戶數據。第四種在不的已的情況下,不建議采用! 
經常遇到的問題:

1)權限問題,解決方法,切換到oracle用戶;

2)沒有關閉監聽器 ,解決方法:關閉監聽器

3)有oracle實例沒有關閉,解決辦法:關閉oracle實例

4)環境變量設置不全,解決辦法:修改環境變量

Oracle數據庫的啟動和關閉方式小結

Oracle數據庫的啟動和關閉方式

一、幾種啟動方式:

1、startup nomount
非安裝啟動,這種方式啟動下可執行:重建控制文件、重建數據庫
啟動instance,即啟動SGA和后台進程,這種啟動只需要init.ora文件。
2、startup mount dbname
安裝啟動,這種方式啟動下可執行:數據庫日志歸檔、數據庫恢復、重新命名一些數據庫文件
如:系統表空間或日志文件。
執行“nomount”,然后打開控制文件
3、startup open dbname
先執行“nomount”,然后執行“mount”,再打開包括Redo log文件在內的所有數據庫文件,
這種方式下可訪問數據庫中的數據。
4、startup,等於以下三個命令
startup nomount
alter database mount
alter database open
5、startup restrict
約束方式啟動
這種方式能夠啟動數據庫,但只允許具有一定特權的用戶訪問
非特權用戶訪問時,會出現以下提示:
ERROR:
ORA-01035: ORACLE 只允許具有 RESTRICTED SESSION 權限的用戶使用
6、startup force
強制啟動方式
當不能關閉數據庫時,可以用startup force來完成數據庫的關閉
先關閉數據庫,再執行正常啟動數據庫命令
7、startup pfile=參數文件名
帶初始化參數文件的啟動方式
先讀取參數文件,再按參數文件中的設置啟動數據庫
例:startup pfile=E:/Oracle/admin/oradb/pfile/init.ora
8、startup EXCLUSIVE

二、幾種關閉方式:

1、shutdown normal
正常方式關閉數據庫。
2、shutdown immediate
立即方式關閉數據庫。
在SVRMGRL中執行shutdown immediate,數據庫並不立即關閉,
而是在Oracle執行某些清除工作后才關閉(終止會話、釋放會話資源),
當使用shutdown不能關閉數據庫時,shutdown immediate可以完成數據庫關閉的操作。
3、shutdown abort
直接關閉數據庫,正在訪問數據庫的會話會被突然終止,
如果數據庫中有大量操作正在執行,這時執行shutdown abort后,重新啟動數據庫需要很長時間。

 

五. 開啟歸檔模式,制定歸檔目錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM