OCP课程25:管理Ⅰ之使用DBCA创建数据库

时间:2021-12-05 08:48:47

转载至http://blog.itpub.net/26303199/viewspace-2107129/

课程目标:

  • 使用DBCA创建数据库
  • 使用DBCA生成数据库创建脚本
  • 使用DBCA管理数据库模版
  • 使用DBCA完成一些附加任务

1、规划数据库

OCP课程25:管理Ⅰ之使用DBCA创建数据库

创建数据库之前,需要考虑以下问题:

  • 数据库的逻辑结构和物理实现

--有多少磁盘,使用哪种存储系统

--预计有多少数据文件,对增长的估计

--要创建多少表空间,表空间有哪些数据文件

--存储哪些类型的信息

--还有没有特殊的要求

  • 整体的数据库设计
  • 数据库的备份策略

2、创建数据库的模版

OCP课程25:管理Ⅰ之使用DBCA创建数据库

使用DBCA创建数据库有三个模版

  • 通用或者事务处理模版:联机事务处理系统(OLTP),例如软件公司的零售系统
  • 用户自定义:多种用途的数据库(可能包含OLTP和数据仓库)
  • 数据仓库:以查询为主的数据库

使用通用或者数据仓库模版创建是最快的,使用现成的数据文件,用户自定义最慢,需要使用脚本去创建,但是也最灵活。


3、现在合适的字符集

OCP课程25:管理Ⅰ之使用DBCA创建数据库

创建数据库的时候要选择字符集,字符集有2种,一种是单字节字符集,一个字符由一个字节组成,有7位和8位2种,一种是多字节字符集,包括unicode。

字符集在创建数据库的时候确定,后面再去改就很麻烦。

创建数据库一般选择unicode这种字符集,如果使用中文,可以选16gbk或者uft8,如果是全球的,可以选uft8等。如果系统里面已经有数据库了,新加的系统要和原来的系统进行数据交换,需要字符集保持一致。

例子:查看数据库的字符集

SQL>  select userenv('language') from dual;

USERENV('LANGUAGE')

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

AMERICAN_AMERICA.ZHS16GBK

例子:查看Linux客户端的字符集

[oracle@oracletest1 ~]$  echo $NLS_LANG

american_america.zhs16gbk


4、字符集如何使用

OCP课程25:管理Ⅰ之使用DBCA创建数据库

数据库的字符集设置好了之后,客户端的字符集需要和数据库保持一致,如果不一样,就会自动进行转换。通过查看客户端的NLS_LANG环境变量进行确认。NLS_LANG环境变量定义了客户端的字符集,不同的客户端可以使用不同的字符集。如果数据库的字符集和客户端的字符集不同,则数据会自动进行转换,但是数据库的字符集必须是客户端字符集的超集,则数据才可以自动进行转换成功。如果数据库的字符集和客户端的字符集相等,则不需要进行转换。

在Windows上面,NLS_LANG在注册表里面。在Linux上面,就需要export设置环境变量,特别是在exp导出数据的时候,报字符集不一致的错误,就是因为没有设置这个环境变量。

Windows设定NLS_LANG有三种方法:

a)修改注册表。将HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_ORACLECLENT_HOME1\下NLS_LANG键值改为你要设定的字符集,如将SIMPLIFIED CHINESE_CHINA.ZHS16GBK改为:SIMPLIFIED CHINESE_CHINA.AL32UTF8。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

我们看到Windows默认的是简体中文,16gbk,创建数据库的时候字符集就选择16gbk,Windows客户端就不用去修改NLS_LANG了。如果不是的话,客户端就需要修改一下。

b) 设定环境变量。在My Computer->Properties->Advanced->Environment Variables->System Variables 新增环境变量设置,如:Variable name=NLS_LANG,Variable Value= SIMPLIFIED CHINESE_CHINA.AL32UTF8。这样NLS_LANG字符集为UTF8,这个NLS_LANG优先序高于注册表中的NLS。注意:环境变量设在系统变量中(System Vairables),而不是用户变量(User Vairables)。

c)在应用程序运行的Process Session中设定。在程序运行之前,先通过set NLS_LANG=进程Session的字符集。例如:

OCP课程25:管理Ⅰ之使用DBCA创建数据库

Echo %nls_lang%,在这个session中,已经设定NLS_LANG字符集为ZHS16GBK。

