linux下靜默安裝oracle數據庫

本文檔是Oracle Database 11.2.0.1 for RHEL5 Server(包括x86和x86_64平臺)的靜默安裝指南. 所有操作無需使用圖形界面. 靜默安裝能減少安裝出錯的可能性, 也能大大加快安裝速度.

 

# 後跟命令表示以操作系統下root用戶操作; 

$ 後跟命令表示以操作系統下oracle用戶操作; 

 

1.1 上傳軟件

 

假如放在/wangnc/oracle/11g/目錄下.

 

# mkdir -p /wangnc/oracle/11g/

# cd /wangnc/oracle/11g/

 

可通過SecureFX工具sftp上傳數據庫安裝文件.

 

 

 

1.2 Package安裝檢查

 

# rpm -q \

binutils \

compat-libstdc++-33 \

elfutils-libelf \

elfutils-libelf-devel \

expat \

gcc \

gcc-c++ \

glibc \

glibc-common \

glibc-devel \

glibc-headers \

libaio \

libaio-devel \

libgcc \

libstdc++ \

libstdc++-devel \

make \

pdksh \

sysstat \

unixODBC \

unixODBC-devel | grep "not installed"

 

 

 

1.3 增加數據庫組和用戶

 

# id oracle (確認oracle用戶是否存在)

# /usr/sbin/groupadd oinstall (建立產品清單管理組)

# /usr/sbin/groupadd dba (建立數據庫安裝組)

# /usr/sbin/groupadd asmadmin (建立ASM管理組)

# /usr/sbin/groupadd asmdba (建立Grid管理組)

# /usr/sbin/useradd -g oinstall -G dba,asmdba oracle -d /home/oracle (oinstall爲主要組,確保/home/oracle原不存在)

# id oracle (記住oracle用戶的uid和gid)

uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba),504(asmdba)

# passwd oracle

 

 

 

1.4 調整OS內核參數

 

設置原則:

kernel.shmmax 爲 4GB-1byte或一半的物理內存, 哪個值更低用哪個; 

fs.file-max 爲512 * PROCESSES.

 

 

 

# vi /etc/sysctl.conf (增加或修改以下參數, 參考值爲最小需求, kernel.shmmax默認即可無需設置 )

#------------------------------------------

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

#kernel.shmmax = 536870912

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

#------------------------------------------

 

 

# /sbin/sysctl -p (設置參數立即生效)

 

 

 

1.5 增加shell限制

 

爲了提升性能增加oracle用戶的shell限制.

# vi /etc/security/limits.conf  (在文件最後增加或修改以下參數)

oracle              soft    nproc   2047

oracle              hard    nproc   16384

oracle              soft    nofile  1024

oracle              hard    nofile  65536

 

 

# vi /etc/pam.d/login  (在文件最後增加或修改以下參數)

session    required     pam_limits.so

 

 

# 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

 

 

 

1.6 建立必需目錄

 

# more /etc/oratab (確認原來是否存在Oracle主目錄)

# more /etc/oraInst.loc (確認原來是否存在Oracle產品清單目錄)

# mkdir -p /u01/app/oracle/ (Oracle基礎目錄, 一般爲/mount_point/app/oracle_owner)

# chown -R oracle:oinstall /wangnc/oracle

chown -R oracle:oinstall /u01

chown -R oracle:oinstall /u02

chown -R oracle:oinstall /u03

chown -R oracle:oinstall /u04

# chmod -R 775 /wangnc/oracle

chmod -R 775 /u01

chmod -R 775 /u02

chmod -R 775 /u03

chmod -R 775 /u04

 

1.7 設置oracle用戶環境變量

 

如果服務器有多網卡, 注意設置ORACLE_HOSTNAME爲某網卡IP對應的主機名, 參照/etc/hosts文件.

# su - oracle

$ vi ~/.bash_profile

umask 022

export ORACLE_HOSTNAME=rhel5

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export ORACLE_SID=ORCL

export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH

export LC_ALL="en_US"

export LANG="en_US"

export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

 

$ . ~/.bash_profile

 

 

1.8 解壓Oracle安裝文件

 

$ cd /wangnc/oracle/11g

$ unzip linux*_11gR2_database_1of2.zip -d /u01 (解壓到/u01目錄下,可選目錄)

