正文
通常创建Oracle数据库都是通过DBCA(Database Configuration Assistant)工具完成的,DBCA工具可以通过两种方式完成建库任务,即图形界面方式和静默命令行方式。既然安装数据库软件可以通过静默方式来完成,创建数据库也可以通过静默方式来完成,本文就对使用DBCA工具静默创建数据库的方式进行梳理和总结。
关于静默方式安装Oracle数据库软件可以参考另一篇博文:CentOS 7静默安装Oracle 11g R2数据库软件
关于使用DBCA工具创建和管理数据库详细说明可以参考官方文档:Creating and Managing a Database with DBCA
环境准备
操作系统(OS):CentOS Linux release 7.5.1804 (Core)
数据库版本(Oracle Database):Oracle Database 11g R2(11.2.0.4.0)
其中监听也已经通过静默方式配置启动成功。有关DBCA工具的命令行参数可以通过如下命令查看:
$ORACLE_HOME/bin/dbca -help
建库准备
通过DBCA工具进行静默创建数据库时,选项参数有三种方式传递给工具进行创建:
DBCA工具命令行选项指定;
通过response file(响应文件)的方式传递;
以上两种方式混合使用,当混合使用时命令行选项值优先级更高。
关于使用响应文件安装和配置数据库的详细说明可以参考官方文档:Installing and Configuring Oracle Database Using Response Files
本文讨论的是只通过响应文件的方式来实现,修改响应文件当中的选项参数来创建合适的数据库。在安装完数据库软件之后,默认会生成响应文件的模板,该文件位于 $ORACLE_HOME/assistants/dbca目录下,名为dbca.rsp。
复制响应文件模板
在oracle用户下通过复制生成一份此次创建数据库需要的响应文件,并重命名为dbabd_dbca.rsp:
$ iduid=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),单位为MBSAMPLESCHEMA = TRUE -- 是否创建示例SCHEMA
以上注释只是为了更好解析响应文件的内容,实际文件当中并不存在注释内容。
关于响应文件当中指定的模板,可以在 $ORACLE_HOME/assistants/dbca/templates目录下面查看其内容,模板文件当中指定了创建数据库的一些选项,这里就不再详细赘述。
开始建库
创建数据文件目录
本次建库的数据文件存放路径为 /data/app/oracle/data,进入oracle用户下面进行创建:
# su - oracle$ mkdir -pv $ORACLE_BASE/datamkdir: created directory ‘/data/app/oracle/data’$ ls $ORACLE_BASEcfgtoollogs checkpoints data diag product
使用DBCA工具创建
在oracle用户下执行如下命令创建数据库:
$ $ORACLE_HOME/bin/dbca -silent -responseFile /data/app/dbabd_dbca.rsp
输出内容如下:
Copying database files1% complete3% complete11% complete18% complete26% complete37% completeCreating and starting Oracle instance40% complete45% complete50% complete55% complete56% complete57% complete60% complete62% completeCompleting Database Creation66% complete70% complete73% complete85% complete96% complete100% completeLook 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 2019Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> 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 - ProductionStart Date 10-JAN-2019 15:44:14Uptime 0 days 0 hr. 15 min. 46 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener 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
作者: H_Johnny
出处: https://www.cnblogs.com/dbabd/p/10250968.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置
共同学习,写下你的评论
评论加载中...
作者其他优质文章