注册表NLS_LANG、系统环境变量NLS_LANG、Session NLS_LANG的优先序是:Session NLS_LANG > 系统环境变量NLS_LANG > 注册表NLS_LANG。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

如果客户端的NLS_LANG的值和数据库的字符集一样,比如都是AL32UTF8,但是客户端的操作系统的字符集是WE8MSWIN1252(英文操作系统),则数据使用WE8MSWIN1252进行编码存进数据库,不会转换成AL32UTF8,故无效的数据被存进了数据库。


5、使用DBCA创建数据库

可以使用DBCA创建数据库,修改配置,删除数据库以及创建一个模版,先来看创建数据库。

[oracle@oragrid database]$ dbca

OCP课程25:管理Ⅰ之使用DBCA创建数据库

选择创建一个数据库。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

选择创建数据库的模版“General Purpose or Transaction Processing”。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

输入全局数据库名和SID,全局数据库名格式一般为database_name.domain_name,SID默认为数据库名称,唯一标识一个实例,不超过8个字符。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

此处如果选择“Configure Enterprise Manager”,需要先配置监听。由于没有安装Grid Control,故只能选择“Configure Database Control for local management”。同时建议启用“Automatic Maintenance Tasks”,以便统计信息的收集。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

为下面这四个用户指定密码,可以分别设置为不同的密码,也可以设置为同一个密码。

  • sys用户在创建数据库的时候自动创建并授予DBA角色,数据库数据字典的基表和视图都存储在sys模式下,为维护数据字典的完整性,sys模式下的表只能由数据库自己维护,不能为用户或者管理员修改,也不要在sys模式下创建表。
  • system用户在创建数据库的时候自动创建并授予DBA角色,可以使用system用户去创建用于显示管理信息的表和视图以及各种数据库选项和工具的内部表和视图,不要使用system模式去存储与管理无关的表。
  • sysman用户是EM的管理用户
  • dbsnmp用户是EM监控数据库的用户,EM通过这个账户获取数据库性能信息。

DBA角色在安装数据库的时候自动创建,包含了大部分数据库的系统权限。但是DBA角色不包括sysdba和sysoper系统权限。

sysdba和sysoper系统权限是特殊的管理权限,允许管理员执行基本的数据库管理任务,例如创建数据库,启动和管理实例。即使在数据库没有打开的情况下也可以访问数据库实例,故不通过数据库本身来控制这两个权限。一般通过connect as sysdba来指定登录的用户有这个权限。

具体的权限如下:

SYSDBA:一种系统权限,当我们以SYSDBA这个身份去登陆数据库,我们当前的default schema是SYS,有下面权限

  • Perform STARTUP and SHUTDOWN operations
  • ALTER DATABASE: open, mount, back up, or change character set

  • CREATE DATABASE

  • DROP DATABASE

  • CREATE SPFILE

  • ALTER DATABASE ARCHIVELOG

  • ALTER DATABASE RECOVER

  • Includes the RESTRICTED SESSION privilege

SYSOPER:一种系统权限,当我们以SYSOPER这个身份去登陆数据库,我们当前的default schema是PUBLIC,这个权限不能查看用户数据。有下面权限  

  • Perform STARTUP and SHUTDOWN operations
  • CREATE SPFILE

  • ALTER DATABASE OPEN/MOUNT/BACKUP

  • ALTER DATABASE ARCHIVELOG

  • ALTER DATABASE RECOVER (Complete recovery only. Any form of incomplete recovery, such as UNTIL TIME|CHANGE|CANCEL|CONTROLFILE requires connecting as SYSDBA.)

  • Includes the RESTRICTED SESSION privilege

OCP课程25:管理Ⅰ之使用DBCA创建数据库

OCP课程25:管理Ⅰ之使用DBCA创建数据库

选择存储类型,“Storage Type”可以选择“File System”或者“Automatic Storage Management(ASM)”,这里选择ASM,然后选择“Use Oracle-Managed Files”(由Oracle来管理数据文件,自动产生数据文件名),点击“Browse”,选择磁盘组并输入ASMSNMP用户密码,这里选择的是“+DATA”。点击“Multiplex Redo and Control Files”可以多路复用联机重做日志文件和控制文件。

OCP课程25:管理Ⅰ之使用DBCA创建数据库 OCP课程25:管理Ⅰ之使用DBCA创建数据库

OCP课程25:管理Ⅰ之使用DBCA创建数据库

OCP课程25:管理Ⅰ之使用DBCA创建数据库

