Oracle 12 C 靜默安裝

Oracle靜默安裝

Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關係型數據庫管理系統。它是在數據庫領域一直處於領先地位的產品。可以說Oracle數據庫系統是目前世界上流行的關係數據庫管理系統,系統可移植性好、使用方便、功能強,適用於各類大、中、小、微機環境。它是一種高效率、可靠性好的 適應高吞吐量的數據庫解決方案。

 

環境配置

1、安裝centos6.5操作系統

物理內存不少於1.5G

硬盤可以空間不少於5G

swap分區空間不少於2G

支持256色以上顯卡

cpu主頻不小於550mHZ

2.下載安裝包linuxx64_12201_database.zip的oracle12c第二版本

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle12c-linux-12201-3608234.html

5N17QWTC`WWWI1V[}GVM@V9.png                                                

3.配置hosts文件

格式:ip    主機名

4.配置yum源

使用默認yum源即可

yum clean all  && yum makecache

5.關閉selinux&iptables

       Vim /etc/selinux/config

       SELINUX=disabled

      

       /etc/init.d/iptables stop

chkconfig iptables off

 

安裝部署

 

 

1、安裝oracle依賴包關係

yum install -y  binutils  compat-libcap1  compat-libstdc++-33  compat-libstdc++-33.i686  glibc  glibc.i686 glibc-devel glibc-devel.i686 ksh  libaio  libaio.i686  libaio-devel  libaio-devel.i686  libX11  libX11.i686  libXau  libXau.i686 libXi  libXi.i686  libXtst  libXtst.i686  libgcc  libgcc.i686  libstdc++  libstdc++.i686  libstdc++-devel  libstdc++-devel.i686  libxcb  libxcb.i686  make  nfs-utils  net-tools  smartmontools  sysstat  unixODBC  unixODBC-devel    gcc   gcc-c++   libXext   libXext.i686   zlib-devel   zlib-devel.i686

 

 

 

2、修改內核參數

  內核參數調整體現在/etc/sysctl.conf文件中。主要包括對內存調度、端口範圍、打開文件數、I/O請求等相關的一些設置,相關數值不可低於安裝要求。修改完畢後通過執行sysctl–p命令使新配置立即生效。

 

vim /etc/sysctl.conf  請根據自己實際情況修改,內核參數如下
fs.file-max = 6815744  
kernel.sem = 250 32000 100 128  
kernel.shmmni = 4096  
kernel.shmall = 1073741824  
kernel.shmmax = 4398046511104  
kernel.panic_on_oops = 1  
net.core.rmem_default = 262144  
net.core.rmem_max = 4194304  
net.core.wmem_default = 262144  
net.core.wmem_max = 1048576  
net.ipv4.conf.all.rp_filter = 2  
net.ipv4.conf.default.rp_filter = 2  
fs.aio-max-nr = 1048576  
net.ipv4.ip_local_port_range = 9000 65500

 

SJ_IU6ZLPS1[`1NQ$[LL%IC.png

 

各參數詳解:

fs.aio-max-nr:

此參數限制併發未完成的請求,應該設置避免I/O子系統故障。

fs.file-max:

該參數決定了系統中所允許的文件句柄最大數目,文件句柄設置代表linux系統中可以打開的文件的數量。

kernel.shmall:

該參數控制可以使用的共享內存的總頁數。Linux共享內存頁大小爲4KB,共享內存段的大小都是共享內存頁大小的整數倍。一個共享內存段的最大大小是16G,那麼需要共享內存頁數是16GB/4KB=16777216KB /4KB=4194304(頁),也就是64Bit系統下16GB物理內存,設置kernel.shmall = 4194304才符合要求.

kernel.shmmax:

是核心參數中最重要的參數之一,用於定義單個共享內存段的最大值。設置應該足夠大,設置的過低可能會導致需要創建多個共享內存段,這樣可能導致系統性能的下降。至於導致系統下降的主要原因爲在實例啓動以及ServerProcess創建的時候,多個小的共享內存段可能會導致當時輕微的系統性能的降低(在啓動的時候需要去創建多個虛擬地址段,在進程創建的時候要讓進程對多個段進行“識別”,會有一些影響),但是其他時候都不會有影響。

官方建議值:

32位linux系統:可取最大值爲4GB(4294967296bytes)-1byte,即4294967295。建議值爲多於內存的一半,所以如果是32爲系統,一般可取值爲4294967295。

64位linux系統:可取的最大值爲物理內存值-1byte,建議值爲多於物理內存的一半,例如,如果爲12GB物理內存,可取12*1024*1024*1024-1=12884901887。

kernel.shmmni:

該參數是共享內存段的最大數量。shmmni缺省值4096,一般肯定是夠用了。

kernel.sem:

以kernel.sem = 250 32000 100 128爲例:

   250是參數semmsl的值,表示一個信號量集合中能夠包含的信號量最大數目。

   32000是參數semmns的值,表示系統內可允許的信號量最大數目。

    100是參數semopm的值,表示單個semopm()調用在一個信號量集合上可以執行的操作數量。

    128是參數semmni的值,表示系統信號量集合總數。

net.ipv4.ip_local_port_range:

表示應用程序可使用的IPv4端口範圍。

net.core.rmem_default:

表示套接字接收緩衝區大小的缺省值。

net.core.rmem_max:

表示套接字接收緩衝區大小的最大值。

net.core.wmem_default:

表示套接字發送緩衝區大小的缺省值。

net.core.wmem_max:

表示套接字發送緩衝區大小的最大值。

 

 

終端執行:

/sbin/sysctl -p    刷新內核參數表

 

 

3、修改內核限制參數

 vim /etc/security/limits.d/20-nproc.conf 
# Default limit for number of user's processes to prevent  
# accidental fork bombs.  
# See rhbz #432903 for reasoning.  
  
*          soft    nproc     4096  
root       soft    nproc     unlimited  
oracle   soft   nofile    1024  
oracle   hard   nofile    65536  
oracle   soft   nproc    16384  
oracle   hard   nproc    16384  
oracle   soft   stack    10240  
oracle   hard   stack    32768  
oracle   hard   memlock    134217728  
oracle   soft   memlock    134217728

KXU)@IB[%ZE]~WNHZ($1331.png

第1行是設置進程數軟限制;

第2行是設置進程數硬限制;

第3行是設置文件數軟限制;

第4行是設置文件數硬限制

4、創建oracle帳號和組

[root@Oracle ~]# unzip linuxx64_12201_database.zip ^C  
[root@Oracle ~]# groupadd -g 54321 oinstall  
[root@Oracle ~]# groupadd -g 54322 dba  
[root@Oracle ~]# groupadd -g 54323 oper  
[root@Oracle ~]# useradd -u 54321 -g oinstall -G dba,oper oracle  
[root@Oracle ~]# passwd oracle

 

 

5、創建相關數據庫目錄

 

    mkdir /u01
    mkdir /u01/app
    mkdir -p /u01/app/oracle/oradata         //存放數據庫的數據目錄
    mkdir -p /u01/app/oracle/oradata_back    //存放數據庫備份文件
         chmod -R 775 /u01/app                                        //權限
         chown -R oracle:oinstall /u01                    //屬主屬組

 

 

6、修改oracle環境變量

  vim /etc/proile         (文件最後加入)
# .bash_profile
 
# Get the aliases and functions 
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
 
# User specific environment and startup programs 
 
PATH=$PATH:$HOME/.local/bin:$HOME/bin
 
export PATH 
# Oracle Settings 
export TMP=/tmp                                   #日誌存放位置
export TMPDIR=$TMP
 
export ORACLE_HOSTNAME=Oracle                #主機名
export ORACLE_UNQNAME=cdb1                  #庫名稱
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/db_1
export ORACLE_SID=cdb1                     #庫名稱
 
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
 
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib  
export PATH=/usr/sbin:$PATH  
export PATH=$ORACLE_HOME/bin:$PATH  
  
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib  
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

7、解壓oracle二進制包至/opt目錄下  (解壓的目錄默認名爲database)

unzip linuxx64_12201_database.zip /u01
chown -R oracle:oinstall /u01

 

8、修改配置文件並

進入response目錄下,編輯應答文件:

配置文件設置--->http://blog.chinaunix.net/uid-23886490-id-3565908.html

 

vim /u01/database/response/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0  
oracle.install.option=INSTALL_DB_SWONLY                     //30行安裝類型,只裝數據庫軟件
UNIX_GROUP_NAME=oinstall                                              //35行主機名稱(hostname查詢)
INVENTORY_LOCATION=/u01/app/oracle/oraInventory  //42行INVENTORY目錄(不填就是默認值)
ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1   //46行oracle目錄
ORACLE_BASE=/u01/app/oracle                                          //51行
oracle.install.db.InstallEdition=EE                                                 //63行oracle版本
oracle.install.db.OSDBA_GROUP=dba                                //80行
oracle.install.db.OSOPER_GROUP=oper                                      //86行 自定義安裝,否,使用默認組件
oracle.install.db.OSBACKUPDBA_GROUP=dba                          //91行  
oracle.install.db.OSDGDBA_GROUP=dba                                   //96行
oracle.install.db.OSKMDBA_GROUP=dba                          //101行
oracle.install.db.OSRACDBA_GROUP=dba                        //106行
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE         //180行數據庫類型
oracle.install.db.config.starterdb.globalDBName=cdb1     //185行
oracle.install.db.config.starterdb.SID=cdb1                       //190行
oracle.install.db.config.starterdb.characterSet=AL32UTF8   //216行
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false                     //384行
DECLINE_SECURITY_UPDATES=true                                //398行//設置安全更新(貌似是有bug,這個一定要選true,否則會無限提醒郵件地址有問題,終止安裝。PS:不管地址對不對)

 

 

 

9、開始安裝oracle    提醒:切換至oracle用戶

cd /u01/database
 ./runInstaller -force -silent -noconfig -responseFile /u01/database/response/db_install.rsp  
 
Starting Oracle Universal Installer...  
  
Checking Temp space: must be greater than 500 MB.   Actual 11715 MB    Passed  
Checking swap space: must be greater than 150 MB.   Actual 2047 MB    Passed  
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2017-04-15_08-36-48PM. P[oracle@Oracle database]$ [WARNING] [INS-32055] The Central Inventory is located in the Oracle base.  
   ACTION: Oracle recommends placing this Central Inventory in a location outside the Oracle base directory.  
You can find the log of this install session at:  
 /u01/app/oracle/oraInventory/logs/installActions2017-04-15_08-36-48PM.log     #日誌位置
The installation of Oracle Database 12c was successful.  
Please check '/u01/app/oracle/oraInventory/logs/silentInstall2017-04-15_08-36-48PM.log' for more details.

  

 

可以邊裝邊查看日誌

tail –f /u01/app/oracle/oraInventory/logs/installActions2017-04-15_08-36-48PM.log

 

 

報錯:

找不到主機名

7R$ZTTKHW9{E$5KQ2PYQU7C.png

Hostname查看一下本機的主機名稱是否和/etc/host&/home/oracle/.bash_profile環境變量裏的主機名一致

 

 

退出oracle用戶的時候會顯示一下信息報告腳本位置

As a root user, execute the following script(s):  
        1. /u01/app/oracle/oraInventory/orainstRoot.sh  
        2. /u01/app/oracle/product/12.2.0.1/db_1/root.sh  
        
        
Successfully Setup Software.

_ZEDQ_A`X08428F(]OP7{}Y.png

報錯:

此腳本必須爲跟,必須是使用跟root用戶來執行

N1NNVXB~~%]R{G~]B6H1SIA.png

 

 

10,執行腳本   提醒:切換至oracle用戶

      執行兩個腳本:注意是用root用戶執行的

[root@Oracle ~]# /u01/app/oracle/oraInventory/orainstRoot.sh  
Changing permissions of /u01/app/oracle/oraInventory.  
Adding read,write permissions for group.  
Removing read,write,execute permissions for world.  
  
Changing groupname of /u01/app/oracle/oraInventory to oinstall.  
The execution of the script is complete.  
 
[root@Oracle ~]# /u01/app/oracle/product/12.2.0.1/db_1/root.sh  
Check /u01/app/oracle/product/12.2.0.1/db_1/install/root_Oracle_2017-04-15_20-56-27-813321685.log for the output of root script

 

 

11,靜默配置監聽     提醒:切換至oracle用戶

 netca -silent -responsefile /u01/database/response/netca.rsp

    備註: netca命令是oracle提供的命令,如果顯示找不到命令請檢查環境變量

    WJ{R)5S_P_%%SU~EF`56K$Y.png

 

12,通過netstat -tlnp 命令查看監聽地址      提醒:切換至oracle用戶

  tcp  0   0 :::1521        :::*      LISTEN      5477/tnslsnr

 

 

13,靜默建立新庫提醒:切換至oracle用戶 (如果一下各參數在/u01/database/response/dbca.rsp文件中    重複出現,可以全改)

    修改/u01/database/response/dbca.rsp,設置如下:

 

vim /u01/database/response/dbca.rsp
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0//21行不可更改
gdbName=cdb1                    //32
sid=cdb1                      //42
databaseConfigType=SI                  //52
policyManaged=false                //74
createServerPool=false                 //88
force=false                    //127
createAsContainerDatabase=true           //163
numberOfPDBs=1                   //172
pdbName=cdb1pdb                  //182
useLocalUndoForPDBs=true  //192
templateName=/u01/app/oracle/product/12.2.0.1/db_1/assistants/dbca/templates/General_Purpose.dbc                                //223
emExpressPort=5500                 //273
runCVUChecks=false                 //284
omsPort=0                     //313
dvConfiguration=false               //341
olsConfiguration=false               //391
datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates/           //401
datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/           //411
recoveryAreaDestination={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}    //421
storageType=FS                                         //431
characterSet=AL32UTF8                                        //468字符集創建庫之後不可更改
nationalCharacterSet=AL16UTF16                                        //478
registerWithDirService=false                                          //488
listeners=LISTENER                                            //526
variables=DB_UNIQUE_NAME=cdb1,ORACLE_BASE=/u01/app/oracle,PDB_NAME=,DB_NAME=cdb1,ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1,SID=cdb1           //546
 
initParams=undo_tablespace=UNDOTBS1,memory_target=796MB,processes=300,db_recovery_file_dest_size=2780MB,nls_language=AMERICAN,dispatchers=(PROTOCOL=TCP) (SERVICE=cdb1XDB),db_recovery_file_dest={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME},db_block_size=8192BYTES,diagnostic_dest={ORACLE_BASE},audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,nls_territory=AMERICA,local_listener=LISTENER_CDB1,compatible=12.2.0,control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl", "{ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}/control02.ctl"),db_name=cdb1,audit_trail=db,remote_login_passwordfile=EXCLUSIVE,open_cursors=300                     //555
 
sampleSchema=false                //565
memoryPercentage=40                //574
databaseType=MULTIPURPOSE                  //584
automaticMemoryManagement=true          //594
totalMemory=0                   //604

 

 

 

14,靜默建庫命令如下 (dbca是oracle命令,如果提示命令找不到,檢查環境變量)

cd /u01/database
[oracle@oracle response]$ dbca -silent -createDatabase  -responseFile  /u01/database/response/dbca.rsp  
  
[WARNING] [DBT-06801] Specified Fast Recovery Area size (2,780 MB) is less than the recommended value.  
   CAUSE: Fast Recovery Area size should at least be three times the database size (2,730 MB).  
   ACTION: Specify Fast Recovery Area Size to be at least three times the database size.  
[WARNING] [DBT-11209] Current available physical memory is less than the required physical memory (796MB) for creating the database.  
Enter SYS user password:          #超級管理員密碼
  
Enter SYSTEM user password:         #管理員密碼
  
Enter PDBADMIN User Password:        #庫密碼
  
[WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards.  
   CAUSE:  
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].  
b.The password entered is a keyword that Oracle does not recommend to be used as password  
   ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.  
[WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards.  
   CAUSE:  
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].  
b.The password entered is a keyword that Oracle does not recommend to be used as password  
   ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.  
[WARNING] [DBT-06208] The 'PDBADMIN' password entered does not conform to the Oracle recommended standards.  
   CAUSE:  
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].  
b.The password entered is a keyword that Oracle does not recommend to be used as password  
   ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.  
[WARNING] [DBT-06801] Specified Fast Recovery Area size (2,780 MB) is less than the recommended value.  
   CAUSE: Fast Recovery Area size should at least be three times the database size (3,571 MB).  
   ACTION: Specify Fast Recovery Area Size to be at least three times the database size.  
Copying database files  
1% complete  
13% complete  
25% complete  
Creating and starting Oracle instance  
26% complete  
30% complete  
31% complete  
35% complete  
38% complete  
39% complete  
41% complete  
Completing Database Creation  
42% complete  
43% complete  
44% complete  
46% complete  
49% complete  
50% complete  
Creating Pluggable Databases  
55% complete  
75% complete  
Executing Post Configuration Actions  
100% complete  
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/cdb1/cdb1.log" for further details.

      數據庫信息:

      全局數據庫名:

      系統標識符 (SID):   如有相關顯示  則表明成功

 

 

15,檢查oracle進程狀態

 ps -ef | grep ora_ | grep -v grep
 lsnrctl status  (lsnrctl是oracle命令)

 

 

16,登錄數據庫  提醒:切換至oracle用戶

 

[oracle@Oracle response]$ sqlplus / as sysdba  
SQL*Plus: Release 12.2.0.1.0 Production on Sat Apr 15 23:07:08 2017  
  
Copyright (c) 1982, 2016, Oracle.  All rights reserved.  
  
  
Connected to:  
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production  
  
SQL> select open_mode from v$database;  
  
OPEN_MODE  
--------------------  
READ WRITE  
  
SQL> select status from v$instance;  
  
STATUS  
------------  
OPEN  
 
Oracle庫操作
 
sqlplus / as sysdba                   // 登錄數據庫
alter user sys identified by oracle;   //改sys超級管理員密碼
alter user system identified by oracle; //改system管理員密碼
exit                           // 退出數據庫
sqlplus sys/oracle as sysdba       //使用sys超級管理員登錄數據庫
startup                  // 啓動數據庫

 

ZA)~3JON(K@BM00VN]E0FJG.png

 

 

