天天看點

DBCA靜默方式建立資料庫執行個體

dbca有兩種靜默的安裝執行個體的方式:一種是使用responseFile,另一種是直接使用指令行的方式。本次測試是用responseFile的方式。

使用responseFile方式自然需要有responseFile檔案了,這個檔案可以到database解壓包目錄下的response目錄中找到,還可以在$ORACLE_HOME/assistants/dbca/目錄下找到。檔案名叫dbca.rsp。

建立流程:

1、複制一個dbca.rsp檔案進行修改,來做為建立執行個體時使用。

[oracle@rhel6 dbca]$ pwd

/u01/app/oracle/product/11.2/db1/assistants/dbca

[oracle@rhel6 dbca]$ cp dbca.rsp /home/oracle

2、修改剛複制的dbca.rsp檔案

這裡解釋部分檔案中的參數

RESPONSEFILE_VERSION = "11.2.0"   #指定版本号

OPERATION_TYPE = "createDatabase"  #指定使用dbca要做的操作,這裡要建立執行個體就選擇createDatabase,如果要删除執行個體則為deleteDatabase

#建立執行個體有隻需要修改建立執行個體部分的參數就可以了,看到#-----------------------*** End of CREATEDATABASE section ***------------------------部分就算是配置完了

[CREATEDATABASE]

GDBNAME = "dbs"  #資料庫的Global database name

SID = "dbs"  #資料庫的執行個體名

SYSPASSWORD = "123456"  #指定sys使用者密碼

SYSTEMPASSWORD = "123456" #指定system使用者密碼

DATAFILEDESTINATION =/home/oracle/11201/dbs #指定資料檔案存放的目錄

CHARACTERSET = "ZHS16GBK"  #指定字元集

NATIONALCHARACTERSET= "AL16UTF16"  #指定國家字元集

DATABASETYPE = "OLTP"  #指定執行個體的類型

AUTOMATICMEMORYMANAGEMENT = "TRUE" #指定使用自動記憶體管理

TOTALMEMORY = "800"  #指定使用記憶體的大小,機關是MB

上面的參數是建立單執行個體時用到的參數,dbca.rsp檔案中還有很多其他的參數,如果有進一步的需求可以自行修改相應的需求

3、開始建立資料庫執行個體

執行下面的指令幾分鐘就可以建立一個執行個體:

[oracle@rhel6 11201]$ dbca -silent -responseFile /home/oracle/dbca.rsp

Copying database files

1% complete

3% complete

11% complete

18% complete

26% complete

37% complete

Creating and starting Oracle instance

40% complete

45% complete

50% complete

55% complete

56% complete

60% complete

62% complete

Completing Database Creation

66% complete

70% complete

73% complete

85% complete

96% complete

100% complete

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

4、檢查執行個體是否正常

[oracle@rhel6 11201]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Tue Mar 14 20:55:55 2017

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, OLAP, Data Mining and Real Application Testing options

sys@DBS>select status from v$instance;

STATUS

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

OPEN

sys@DBS>select name from v$datafile;

NAME

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

/home/oracle/11201/dbs/dbs/system01.dbf

/home/oracle/11201/dbs/dbs/sysaux01.dbf

/home/oracle/11201/dbs/dbs/undotbs01.dbf

/home/oracle/11201/dbs/dbs/users01.dbf

這裡簡單說一下為什麼這麼快的原因,從alert日志中可以看到如下圖的日志

說到這裡也要說一下建立執行個體的三種類型,如下圖:

<a href="https://s5.51cto.com/wyfs02/M00/8E/A8/wKiom1jH6_7z3vdkAAAJcZm5eAc771.png" target="_blank"></a>

而“Custom Database”自定義模式則沒有對應的資料檔案來恢複,而是全新建立的資料檔案,是以這種方式建立執行個體時耗費的時間也相對較長,因為需要跑資料字典。

上面簡單介紹了使用responseFile方式建立執行個體的方法,另外一種方法是直接使用指令行,可以用dbca -h指令檢視指令參數

<code>[oracle@rhel6 trace]$ dbca -h</code>

<code>dbca  [-silent | -progressOnly | -customCreate] {&lt;</code><code>command</code><code>&gt; &lt;options&gt; }  | { [&lt;</code><code>command</code><code>&gt; [options] ] -responseFile  &lt;response </code><code>file</code> <code>&gt; } [-continueOnNonFatalErrors &lt;</code><code>true</code> <code>| </code><code>false</code><code>&gt;]</code>

<code>Please refer to the manual </code><code>for</code> <code>details.</code>

<code>You can enter one of the following </code><code>command</code><code>:</code>

<code>Create a database by specifying the following parameters:</code>

<code>    </code><code>-createDatabase</code>

<code>        </code><code>-templateName &lt;name of an existing  template&gt;</code>

<code>        </code><code>[-cloneTemplate]</code>

<code>        </code><code>-gdbName &lt;global database name&gt;</code>

<code>        </code><code>[-policyManaged | -adminManaged &lt;Policy managed or Admin managed Database, default is Admin managed database&gt;]</code>

<code>            </code><code>[-createServerPool &lt;To create ServerPool </code><code>which</code> <code>will be used by the database to be created&gt;]</code>