勾选“Specify Fast Recovery Area”,指定快速恢复区为“+FRA”磁盘组以及大小,Oracle建议快速恢复区的大小要大于你的数据库。同时启用归档。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

指定是否安装“Sample Schemas”,包括常用的HR模式等。还可以在“Custom Scripts”指定数据库创建完成后需要运行的脚本。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

指定内存大小,选择“Typical”,并勾选“Use Automatic Memory Management”使用自动内存管理。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

指定可以同时连接到数据库的操作系统用户进程的最大数量,包括用户进程和数据库后台进程。由于前面选择的是“General Purpose or Transaction Processing”模块,“Block Size”的大小默认为8KB,不能修改。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

指定字符集,可以选择Oracle推荐使用的“Use Unicode(AL32UTF8)”,也可以选择“Choose from the list of character sets”,然后选择“ZHS16GBK”中文字符集。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

选择连接模式为“Dedicated Server Mode”。也可以通过“All Initialization Parameters”查看和修改其他参数。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

查看确认前面的存储设置,如果选择了预定义的模版,则不能增加或者删除控制文件和数据文件。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

创建选项可以选择“Create Database”,“Save as a Database Template”和“Genereate Database Creation Scripts”。点击“Finish”,先保存模版,再产生脚本,最后创建数据库。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

确认前面的配置信息。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

开始创建数据库。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

创建完成后,需要注意以下内容:

  • 安装日志文件位置
  • Global Database Name(全局数据库名)
  • System Identifier(SID)
  • Server Parameter File name(spfile)
  • Enterprise Manager URL

点击“Password Management”,可以解锁用户并设置密码。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

来看一下刚才创建的脚本

[oracle@oracletest1 ~]$ cd /u01/app/oracle/admin/stone/scripts/
[
oracle@oracletest1 scripts]$ ls
cloneDBCreation.sql   init.ora              initstoneTemp.ora  postDBCreation.sql  rmanRestoreDatafiles.sql  stone.sql
CloneRmanRestore.sql  initstoneTempOMF.ora  lockAccount.sql    postScripts.sql     stone.sh                  tempControl.ctl

[oracle@oracletest1 scripts]$ more stone.sh
#!/bin/sh
OLD_UMASK=`umask`
umask 0027
mkdir -p /u01/app/oracle/admin/stone/adump
mkdir -p /u01/app/oracle/admin/stone/dpdump
mkdir -p /u01/app/oracle/admin/stone/pfile
mkdir -p /u01/app/oracle/cfgtoollogs/dbca/stone
umask ${OLD_UMASK}
ORACLE_SID=stone; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH
echo You should Add this entry in the /etc/oratab: stone:/u01/app/oracle/product/11.2.0/dbhome_1:Y
/u01/app/oracle/product/11.2.0/dbhome_1/bin/sqlplus /nolog @/u01/app/oracle/admin/stone/scripts/stone.sql

[oracle@oracletest1 scripts]$ more stone.sql 
set verify off
ACCEPT sysPassword CHAR PROMPT 'Enter new password for SYS: ' HIDE
ACCEPT systemPassword CHAR PROMPT 'Enter new password for SYSTEM: ' HIDE
ACCEPT sysmanPassword CHAR PROMPT 'Enter new password for SYSMAN: ' HIDE
ACCEPT dbsnmpPassword CHAR PROMPT 'Enter new password for DBSNMP: ' HIDE
ACCEPT asmSysPassword CHAR PROMPT 'Enter ASM SYS user password: ' HIDE
host /u01/app/oracle/product/11.2.0/dbhome_1/bin/orapwd file=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwstone force=y
host /u01/app/grid/product/11.2.0/grid/bin/setasmgidwrap o=/u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
@/u01/app/oracle/admin/stone/scripts/CloneRmanRestore.sql
@/u01/app/oracle/admin/stone/scripts/cloneDBCreation.sql
@/u01/app/oracle/admin/stone/scripts/postScripts.sql
host /u01/app/oracle/product/11.2.0/dbhome_1/bin/srvctl add database -d stone -o /u01/app/oracle/product/11.2.0/dbhome_1 -p +DATA/stone/
spfilestone.ora -n stone -a "DATA,FRA"
host echo "SPFILE='+DATA/stone/spfilestone.ora'" > /u01/app/oracle/product/11.2.0/dbhome_1/dbs/initstone.ora
@/u01/app/oracle/admin/stone/scripts/lockAccount.sql
@/u01/app/oracle/admin/stone/scripts/postDBCreation.sql