$ unzip linux*_11gR2_database_2of2.zip -d /u01

$ cd /u01/database

$ export DISTRIB=`pwd`

 

在解壓後oracle軟件的response目錄裏有各種響應文件的模版.

 

 

1.9 生成響應文件模板

 

1) 方法一(推薦)

 

$ vi $DISTRIB/db_swonly.rsp

#--------------------------------------------------------------------

#以下參數不要更改

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

oracle.install.option=INSTALL_DB_SWONLY

DECLINE_SECURITY_UPDATES=true

#以下參數根據實際情況更改,一般也無需更改

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/u01/app/oracle/oraInventory

SELECTED_LANGUAGES=en,zh_CN,zh_TW

ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

ORACLE_BASE=/u01/app/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.isCustomInstall=true

oracle.install.db.customComponents=oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=oinstall

#--------------------------------------------------------------------

 

 

各參數含義如下:

-silent 表示以靜默方式安裝,不會有任何提示

-force 允許安裝到一個非空目錄

-noconfig 表示不運行配置助手netca

-responseFile 表示使用哪個響應文件,必需使用絕對路徑

oracle.install.responseFileVersion 響應文件模板的版本,該參數不要更改

oracle.install.option 安裝選項,本例只安裝oracle軟件,該參數不要更改

DECLINE_SECURITY_UPDATES 是否需要在線安全更新,設置爲false,該參數不要更改

ORACLE_HOSTNAME 安裝主機名

UNIX_GROUP_NAME oracle用戶用於安裝軟件的組名

INVENTORY_LOCATION oracle產品清單目錄

SELECTED_LANGUAGES oracle運行語言環境,一般包括引文和簡繁體中文

ORACLE_HOME Oracle安裝目錄

ORACLE_BASE oracle基礎目錄

oracle.install.db.InstallEdition 安裝版本類型,一般是企業版

oracle.install.db.isCustomInstall 是否定製安裝,默認Partitioning,OLAP,RAT都選上了

oracle.install.db.customComponents 定製安裝組件列表:除了以上默認的,可加上Label Security和Database Vault

oracle.install.db.DBA_GROUP oracle用戶用於授予OSDBA權限的組名

oracle.install.db.OPER_GROUP oracle用戶用於授予OSOPER權限的組名

 

 

2) 方法二(圖形界面)

 

$ ./runInstaller &

一步步設置到Summary頁, 然後點擊Save Response File按鈕, 選擇合適的存放路徑並Finish後, 回到Summary頁, 點擊Cancel退出OUI.

 

 

1.10 開始安裝oracle軟件

 

1) 通過response文件靜默安裝, 大概2-3分鐘:

 

$ ./runInstaller -silent -force -noconfig -responseFile $DISTRIB/db_swonly.rsp

控制檯直到出現以下提示則表示安裝完成:

#-------------------------------------------------------------------

...

/u01/app/oracle/oraInventory/orainstRoot.sh

/u01/app/oracle/product/11.2.0/dbhome_1/root.sh

To execute the configuration scripts:

         1. Open a terminal window 

         2. Log in as "root" 

         3. Run the scripts 

         4. Return to this window and hit "Enter" key to continue 

 

Successfully Setup Software.

#-------------------------------------------------------------------

 

 

2) 安裝期間查看安裝日誌信息瞭解安裝進度:

 

$ cd $ORACLE_BASE/oraInventory/logs

$ tail -100f installActions*.log

 

 

3) 安裝的軟件信息會寫入inventory.xml文件, 如果需重運行則把該文件的對應安裝條目信息刪除即可:

 

$ vi $ORACLE_BASE/oraInventory/ContentsXML/inventory.xml

 

 

1.11 運行orainstRoot.sh和root.sh

 

若本機第一次安裝oracle軟件, 則執行orainstRoot.sh來建立oraInst.loc文件和修改權限:

$ su -

# /u01/app/oracle/oraInventory/orainstRoot.sh

# more /etc/oraInst.loc

 

 

執行$ORACLE_HOME下的root.sh來建立oratab,dbhome,oraenv,coraenv文件, 如果提示則一直回車:

# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh

# more /etc/oratab

1.1 靜默配置監聽

 

