使用DBCA的图形方式建库实在有诸多不便,但是使用静默方式建库就比较方便了,一个命令即可搞定。
使用dbca安装oracle数据库实例也有差不多两种方法:
一种就是根据模板文件进行安装,在上文中提到了在oracle安装程序的安装文件夹下的response目录中有一个dbca.rsp文件就是dbca的模板文件。当然我们也可以通过复制这个模板文件来修改其中的内容来建立定制的数据库,在这个模板文件中对于各个参数的说明非常详细,对这个文件的内容在此不做说明。
另外一种就是根据oracle自身的数据库模板来建立数据库实例(模板文件位置:$ORACLE_HOME/assistants/dbca/templates/*.dbc
ORACLE为我们提供了几个dbc模板:
Data Warehouse 数据仓库
Transaction Processing 事务处理
General Purpose 一般用途
这几个模板是比较易用的模板,oracle针对不同的数据库用途做了专门的优化,当然我们也可以创建我们自己的模板(也是使用dbca命令),
首先说明一点,在安装之前需要注意的几个问题:
1、/etc/hosts文件中,本机的hostname必须和lo对应(如果你有改过hostname的话,需要修改该文件)
2、$ORACLE_HOME/network/admin/listener.ora文件必须配置服务器监听,为了保险起见,将tnsnames和sqlnet文件都配置了吧
3、在dbca命令中出现的文件参数,必须使用全路径
4、注意在使用dbca命令的时候各个同级别的参数的必要性,有些是必要的,有些是不必要的。具体可参考dbca -help
根据模版文件创建数据库:
dbca -silent -cloneTemplate -gdbName orcl -sid orcl -datafileDestination /u01/oradata -responseFile /mnt/hgfs/software/oracle/database/response/dbca.rsp
一些参数的说明:
-silent 指定dbca的静默安装方式
-cloneTemplate 指定自模版文件创建
-gdbName Global Database Name
-sid 创建数据库的sid
-datafileDestination 数据文件存放的目标路径
-responseFIle 模版文件的路径
根据Oracle提供的数据库模版创建数据库:
dbca -silent -createDatabase -templateName $ORACLE_HOME/assistants/dbca/template/Transaction_Processing.dbc -gdbName orcl -sid orcl -responseFile NO_VALUE -characterSet ZHS16GBK
Silent模式采用命令行方式一次将所有信息提供给DBCA完成数据库的建立,在建立过程中不存在交互作用,所有的信息、错误和告警都写到日志文件中,只在结束时屏幕上打印出日志文件的位置,除此以外,没有其他的消息。
12c静默方式建库
[oracle@test ~]$ dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname oradb.example.com -sid oradb -responseFile NO_VALUE -characterSet AL32UTF8 -memoryPercentage 30 -emConfiguration LOCAL
11g静默方式建库
[oracle@testdb ora11g]$ dbca -help
[oracle@testdb oracle]$ dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname ora11g -sid ora11g -sysPassword lhr -systemPassword lhr -responseFile NO_VALUE -datafileDestination /u01/app/oracle/oradata/ -redoLogFileSize 50 -recoveryAreaDestination /u01/app/oracle/flash_recovery_area -storageType FS -characterSet ZHS16GBK -nationalCharacterSet AL16UTF16 -sampleSchema true -memoryPercentage 30 -totalMemory 200 -databaseType OLTP -emConfiguration NONE
10g静默建库
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname ora11g -sid ora11g -sysPassword lhr -systemPassword lhr -responseFile NO_VALUE -datafileDestination /u01/app/oracle/oradata/ -recoveryAreaDestination /u01/app/oracle/flash_recovery_area -storageType FS -characterSet ZHS16GBK -nationalCharacterSet AL16UTF16 -sampleSchema true -memoryPercentage 30 -databaseType OLTP -emConfiguration NONE
##################################
另一篇文档
##################################
[oracle@jyrac1 ~]$ dbca -help
dbca [-silent | -progressOnly | -customCreate] { } | { [ [options] ] -responseFile } [-continueOnNonFatalErrors ]
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 现有模板的名称
[-cloneTemplate]
-gdbName 全局数据库名
[-policyManaged | -adminManaged ]
[-createServerPool ]
[-force ]
-serverPoolName
-[cardinality ]
[-sid ] 数据库系统标识符
[-sysPassword ]
[-systemPassword ]
[-emConfiguration
-dbsnmpPassword
-sysmanPassword
[-hostUserName
-hostUserPassword
-backupSchedule ]
[-smtpServer
-emailAddress ]
[-centralAgent ]]
[-disableSecurityConfiguration
[-datafileDestination 所有数据文件的目标位置 | -datafileNames ]
[-redoLogFileSize ]
[-recoveryAreaDestination ]
[-datafileJarLocation ] 数据文件 jar 的位置, 只用于复制数据库的创建
[-storageType < FS | ASM >
[-asmsnmpPassword ]
-diskGroupName
-recoveryGroupName
[-characterSet ] 数据库的字符集
[-nationalCharacterSet ] 数据库的国家字符集
[-registerWithDirService
-dirServiceUserName 目录服务的用户名
-dirServicePassword 目录服务的口令
-walletPassword ]
[-listeners ] 监听程序列表, 该列表用于配置具有如下对象的数据库
[-variablesFile ]] 用于模板中成对变量和值的文件名
[-variables ]
[-initParams ]
[-memoryPercentage ]
[-automaticMemoryManagement ]
[-totalMemory ]
[-databaseType ]] Configure a database by specifying the following parameters:
-configureDatabase
-sourceDB
[-sysDBAUserName
-sysDBAPassword ]
[-registerWithDirService|-unregisterWithDirService|-regenerateDBPassword
-dirServiceUserName
-dirServicePassword
-walletPassword ]
[-disableSecurityConfiguration
[-enableSecurityConfiguration
[-emConfiguration
-dbsnmpPassword
-symanPassword
[-hostUserName
-hostUserPassword
-backupSchedule ]
[-smtpServer
-emailAddress ]
[-centralAgent ]] 使用现有数据库创建模板的参数如下:
Create a template from an existing database by specifying the following parameters:
-createTemplateFromDB
-sourceDB ::> < 服务采用 :: 格式
-templateName 新的模板名
-sysDBAUserName 具有SYSDBA权限的用户名
-sysDBAPassword 具有SYSDBA权限的用户名的口令
[-maintainFileLocations ] 使用现有数据库创建复制模板的参数如下:
Create a clone template from an existing database by specifying the following parameters:
-createCloneTemplate
-sourceSID 源数据库 sid
-templateName 新的模板名
[-sysDBAUserName 具有SYSDBA权限的用户名
-sysDBAPassword ] 具有SYSDBA权限的用户名的口令
[-maintainFileLocations ]
[-datafileJarLocation ] 存放压缩格式数据文件的目录 Generate scripts to create database by specifying the following parameters:
-generateScripts
-templateName
-gdbName
[-scriptDest ]
通过指定以下参数来删除数据库
Delete a database by specifying the following parameters:
-deleteDatabase
-sourceDB
[-sysDBAUserName
-sysDBAPassword ]
使用silent模式可以通过数据库创建模析和通过模板来创建数据库
通过模板来创建数据库
[oracle@jyrac1 ~]$ dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname ora11g -sid ora11g -responseFile NO_VALUE -characterSet AL32UTF8 -memoryPercentage 30 -emConfiguration LOCAL
以silent方式来删除数据库
[oracle@jyrac1 ~]$ dbca -silent -deleteDatabase -sourceDB ora11g -sysDBAUserName sys -sysDBAPassword zzh_2046
使用现有数据库jycs来创建模板
[oracle@jyrac1 ~]$ dbca -silent -createTemplateFromDB -sourceDB jycs -templateName jycstemplate -sysDBAUserName sys -sysDBAPassword zzh_2046
使用现有数据库jycs创建带数据文件的模板
[oracle@jyrac1 ~]$ dbca -silent -createCloneTemplate -sourceDB jycs -templateName jycsCloneTemplate -sysDBAUserName sys -sysDBAPassword zzh_2046 -datafileJarLocation /u01/app/oracle/11.2.0/db/assistants/dbca/templates
利用带数据文件的模板jycsCloneTemplate生成克隆数据库
[oracle@jyrac1 ~]$ dbca -silent -createDatabase -templateName jycsCloneTemplate.dbc -gdbName test -sid test -datafileJarLocation /u01/app/oracle/11.2.0/db/assistants/dbca/templates -datafileDestination /u01/app/oracle/oradata -responseFile NO_VALUE -characterset ZHS16GBK
利用不带数据文件的模板生成新的数据库
[oracle@jyrac1 ~]$ dbca -silent -createDatabase -templateName New_Database.dbt -gdbname jytest -sid jytest -datafileDestination /u01/app/oracle/oradata -responseFile NO_VALUE -characterset ZHS16GBK