<code>            </code><code>[-force &lt;To create serverpool by force when adequate </code><code>free</code> <code>servers are not available. This may affect already running database&gt;]</code>

<code>            </code><code>-serverPoolName &lt;One serverPool Name </code><code>in</code> <code>case</code> <code>of create server pool and comma separated list of serverPool name </code><code>in</code> <code>case</code> <code>of use serverpool&gt;</code>

<code>            </code><code>-[cardinality &lt;Specify cardinality </code><code>for</code> <code>new serverPool to be created, default is the number of qualified nodes&gt;]</code>

<code>        </code><code>[-sid &lt;database system identifier&gt;]</code>

<code>        </code><code>[-sysPassword &lt;SYS user password&gt;]</code>

<code>        </code><code>[-systemPassword &lt;SYSTEM user password&gt;]</code>

<code>        </code><code>[-emConfiguration &lt;CENTRAL|LOCAL|ALL|NOBACKUP|NOEMAIL|NONE&gt;</code>

<code>            </code><code>-dbsnmpPassword &lt;DBSNMP user password&gt;</code>

<code>            </code><code>-sysmanPassword &lt;SYSMAN user password&gt;</code>

<code>            </code><code>[-hostUserName &lt;Host user name </code><code>for</code> <code>EM backup job&gt;</code>

<code>             </code><code>-hostUserPassword &lt;Host user password </code><code>for</code> <code>EM backup job&gt;</code>

<code>             </code><code>-backupSchedule &lt;Daily backup schedule </code><code>in</code> <code>the form of hh:mm&gt;]</code>

<code>            </code><code>[-smtpServer &lt;Outgoing mail (SMTP) server </code><code>for</code> <code>email notifications&gt;</code>

<code>             </code><code>-emailAddress &lt;Email address </code><code>for</code> <code>email notifications&gt;]</code>

<code>            </code><code>[-centralAgent &lt;Enterprise Manager central agent home&gt;]]</code>

<code>        </code><code>[-disableSecurityConfiguration &lt;ALL|AUDIT|PASSWORD_PROFILE|NONE&gt;</code>

<code>        </code><code>[-datafileDestination &lt;destination directory </code><code>for</code> <code>all database files&gt; |  -datafileNames &lt;a text </code><code>file</code> <code>containing database objects such as controlfiles, tablespaces, redo log files and spfile to th</code>

<code>eir corresponding raw device </code><code>file</code> <code>names mappings </code><code>in</code> <code>name=value </code><code>format</code><code>.&gt;]        [-redoLogFileSize &lt;size of each redo log </code><code>file</code> <code>in</code> <code>megabytes&gt;]</code>

<code>        </code><code>[-recoveryAreaDestination &lt;destination directory </code><code>for</code> <code>all recovery files&gt;]</code>

<code>        </code><code>[-datafileJarLocation  &lt;location of the data </code><code>file</code> <code>jar, used only </code><code>for</code> <code>clone database creation&gt;]</code>

<code>        </code><code>[-storageType &lt; FS | ASM &gt; </code>

<code>            </code><code>[-asmsnmpPassword     &lt;ASMSNMP password </code><code>for</code> <code>ASM monitoring&gt;]</code>

<code>             </code><code>-diskGroupName   &lt;database area disk group name&gt;</code>

<code>             </code><code>-recoveryGroupName       &lt;recovery area disk group name&gt;</code>

<code>        </code><code>[-characterSet &lt;character </code><code>set</code> <code>for</code> <code>the database&gt;]</code>

<code>        </code><code>[-nationalCharacterSet  &lt;national character </code><code>set</code> <code>for</code> <code>the database&gt;]</code>

<code>        </code><code>[-registerWithDirService &lt;</code><code>true</code> <code>| </code><code>false</code><code>&gt; </code>

<code>            </code><code>-dirServiceUserName    &lt;user name </code><code>for</code> <code>directory service&gt;</code>

<code>            </code><code>-dirServicePassword    &lt;password </code><code>for</code> <code>directory service &gt;</code>

<code>            </code><code>-walletPassword    &lt;password </code><code>for</code> <code>database wallet &gt;]</code>

<code>        </code><code>[-listeners  &lt;list of listeners to configure the database with&gt;]</code>

<code>        </code><code>[-variablesFile   &lt;</code><code>file</code> <code>name </code><code>for</code> <code>the variable-value pair </code><code>for</code> <code>variables </code><code>in</code> <code>the template&gt;]]</code>

<code>        </code><code>[-variables  &lt;comma seperated list of name=value pairs&gt;]</code>

<code>        </code><code>[-initParams &lt;comma seperated list of name=value pairs&gt;]</code>

<code>        </code><code>[-memoryPercentage &lt;percentage of physical memory </code><code>for</code> <code>Oracle&gt;]</code>

<code>        </code><code>[-automaticMemoryManagement ]</code>

<code>        </code><code>[-totalMemory &lt;memory allocated </code><code>for</code> <code>Oracle </code><code>in</code> <code>MB&gt;]</code>

<code>        </code><code>[-databaseType &lt;MULTIPURPOSE|DATA_WAREHOUSING|OLTP&gt;]]</code>

      本文轉自hbxztc 51CTO部落格,原文連結:http://blog.51cto.com/hbxztc/1906532,如需轉載請自行聯系原作者