通過response文件運行netca, 生成sqlnet.ora和listener.ora文件, 位於$ORACLE_HOME/network/admin目錄下:

# su - oracle

$ $ORACLE_HOME/bin/netca /silent /responsefile $DISTRIB/response/netca.rsp

$ ll $ORACLE_HOME/network/admin/*.ora

$ lsnrctl status

執行完後, 監聽就已經啓動了, 默認端口是1521, 默認是動態監聽, 只要實例啓動了就會監聽到. 

 

 

 

1.2 靜默建庫

 

1) 生成響應文件模板:

 

 

$ vi $DISTRIB/db_create.rsp

#--------------------------------------------------------------------

#以下參數不要更改

[GENERAL]

RESPONSEFILE_VERSION = "11.2.0"

OPERATION_TYPE = "createDatabase"

#以下參數必須設置

[CREATEDATABASE]

GDBNAME = "ORCL.LK"

TEMPLATENAME = "General_Purpose.dbc"

#以下參數不設置則使用默認值,建議設置

CHARACTERSET = "ZHS16GBK"

TOTALMEMORY = "1024"

#--------------------------------------------------------------------

 

 

 

2) dbca靜默建庫, 大概3-4分鐘:

 

 

種子數據庫和控制文件位於$ORACLE_HOME/assistants/dbca/templates/下, 即Seed_Database.dfb和Seed_Database.ctl文件, 實際上建庫就是基於通過rman恢復種子數據庫和控制文件來實現的.

 

$ $ORACLE_HOME/bin/dbca -silent -responseFile $DISTRIB/db_create.rsp

Enter SYS user password: 

<輸入sys用戶密碼> 

Enter SYSTEM user password: 

<輸入system用戶密碼> 

Copying database files

...

37% complete

Creating and starting Oracle instance

...

62% complete

Completing Database Creation

...

100% complete

Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/ORCL/ORCL.log" for further details.

 

 

 

各參數含義如下:

-silent 表示以靜默方式安裝

-responseFile 表示使用哪個響應文件,必需使用絕對路徑

RESPONSEFILE_VERSION 響應文件模板的版本,該參數不要更改

OPERATION_TYPE 安裝類型,該參數不要更改

GDBNAME 全局數據庫名,點號前面默認是db_name,點號後面默認就是db_domain

TEMPLATENAME 建庫模板名,參考各模板定義:$ORACLE_HOME/assistants/dbca/templates/*.dbc

CHARACTERSET 字符集,默認是WE8MSWIN1252

TOTALMEMORY 實例內存,默認是服務器物理內存的40%

 

 

 

3) 安裝期間查看日誌信息瞭解進度:

 

 

$ tail -100f $ORACLE_BASE/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log

 

 

 

4) 建庫後實例檢查

 

 

$ ps -ef | grep ora_ | grep -v grep | wc -l

21

$ ps -ef | grep ora_ | grep -v grep

oracle    1855     1  0 10:07 ?        00:00:00 ora_pmon_ORCL

oracle    1857     1  0 10:07 ?        00:00:00 ora_vktm_ORCL

oracle    1861     1  0 10:07 ?        00:00:00 ora_gen0_ORCL

oracle    1863     1  0 10:07 ?        00:00:00 ora_diag_ORCL

oracle    1865     1  0 10:07 ?        00:00:00 ora_dbrm_ORCL

oracle    1867     1  0 10:07 ?        00:00:00 ora_psp0_ORCL

oracle    1869     1  0 10:07 ?        00:00:00 ora_dia0_ORCL

oracle    1871     1  0 10:07 ?        00:00:00 ora_mman_ORCL

oracle    1873     1  0 10:07 ?        00:00:00 ora_dbw0_ORCL

oracle    1875     1  0 10:07 ?        00:00:00 ora_lgwr_ORCL

oracle    1877     1  0 10:07 ?        00:00:00 ora_ckpt_ORCL

oracle    1879     1  0 10:07 ?        00:00:00 ora_smon_ORCL

oracle    1881     1  0 10:07 ?        00:00:00 ora_reco_ORCL

oracle    1883     1  0 10:07 ?        00:00:00 ora_mmon_ORCL

oracle    1885     1  0 10:07 ?        00:00:00 ora_mmnl_ORCL

oracle    1887     1  0 10:07 ?        00:00:00 ora_d000_ORCL

oracle    1889     1  0 10:07 ?        00:00:00 ora_s000_ORCL

oracle    1969     1  0 10:07 ?        00:00:00 ora_qmnc_ORCL

oracle    1985     1  0 10:07 ?        00:00:00 ora_cjq0_ORCL

oracle    2003     1  0 10:08 ?        00:00:00 ora_q000_ORCL

oracle    2005     1  0 10:08 ?        00:00:00 ora_q001_ORCL

5) 建庫後監聽檢查

 

 

$ lsnrctl status

...

Services Summary...

Service "ORCL.LK" has 1 instance(s).

  Instance "ORCL", status READY, has 1 handler(s) for this service...

Service "ORCLXDB.LK" has 1 instance(s).

  Instance "ORCL", status READY, has 1 handler(s) for this service...

The command completed successfully

 

 

實例應該被動態註冊到監聽程序了. 如果未被動態註冊到監聽程序, 則可以手工註冊:

 

 

$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Sep 16 11:11:46 2009

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

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, Oracle Label Security, OLAP, Data Mining,

Oracle Database Vault and Real Application Testing options

SQL> alter system register;

 

 

 

6) 改爲歸檔模式並重啓

 

 

$ sqlplus / as sysdba

SQL> shutdown immediate;

SQL> startup mount;

SQL> alter database archivelog;

SQL> alter database flashback on; (如果要啓用數據庫閃回功能則執行)

SQL> alter database open;

SQL> execute utl_recomp.recomp_serial(); (重新編譯所有可能失效對象)

SQL> alter system archive log current; (手工歸檔測試)

 

到此建庫完畢!

 

 

 

7) 默認安裝的數據庫用戶:

 

 

SQL> set lines 256 pages 500

SQL> select USER_ID,USERNAME,ACCOUNT_STATUS,DEFAULT_TABLESPACE from dba_users order by 1;        

   USER_ID USERNAME                       ACCOUNT_STATUS                   DEFAULT_TABLESPACE

---------- ------------------------------ -------------------------------- ------------------------------

         0 SYS                            OPEN                             SYSTEM

         5 SYSTEM                         OPEN                             SYSTEM

         9 OUTLN                          EXPIRED & LOCKED                 SYSTEM

        14 DIP                            EXPIRED & LOCKED                 USERS

        21 ORACLE_OCM                     EXPIRED & LOCKED                 USERS

        30 DBSNMP                         EXPIRED & LOCKED                 SYSAUX

        31 APPQOSSYS                      EXPIRED & LOCKED                 SYSAUX

        32 WMSYS                          EXPIRED & LOCKED                 SYSAUX

        42 EXFSYS                         EXPIRED & LOCKED                 SYSAUX

        43 CTXSYS                         EXPIRED & LOCKED                 SYSAUX

        45 XDB                            EXPIRED & LOCKED                 SYSAUX

        46 ANONYMOUS                      EXPIRED & LOCKED                 SYSAUX

        53 ORDSYS                         EXPIRED & LOCKED                 SYSAUX

        54 ORDDATA                        EXPIRED & LOCKED                 SYSAUX

        55 ORDPLUGINS                     EXPIRED & LOCKED                 SYSAUX

        56 SI_INFORMTN_SCHEMA             EXPIRED & LOCKED                 SYSAUX

        57 MDSYS                          EXPIRED & LOCKED                 SYSAUX

        61 OLAPSYS                        EXPIRED & LOCKED                 SYSAUX

        65 MDDATA                         EXPIRED & LOCKED                 USERS

        67 SPATIAL_WFS_ADMIN_USR          EXPIRED & LOCKED                 USERS

        70 SPATIAL_CSW_ADMIN_USR          EXPIRED & LOCKED                 USERS

        72 SYSMAN                         EXPIRED & LOCKED                 SYSAUX

        74 MGMT_VIEW                      EXPIRED & LOCKED                 SYSTEM

        75 FLOWS_FILES                    EXPIRED & LOCKED                 SYSAUX

        76 APEX_PUBLIC_USER               EXPIRED & LOCKED                 USERS

        78 APEX_030200                    EXPIRED & LOCKED                 SYSAUX

        79 OWBSYS                         EXPIRED & LOCKED                 SYSAUX

        83 OWBSYS_AUDIT                   EXPIRED & LOCKED                 SYSAUX

        84 SCOTT                          EXPIRED & LOCKED                 USERS

2147483638 XS$NULL                        EXPIRED & LOCKED                 USERS

 

30 rows selected.

 

 

 

8) 默認安裝的組件:

 

 

SQL> col COMP_ID format a8

col COMP_NAME format a35

col VERSION format a12

col schema format a12

col OTHER_SCHEMAS format a45

SQL> select comp_id,comp_name,version,schema,other_schemas from dba_registry order by 1;

COMP_ID  COMP_NAME                           VERSION      SCHEMA       OTHER_SCHEMAS

-------- ----------------------------------- ------------ ------------ ---------------------------------------------

AMD      OLAP Catalog                        11.2.0.1.0   OLAPSYS

APEX     Oracle Application Express          3.2.1.00.10  APEX_030200  FLOWS_FILES

APS      OLAP Analytic Workspace             11.2.0.1.0   SYS

CATALOG  Oracle Database Catalog Views       11.2.0.1.0   SYS

CATJAVA  Oracle Database Java Packages       11.2.0.1.0   SYS

CATPROC  Oracle Database Packages and Types  11.2.0.1.0   SYS          APPQOSSYS,DBSNMP,DIP,ORACLE_OCM,OUTLN,SYSTEM

CONTEXT  Oracle Text                         11.2.0.1.0   CTXSYS

EM       Oracle Enterprise Manager           11.2.0.1.0   SYSMAN

EXF      Oracle Expression Filter            11.2.0.1.0   EXFSYS

JAVAVM   JServer JAVA Virtual Machine        11.2.0.1.0   SYS

ORDIM    Oracle Multimedia                   11.2.0.1.0   ORDSYS       MDSYS,ORDDATA,ORDPLUGINS,SI_INFORMTN_SCHEMA

OWB      OWB                                 11.2.0.1.0   OWBSYS

OWM      Oracle Workspace Manager            11.2.0.1.0   WMSYS

RUL      Oracle Rules Manager                11.2.0.1.0   EXFSYS

SDO      Spatial                             11.2.0.1.0   MDSYS

XDB      Oracle XML Database                 11.2.0.1.0   XDB          ANONYMOUS,XS$NULL

XML      Oracle XDK                          11.2.0.1.0   SYS

XOQ      Oracle OLAP API                     11.2.0.1.0   SYS

 

 

18 rows selected.

 

1.3 靜默刪庫(可選)

 

1) 生成響應文件模板:

 

 

 

 

 

$ vi $DISTRIB/db_delete.rsp

 

#--------------------------------------------------------------------

 

#以下參數不能更改

 

[GENERAL]

 

RESPONSEFILE_VERSION = "11.2.0"

 

OPERATION_TYPE = "deleteDatabase"

 

#以下參數根據實際情況更改

 

[DELETEDATABASE]

 

SOURCEDB = "ORCL"

 

#--------------------------------------------------------------------

 

 

 

 

 

 

 

2) dbca靜默建庫, 無需手工停庫, 大概1分鐘:

 

 

 

 

 

$ $ORACLE_HOME/bin/dbca -silent -responseFile $DISTRIB/db_delete.rsp

 

Connecting to database

 

...

 

47% complete

 

Updating network configuration files

 

...

 

52% complete

 

Deleting instance and datafiles

 

...

 

100% complete

 

Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/ORCL.log" for further details.

 

 

 

 

 

 

 

各參數含義如下:

 

-silent 表示以靜默方式刪除

 

-responseFile 表示使用哪個響應文件,必需使用絕對路徑

 

RESPONSEFILE_VERSION 響應文件模板的版本,該參數不要更改

 

OPERATION_TYPE 安裝類型,該參數不要更改

 

SOURCEDB  數據庫名,不是全局數據庫名,即不包含db_domain

 

 

 

 

 

 

 

3) 刪除期間查看日誌信息瞭解進度:

 

 

 

 

 

$ tail -100f $ORACLE_BASE/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log

發佈了86 篇原創文章 · 獲贊 56 · 訪問量 44萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章