创建过程中的信息

[oracle@oracletest1 ~]$ cd /u01/app/oracle/cfgtoollogs/dbca/stone/
[
oracle@oracletest1 stone]$ ls
cloneDBCreation.log   emConfig.log     mkplug_v3_stone.log  postScripts.log           tempControl.ctl  tts_example_imp.log
CloneRmanRestore.log  lockAccount.log  postDBCreation.log   rmanRestoreDatafiles.sql  trace.log

[oracle@oracletest1 stone]$ tail -f trace.log 
[Finalizer] [ 2015-10-17 22:44:32.381 CST ] [SQLEngine.done:2189]  Done called
[AWT-EventQueue-0] [ 2015-10-17 22:48:30.843 CST ] [CompletionDialog.actionPerformed:564]  m_sysPwdChanged=false
[TaskScheduler timer] [ 2015-10-17 22:48:30.879 CST ] [SQLEngine.done:2189]  Done called
[TaskScheduler timer] [ 2015-10-17 22:48:30.882 CST ] [Host.cleanup:3682]  Dbca exit status is: 0
[TaskScheduler timer] [ 2015-10-17 22:48:30.882 CST ] [Host.cleanup:3685]  check point context null
[TaskScheduler timer] [ 2015-10-17 22:48:30.886 CST ] [InventoryUtil.getOUIInvSession:347]  setting OUI READ level to ACCESSLEVEL_READ_LOCKLESS
[TaskScheduler timer] [ 2015-10-17 22:48:30.889 CST ] [InventoryUtil.getHomeName:111]  homeName = OraDb11g_home1
[Thread-13] [ 2015-10-17 22:48:30.892 CST ] [DbcaCleanupHook.run:44]  Cleanup started
[Thread-13] [ 2015-10-17 22:48:30.892 CST ] [OracleHome.cleanupDBOptionsIntance:1482]  DB Options dummy instance sid=null
[Thread-13] [ 2015-10-17 22:48:30.892 CST ] [DbcaCleanupHook.run:49]  Cleanup ended

模版位置

[oracle@oracletest1 ~]$ cd /u01/app/oracle/product/11.2.0/dbhome_1/assistants/dbca/templates/
[
oracle@oracletest1 templates]$ ls -ltr
total 301548
-rw-r--r-- 1 oracle oinstall     11489 May  1  2013 New_Database.dbt
-rw-r--r-- 1 oracle oinstall      5104 Aug 24  2013 Data_Warehouse.dbc
-rw-r--r-- 1 oracle oinstall      4984 Aug 24  2013 General_Purpose.dbc
-rwxr-xr-x 1 oracle oinstall   1507328 Aug 27  2013 example.dmp
-rwxr-xr-x 1 oracle oinstall  21741568 Aug 27  2013 example01.dfb
-rwxr-xr-x 1 oracle oinstall   9748480 Aug 27  2013 Seed_Database.ctl
-rwxr-xr-x 1 oracle oinstall 275750912 Aug 27  2013 Seed_Database.dfb
-rw-r----- 1 oracle oinstall      4782 Oct 17 22:31 stone.dbc

如果有现成的模版,可以直接拷贝到这个目录来

安装完成后,解锁HR用户,设置密码,然后登录数据库,查看数据库

