DBCA静默方式创建数据库实例

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

这两天装了几套开发环境的Oracle数据库,其中有11.2.0.4的版本也有12.2.0.1的版本。由于网络环境复杂,没有办法使用图形界面的方式安装,只能使用静默方式安装,之前也写过关于静默安装数据库软件和创建实例的博客http://hbxztc.blog.51cto.com/1587495/1884833有兴趣的可以参考,这两天用的也是这样的方法,但是之前看到有人在分享中使用过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日志中可以看到如下图的日志

wKiom1jH6afz00z2AABlramsDW8333.png从上图可以看出数据文件是被从copy中恢复出来的,而不是新创建的,这也可以解释为什么创建实例时第一行的日志是“Copying database files”的原因了。

说到这里也要说一下创建实例的三种类型,如下图:

wKioL1jH6nahrNxJAAGjjkvOvwQ138.png从图中可以看出创建实例的三种类型,其中“General Purpose or Transaction processiong”和“Data Warehose”分别对应的是OLTP系统和数据仓库,它们后面的“Includes Datafiles”为Yes说明使用这两种方式创建时是用数据文件的备份来恢复出来的。最后修改字符集就可以 了。如下图alert日志

wKiom1jH6_7z3vdkAAAJcZm5eAc771.png

而“Custom Database”自定义模式则没有对应的数据文件来恢复,而是全新创建的数据文件,因此这种方式创建实例时耗费的时间也相对较长,因为需要跑数据字典。

上面简单介绍了使用responseFile方式创建实例的方法,另外一种方法是直接使用命令行,可以用dbca -h命令查看命令参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
[oracle@rhel6 trace]$ dbca -h
dbca  [-silent | -progressOnly | -customCreate] {< command > <options> }  | { [< command > [options] ] -responseFile  <response  file  > } [-continueOnNonFatalErrors < true  false >]
Please refer to the manual  for  details.
You can enter one of the following  command :
 
Create a database by specifying the following parameters:
     -createDatabase
         -templateName <name of an existing  template>
         [-cloneTemplate]
         -gdbName <global database name>
         [-policyManaged | -adminManaged <Policy managed or Admin managed Database, default is Admin managed database>]
             [-createServerPool <To create ServerPool  which  will be used by the database to be created>]
             [-force <To create serverpool by force when adequate  free  servers are not available. This may affect already running database>]
             -serverPoolName <One serverPool Name  in  case  of create server pool and comma separated list of serverPool name  in  case  of use serverpool>
             -[cardinality <Specify cardinality  for  new serverPool to be created, default is the number of qualified nodes>]
         [-sid <database system identifier>]
         [-sysPassword <SYS user password>]
         [-systemPassword <SYSTEM user password>]
         [-emConfiguration <CENTRAL|LOCAL|ALL|NOBACKUP|NOEMAIL|NONE>
             -dbsnmpPassword <DBSNMP user password>
             -sysmanPassword <SYSMAN user password>
             [-hostUserName <Host user name  for  EM backup job>
              -hostUserPassword <Host user password  for  EM backup job>
              -backupSchedule <Daily backup schedule  in  the form of hh:mm>]
             [-smtpServer <Outgoing mail (SMTP) server  for  email notifications>
              -emailAddress <Email address  for  email notifications>]
             [-centralAgent <Enterprise Manager central agent home>]]
         [-disableSecurityConfiguration <ALL|AUDIT|PASSWORD_PROFILE|NONE>
         [-datafileDestination <destination directory  for  all database files> |  -datafileNames <a text  file  containing database objects such as controlfiles, tablespaces, redo log files and spfile to th
eir corresponding raw device  file  names mappings  in  name=value  format .>]        [-redoLogFileSize <size of each redo log  file  in  megabytes>]
         [-recoveryAreaDestination <destination directory  for  all recovery files>]
         [-datafileJarLocation  <location of the data  file  jar, used only  for  clone database creation>]
         [-storageType < FS | ASM > 
             [-asmsnmpPassword     <ASMSNMP password  for  ASM monitoring>]
              -diskGroupName   <database area disk group name>
              -recoveryGroupName       <recovery area disk group name>
         [-characterSet <character  set  for  the database>]
         [-nationalCharacterSet  <national character  set  for  the database>]
         [-registerWithDirService < true  false
             -dirServiceUserName    <user name  for  directory service>
             -dirServicePassword    <password  for  directory service >
             -walletPassword    <password  for  database wallet >]
         [-listeners  <list of listeners to configure the database with>]
         [-variablesFile   < file  name  for  the variable-value pair  for  variables  in  the template>]]
         [-variables  <comma seperated list of name=value pairs>]
         [-initParams <comma seperated list of name=value pairs>]
         [-memoryPercentage <percentage of physical memory  for  Oracle>]
         [-automaticMemoryManagement ]
         [-totalMemory <memory allocated  for  Oracle  in  MB>]
         [-databaseType <MULTIPURPOSE|DATA_WAREHOUSING|OLTP>]]


官方文档:http://docs.oracle.com/cd/E11882_01/install.112/e47689/app_nonint.htm#LADBI1353


      本文转自hbxztc 51CTO博客,原文链接:http://blog.51cto.com/hbxztc/1906532,如需转载请自行联系原作者









相关文章
|
1月前
|
SQL 存储 安全
sql server 数据库实例
SQL Server 数据库实例是指在 SQL Server 中创建的一个独立的数据库环境。每个数据库实例都拥有自己的一套完整的数据库文件、配置设置、用户和权限等,可以独立地进行管理和操作。以下是关于
|
1天前
|
存储 关系型数据库 分布式数据库
PolarDB产品使用问题之如何将数据库从一个PolarDB实例导入到另一个PolarDB实例
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
8天前
|
分布式计算 大数据 关系型数据库
MaxCompute产品使用合集之如何实现类似mysql实例中的数据库功能
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
28天前
|
运维 安全 数据管理
数据管理DMS产品使用合集之是否可以为同一个实例下的不同数据库设置不同的审批规则
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
35 5
|
28天前
|
SQL 弹性计算 数据管理
数据管理DMS产品使用合集之sql server实例,已经创建了数据库,登录时提示实例已存在,该怎么处理
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
36 1
|
1月前
|
关系型数据库 MySQL 分布式数据库
PolarDB产品使用问题之如何将实例关联到本地的数据库
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
9天前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之无法连接到指定的数据库实例,该如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
1月前
|
弹性计算 安全 数据库
云上攻防-云服务篇&弹性计算&云数据库&实例元数据&控制角色&AK控制台接管
云上攻防-云服务篇&弹性计算&云数据库&实例元数据&控制角色&AK控制台接管
|
2月前
|
存储 缓存 NoSQL
NoSQL缓存数据库的使用场景实例和命令速查表
【5月更文挑战第8天】Redis 是一个内存数据结构服务,用 C 编写,支持五种数据结构,不仅限于键值对。它用于缓存、消息队列、订阅/发布系统等,提供持久化、主从复制和集群支持。了解其核心数据结构和应用场景是有效利用 Redis 的关键。
87 3
NoSQL缓存数据库的使用场景实例和命令速查表
|
1月前
|
SQL Oracle 关系型数据库
若干SQL创建数据库实例
在SQL中创建数据库,各系统方法各异。MySQL和SQL Server使用`CREATE DATABASE`语句,如`CREATE DATABASE mydb;`。Oracle通常借助DBCA,但也可用复杂SQL命令,而PostgreSQL同样使用`CREATE DATABASE`。SQLite在首次连接到不存在的数据库文件时会自动创建。注意各系统中的选项如大小、编码、权限等。