通常创建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

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

Oracle 11g R2创建数据库之DBCA静默方式的更多相关文章

  1. Oracle 11g R2创建数据库之手工建库方式

    在之前的博文当中梳理了关于DBCA静默方式创建数据库的过程,本文就手工通过SQL*PLUS客户端采用CREATE DATABASE语句创建数据库.这种建库方式就是完全使用手工SQL语句创建数据库,通常 ...

  2. [转]Oracle 11g R2 RAC高可用连接特性 – SCAN详解

    原文地址:http://czmmiao.iteye.com/blog/2124373   昨天帮朋友解决11g RAC SCAN问题,当时为这朋友简单解答了一些SCAN特性相关的问题,但我知道这仅仅是 ...

  3. CentOS 7静默安装Oracle 11g R2数据库软件

    之前安装Oracle 11g R2数据库软件都是建立在图形界面上的,不过现在大部分服务器上都没有安装图形界面.图形界面安装较为方便,安装选项清晰,步骤明确,但Oracle还支持另一种安装方式,就是通过 ...

  4. centos 安装oracle 11g r2(二)-----监听配置与创建数据库实例

    centos 安装oracle 11g r2(二)-----监听配置与创建数据库实例 一.监听配置(命令:netca) 1.以 oracle 用户输入命令,启动图形化工具配置监听 [oracle@lo ...

  5. linux 6.4平台利用rman迁移oracle 11g r2数据库

    测试环境分别在虚拟机安装A,B主机 系统:linux 6.4, 数据库:oracle 11g r2 A主机:安装oracle 11g r2数据库 B主机:只安装oracle 11g r2软件 第一步, ...

  6. Windows Server 2008 R2 64位操作系统安装Oracle 11g 64位数据库,在客户终端上安装Oracle 11g 32位,才能安装P/L Sql Developer并配置

    1.下载Oracle 11g R2 for Windows的版本 下载地址: http://www.oracle.com/technetwork/database/enterprise-edition ...

  7. centos 安装oracle 11g r2(三)-----表空间创建

    centos 安装oracle 11g r2(三)-----表空间创建 创建表空间前要保证监听与数据库实例已经启动 1.启动监听 [oracle@localhost ~]$ lsnrctl start ...

  8. ORACLE 11g R2数据库安装硬件环境要求

    物理内存要求:最小1G,在windows7,windows8,windows8.1上最小2G. 虚拟内存(或分页空间)容量要求: Available RAM Swap Space Required B ...

  9. Oracle 11G R2 在windows server 2008 64位安装时提示:无法在windows "开始"菜单或桌面上创建项

    错误代码及解释:  在windows server 2008 64 位操作系统中安装 oracle 11G R2 64位 版本时提示:无法在windows "开始"菜单或桌面上创建 ...

随机推荐

  1. Spring的两种代理方式:JDK动态代理和CGLIB动态代理

    代理模式 代理模式的英文叫做Proxy或Surrogate,中文都可译为”代理“,所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动.在一些情况下,一个客户不想或者不能够直接引用一个对 ...

  2. 原创:在局域网中,如何知道某个IP被占用 show arp

    如果某一栋楼有三层交换机(一般为汇聚层交换机),只需要在该三层交换机输入命令:show arp,即可知道当前那些IP地址被占用.如果该栋楼只有二层交换机(接入层交换机),需要在连接该二层交换机的上级三 ...

  3. Machine Learning第十一周笔记:photo OCR

    博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) 刚刚完毕了Cousera上Machine Learning的最后一周课程.这周介绍了 ...

  4. session_id()和session_regenerate_id()对原来session文件和其中数据是怎么处理的

    一.session_id()对原来session文件和里面的数据,是怎么处理的? 测验办法:<?php $sid = md5("aaad");session_id($sid) ...

  5. URLSearchParams和axios的post请求(防忘记)

    import axios from 'axios' Vue.prototype.axios = axios mounted () { let params = new URLSearchParams( ...

  6. [tomcat启动报错]registered the JDBC driver [com.alibaba.druid.proxy.DruidDriver] but failed to unregister it when the web application was stopped

    环境:一个tomcat ,一个工程配置了多数据源,在启动的时候报如下错误: SEVERE: The web application [/qdp-resource-job] registered the ...

  7. System.InvalidOperationException:“线程间操作无效: 从不是创建控件“txtPortName02”的线程访问它。”

    “System.InvalidOperationException”类型的未经处理的异常在 System.Windows.Forms.dll 中发生 其他信息: 线程间操作无效: 从不是创建控件“tx ...

  8. 【CF613D】Kingdom and its Cities 虚树+树形DP

    [CF613D]Kingdom and its Cities 题意:给你一棵树,每次询问给出k个关键点,问做多干掉多少个非关键点才能使得所有关键点两两不连通. $n,\sum k\le 10^5$ 题 ...

  9. RecyclerView实现分组展示信息

    extends:http://blog.csdn.net/wzlyd1/article/details/52292548 前言 一直在鸿洋大神的安卓群里水群,渐渐的loader和安卓弟等人都成长了起来 ...

  10. ThinkPHP3.2.3框架下接入阿里云短信服务接口实现:注册登录

    首先介绍下短信注册登录流程: 注册页面点击获取手机号验证码按钮,用jquery的click事件POST或GET方法把手机号发送到后台控制器: 后台控制器创建函数,收到手机号后生成随机码,例如:6位的随 ...