[oracle@oracletest1 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.4.0 Production on Tue Oct 20 08:18:19 2015
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
SQL> conn / as sysdba
Connected.
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
SQL> show parameter db_name;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_name                              string      stone
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options

查看数据库的进程

[oracle@oracletest1 ~]$ ps -ef | grep ora_
oracle    2927     1  0 08:03 ?        00:00:00 ora_pmon_stone
oracle    2929     1  0 08:03 ?        00:00:00 ora_psp0_stone
oracle    2931     1  1 08:03 ?        00:00:17 ora_vktm_stone
oracle    2935     1  0 08:03 ?        00:00:00 ora_gen0_stone
oracle    2937     1  0 08:03 ?        00:00:00 ora_diag_stone
oracle    2939     1  0 08:03 ?        00:00:00 ora_dbrm_stone
oracle    2941     1  0 08:03 ?        00:00:00 ora_dia0_stone
oracle    2943     1  0 08:03 ?        00:00:00 ora_mman_stone
oracle    2945     1  0 08:03 ?        00:00:00 ora_dbw0_stone
oracle    2947     1  0 08:03 ?        00:00:00 ora_lgwr_stone
oracle    2949     1  0 08:03 ?        00:00:00 ora_ckpt_stone
oracle    2951     1  0 08:03 ?        00:00:00 ora_smon_stone
oracle    2953     1  0 08:03 ?        00:00:00 ora_reco_stone
oracle    2955     1  0 08:03 ?        00:00:00 ora_rbal_stone
oracle    2957     1  0 08:03 ?        00:00:00 ora_asmb_stone
oracle    2959     1  0 08:03 ?        00:00:01 ora_mmon_stone
oracle    2962     1  0 08:03 ?        00:00:00 ora_mmnl_stone
oracle    2965     1  0 08:03 ?        00:00:00 ora_d000_stone
oracle    2967     1  0 08:03 ?        00:00:00 ora_mark_stone
oracle    2969     1  0 08:03 ?        00:00:00 ora_s000_stone
oracle    2996     1  0 08:04 ?        00:00:00 ora_arc0_stone
oracle    2998     1  0 08:04 ?        00:00:00 ora_arc1_stone
oracle    3000     1  0 08:04 ?        00:00:00 ora_arc2_stone
oracle    3002     1  0 08:04 ?        00:00:00 ora_arc3_stone
oracle    3009     1  0 08:04 ?        00:00:00 ora_qmnc_stone
oracle    3035     1  0 08:04 ?        00:00:00 ora_q000_stone
oracle    3037     1  0 08:04 ?        00:00:00 ora_q001_stone
oracle    3046     1  0 08:04 ?        00:00:00 ora_cjq0_stone
oracle    3117     1  0 08:09 ?        00:00:00 ora_smco_stone
oracle    3119     1  0 08:09 ?        00:00:00 ora_w000_stone
oracle    3220     1  0 08:19 ?        00:00:00 ora_w001_stone
oracle    3227     1  0 08:19 ?        00:00:00 ora_w002_stone
oracle    3233     1  0 08:20 ?        00:00:00 ora_w003_stone
oracle    3235  2697  0 08:20 pts/0    00:00:00 grep ora_

查看数据库服务

[oracle@oracletest1 ~]$ srvctl status database -d stone
Database is running.

通过grid用户查看集群资源

[grid@oracletest1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       oracletest1                                  
ora.FRA.dg
               ONLINE  ONLINE       oracletest1                                  
ora.LISTENER.lsnr
               ONLINE  ONLINE       oracletest1                                  
ora.asm
               ONLINE  ONLINE       oracletest1              Started             
ora.ons
               OFFLINE OFFLINE      oracletest1                                  
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
      1        ONLINE  ONLINE       oracletest1                                  
ora.diskmon
      1        OFFLINE OFFLINE                                                   
ora.evmd
      1        ONLINE  ONLINE       oracletest1                                  
ora.stone.db
      1        ONLINE  ONLINE       oracletest1              Open               

可以看到多了一个数据库,是open状态

查看EM的状态

[oracle@oracletest1 ~]$ emctl status dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.4.0 
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
https://oracletest1:1158/em/console/aboutApplication
Oracle Enterprise Manager 11g is running. 
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/11.2.0/dbhome_1/oracletest1_stone/sysman/log

可以使用浏览器登录EM


6、使用DBCA管理模版

通过dbca还可以来管理模版,针对既有的数据库创建一个克隆的模版,克隆当前数据库的结构,或者也可以加上数据文件。

[oracle@oracletest1 ~]$ dbca

选择管理模版选项。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

这里可以选择从现有模版创建,使用现有数据库的结构进行创建或者使用现有数据库的结构和数据进行创建,还可以删除模版,我们这里选择使用现有数据库的结构和数据来创建模版。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

选择数据库实例,需要注意在创建过程中数据库会被关掉。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

输入模版的名字以及模版数据文件的路径。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

这里选择是保留源数据库的目录结构还是要使用OFA进行转换,如果你源数据库是使用的ASM,而目标数据库没有使用ASM,就需要选择使用OFA进行转换。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

前面选项的确认信息,再次提示你在创建过程中数据库会被关掉。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

[oracle@oracletest1 ~]$ cd /u01/app/oracle/cfgtoollogs/dbca/
[
oracle@oracletest1 dbca]$ ls -ltr
total 164
drwxr-x--- 2 oracle oinstall   4096 Oct 20 15:04 stone
-rw-r----- 1 oracle oinstall   1491 Oct 20 15:15 CloneDataGathering.log
-rw-r----- 1 oracle oinstall    215 Oct 20 15:15 CloneRmanCompressionStep.log
-rw-r----- 1 oracle oinstall 148243 Oct 20 15:15 trace.log_OraDb11g_home1_2015-10-20_03-04-00-PM
-rw-r----- 1 oracle oinstall   1695 Oct 20 15:15 rmanBackup.sql

其中rmanBackup.sql是备份的脚本,其余三个文件是日志文件,可以看到创建的模版文件在'/u01/app/oracle/product/11.2.0/dbhome_1/assistants/dbca/templates/'目录下。

OCP课程25:管理Ⅰ之使用DBCA创建数据库

创建完成后,到模版目录进行查看。

[oracle@oracletest1 dbca]$ cd /u01/app/oracle/product/11.2.0/dbhome_1/assistants/dbca/templates/
[
oracle@oracletest1 templates]$ ls -ltr stonebak*
-rw-r----- 1 oracle dba      309092352 Oct 20 15:17 stonebak.dfb
-rw-r----- 1 oracle dba        9748480 Oct 20 15:17 stonebak.ctl
-rw-r----- 1 oracle oinstall      5823 Oct 20 15:17 stonebak.dbc

将上面这三个文件拷贝到目标数据库的$ORACLE_HOME/assistants/dbca/templates/目录下面,使用dbca创建数据库的时候,就可以看到了。

OCP课程25:管理Ⅰ之使用DBCA创建数据库


7、使用DBCA删除数据库

可以使用dbca删除数据库,也可以通过sqlplus来删除数据库,启动数据库到限制模式的mount状态,startup restrict force mount;然后使用drop database删除数据库。删除数据库不会删除归档日志文件以及备份文件,需要使用RMAN去进行删除。


8、使用DBCA配置数据库

还可以通过dbca修改数据库的选项,但是可以修改的选项非常少。


9、相关习题:

(1)Which three statements regarding the server parameter file (SPFILE) are true? (Choose three.)
A.  An SPFILE is a binary file
B.  An SPFILE cannot reside on a client
C.  An SPFILE cannot contain static parameters
D.  An SPFILE can store changes persistently across instance restarts
E.  An SPFILE can be read by the database server, but it is not written to by the server
F.  An SPFILE must be created manually, before creating a database, even if you use the Database Configuration Assistant (DBCA) to create the database

答案:ABD

(2)You are working on a new Oracle Database 11g server, where only the software is installed and no database is created. You plan to create a database on this server using the Database Configuration  Assistant  (DBCA).  Some  of  the requirements  set  for  your  database  creation task are:
   1. Configure the database to operate in shared server mode.
   2. Disable automatic maintenance tasks such as optimizer statistics collection.
   3. Configure a naming method to help the remote user connect to the database instance.
   4. Use Automatic Storage Management (ASM) for storing the database files.
   5. Configure daily database backup to flash recovery area.
   6. Configure Enterprise Manager Database Control to manage the database.
Which of these requirements can be met while creating the database?
A.  4 and 6
B.  2, 3, 4, and 6
C.  1, 2, 4, 5, and 6
D.  1, 2, 3, 4, 5, and 6

答案:C

(3)You  plan  to  implement  the  distributed  database  system  in  your  company.  You  invoke Database  Configuration  Assistant  (DBCA)  to  create  a  database  on  the  server.  During the installation, DBCA prompts you to specify the Global Database Name.  
What must this name be made up of?
A.  It must be made up of a database name and a domain name.
B.  It must be made up of the value in ORACLE_SID and HOSTNAME.
C.  It must be made up of the value that you plan to assign for INSTANCE_NAME and HOSTNAME.
D.  It must be made up of the value that you plan to assign for ORACLE_SID and SERVICE_NAMES.

答案:A

(4)View the Exhibit. 

OCP课程25:管理Ⅰ之使用DBCA创建数据库

You  are  creating  an  additional  database  by  using  the  Database  Configuration  Assistant (DBCA). You opted to create a General Purpose database and during the database creation realize that the Block Size field is not enabled. 
What could be the reason for this?
A.  You have chosen the File System option as the storage option.
B.  You have chosen the Automatic Storage Management (ASM) as the storage option.
C.  The data block size can be increased only when DBCA is invoked from Oracle Universal Installer (OUI).
D.  You are using General Purpose template and not the Custom Database template to create the database.

答案:D