zoukankan      html  css  js  c++  java
  • Oracle 11g R2创建数据库之DBCA静默方式

    通常创建Oracle数据库都是通过DBCA(Database Configuration Assistant)工具完成的,DBCA工具可以通过两种方式完成建库任务,即图形界面方式和静默命令行方式。既然安装数据库软件可以通过静默方式来完成,创建数据库也可以通过静默方式来完成,本文就对使用DBCA工具静默创建数据库的方式进行梳理和总结。

    关于静默方式安装Oracle数据库软件可以参考另一篇博文:CentOS 7静默安装Oracle 11g R2数据库软件

    关于使用DBCA工具创建和管理数据库详细说明可以参考官方文档:Creating and Managing a Database with DBCA

    环境准备

    1. 操作系统(OS):CentOS Linux release 7.5.1804 (Core)
    2. 数据库版本(Oracle Database):Oracle Database 11g R2(11.2.0.4.0)

    其中监听也已经通过静默方式配置启动成功。有关DBCA工具的命令行参数可以通过如下命令查看:

    $ORACLE_HOME/bin/dbca -help

    建库准备

    通过DBCA工具进行静默创建数据库时,选项参数有三种方式传递给工具进行创建:

    1. DBCA工具命令行选项指定;
    2. 通过response file(响应文件)的方式传递;
    3. 以上两种方式混合使用,当混合使用时命令行选项值优先级更高。

    关于使用响应文件安装和配置数据库的详细说明可以参考官方文档:Installing and Configuring Oracle Database Using Response Files

    本文讨论的是只通过响应文件的方式来实现,修改响应文件当中的选项参数来创建合适的数据库。在安装完数据库软件之后,默认会生成响应文件的模板,该文件位于 $ORACLE_HOME/assistants/dbca目录下,名为dbca.rsp

    • 复制响应文件模板
      oracle用户下通过复制生成一份此次创建数据库需要的响应文件,并重命名为dbabd_dbca.rsp
    $ id
    uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),1001(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
    $ cd $ORACLE_HOME/assistants/dbca
    $ cp dbca.rsp /data/app/dbabd_dbca.rsp -ra
    
    • 编辑修改响应文件
      为了使响应文件简单便于编辑修改,去除了多余的空行和注释语句,关于响应文件当中的选项说明可以参考模板文件当中的注释语句。
    [GENERAL]
    RESPONSEFILE_VERSION = "11.2.0"
    OPERATION_TYPE = "createDatabase"
    [CREATEDATABASE]
    GDBNAME = "orcl11g.us.oracle.com"
    SID = "orcl11g"
    TEMPLATENAME = "General_Purpose.dbc"
    [createTemplateFromDB]
    SOURCEDB = "myhost:1521:orcl"
    SYSDBAUSERNAME = "system"
    TEMPLATENAME = "My Copy TEMPLATE"
    [createCloneTemplate]
    SOURCEDB = "orcl"
    TEMPLATENAME = "My Clone TEMPLATE"
    [DELETEDATABASE]
    SOURCEDB = "orcl"
    [generateScripts]
    TEMPLATENAME = "New Database"
    GDBNAME = "orcl11.us.oracle.com"
    [CONFIGUREDATABASE]
    [ADDINSTANCE]
    DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
    NODELIST=
    SYSDBAUSERNAME = "sys"
    [DELETEINSTANCE]
    DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
    INSTANCENAME = "orcl11g"
    SYSDBAUSERNAME = "sys"
    

    以上是响应文件模板默认选项内容,接下来对其选项进行自定义并修改其中某些选项值,这样为了更接近创建需求。修改后的响应文件dbabd_dbca.rsp如下:

    [GENERAL]                                      
    RESPONSEFILE_VERSION = "11.2.0"                -- 响应文件版本 
    OPERATION_TYPE = "createDatabase"              -- 响应文件操作类型
    [CREATEDATABASE]                               -- 操作类型对应选项标签
    GDBNAME = "dbabd"                              -- 全局数据库名(Global Name)
    SID = "dbabd"                                  -- 数据库实例名(SID)
    TEMPLATENAME = "General_Purpose.dbc"           -- 引用的模板
    SYSPASSWORD = "oracle"                         -- SYS用户密码
    SYSTEMPASSWORD = "password"                    -- SYSTEM用户密码
    DATAFILEDESTINATION = /data/app/oracle/data    -- 指定数据文件路径
    CHARACTERSET = "AL32UTF8"                      -- 指定字符集
    TOTALMEMORY = "300"                            -- 指定分配内存大小(MEMORY_TARGET),单位为MB
    SAMPLESCHEMA = TRUE                            -- 是否创建示例SCHEMA
    

    以上注释只是为了更好解析响应文件的内容,实际文件当中并不存在注释内容。

    关于响应文件当中指定的模板,可以在 $ORACLE_HOME/assistants/dbca/templates目录下面查看其内容,模板文件当中指定了创建数据库的一些选项,这里就不再详细赘述。

    开始建库

    创建数据文件目录

    本次建库的数据文件存放路径为 /data/app/oracle/data,进入oracle用户下面进行创建:

    # su - oracle
    $ mkdir -pv $ORACLE_BASE/data
    mkdir: created directory ‘/data/app/oracle/data’
    $ ls $ORACLE_BASE
    cfgtoollogs  checkpoints  data  diag  product
    

    使用DBCA工具创建

    oracle用户下执行如下命令创建数据库:

    $ $ORACLE_HOME/bin/dbca -silent -responseFile /data/app/dbabd_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
    57% 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 "/data/app/oracle/cfgtoollogs/dbca/dbabd/dbabd.log" for further details.
    

    至此数据库创建完成,可以通过sqlplus进行查询实例状态:

    $ sqlplus / as sysdba
    
    SQL*Plus: Release 11.2.0.4.0 Production on Thu Jan 10 15:56:47 2019
    
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    
    SQL> select instance_name,startup_time,status from v$instance;
    
    INSTANCE_NAME                                    STARTUP_TIME        STATUS
    ------------------------------------------------ ------------------- ------------------------------------
    dbabd                                            2019-01-10 15:51:23 OPEN
    

    也可以通过监听查看实例状态:

    $ lsnrctl status
    
    LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 10-JAN-2019 16:00:00
    
    Copyright (c) 1991, 2013, Oracle.  All rights reserved.
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
    Start Date                10-JAN-2019 15:44:14
    Uptime                    0 days 0 hr. 15 min. 46 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /data/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
    Listener Log File         /data/app/oracle/diag/tnslsnr/dbabd/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbabd)(PORT=1521)))
    Services Summary...
    Service "dbabd" has 1 instance(s).
      Instance "dbabd", status READY, has 1 handler(s) for this service...
    Service "dbabdXDB" has 1 instance(s).
      Instance "dbabd", status READY, has 1 handler(s) for this service...
    The command completed successfully
    

    参考

    https://docs.oracle.com/cd/E11882_01/install.112/e47689/app_nonint.htm#LADBI1341
    https://docs.oracle.com/cd/E11882_01/server.112/e10897/install.htm#ADMQS0231

    ☆〖本人水平有限,文中如有错误还请留言批评指正!〗☆

  • 相关阅读:
    【实验吧】CTF_Web_登录一下好吗?
    各种常用数字格式化
    .Net 4.0 (2)
    springBoot+springSecurity 数据库动态管理用户、角色、权限
    springboot+mybatis+SpringSecurity 实现用户角色数据库管理
    Spring boot中Redis的使用
    spring data jpa的使用
    如何优雅的使用mybatis
    WebJars
    mvn打包的POm文件
  • 原文地址:https://www.cnblogs.com/dbabd/p/10250968.html
Copyright © 2011-2022 走看看