Oracle 12c 靜默安裝(帶註釋)

Oracle靜默安裝html

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

 

環境配置c++

一、安裝centos6.5操做系統git

物理內存很多於1.5Gsql

硬盤能夠空間很多於5G數據庫

swap分區空間很多於2Gvim

支持256色以上顯卡centos

cpu主頻不小於550mHZ安全

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

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

 

安裝部署

 

 

一、安裝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

 

 

 

二、修改內核參數

  內核參數調總體如今/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    刷新內核參數表

 

 

三、修改內核限制參數

 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行是設置文件數硬限制

四、建立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

 

 

五、建立相關數據庫目錄

    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                    //屬主屬組


 

六、修改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

七、解壓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實例運行,再次查看監聽器狀態。

相關文章
相關標籤/搜索