Select name from v$database;         //查看數據庫
Shutdown abort                //關閉數據庫

 

4ID)5E3L2{S~EAE%IP7`$4F.png

Conn system/oracle               //切換用戶conn後面直接跟用戶名和密碼就可以

 

 

 

 

17,修改oracle啓動配置文件

完成oracle11g數據庫的安裝後,相關服務器會自動啓用,但並不表示下次開機後oracle服務器仍然可用。下面將介紹oracle的基本服務組件,以及如何編寫服務腳本來控制oracle數據庫系統的自動運行。

根據上面的安裝過程,oracle11g的數據庫軟件將安裝在變量ORACLE_HOME所北定的位置。例如/opt/oracle/product/11.2.0/dbhome_1/,而各種服務器組件程序(也包括sqlplus命令)正是位於其中的bin子目錄下。

Oracle11g數據庫的基本服務組件如下所述:(注:oracle服務組件最好以oracle用戶身份運行如:su - oracle)

lsnrctl:監聽器程序,用來提供數據庫訪問,默認監聽TCP 1521端口。

dbstart、dbshut:數據庫控制程序,用來啓動、停止數據庫實例。

emctl:管理器控制工具,用來控制OEM平臺的開啓與關閉,OEM平臺通過1158端口提供HTTPS訪問,5520端口提供TCP訪問。

爲了方便執行oracle11g的服務組件程序,建議對所有用戶的環境配置作進一步的優化調整、補充PATH路徑、oracle終端類型等變量設置。除此以外,還應該修改/etc/oratab配置文件,以便運行dbstart時自動啓用數據庫實例。

 

$vim /etc/oratab

    racl:/u01/app/oracle/product/11.2.0/db_1:Y  //把“N”改成“Y”

    這樣就可以通過dbstart 啓動此實例,也可以通過dbshut關閉此實例了。

    $ dbshut /u01/app/oracle/product/11.2.0/db_1/

    Processing Database instance "hello": log file     /u01/app/oracle/product/11.2.0/db_1/shutdown.log

    此時所有oracle的進程關閉,監聽器也停止。

    $dbstart /u01/app/oracle/product/11.2.0/db_1/

    Processing Database instance "hello": log file     /u01/app/oracle/product/11.2.0/db_1/startup.log

    此時監聽器工作,hello實例運行,再次查看監聽器狀態。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章