首页 > 代码库 > 已有实例 Oracle 下新增实例(2)通过dbca克隆实例

已有实例 Oracle 下新增实例(2)通过dbca克隆实例

oracle11g通过dbca克隆实例:
1、建模
dbca -silent(静默方式) -createCloneTemplate(使用现有数据库创建克隆模板) -sourceDB(目标数据源) -templateName(模板名称)
例:
dbca -silent -createCloneTemplate -sourceDB satetest -templateName satedev
 
2、拷贝模板(两边环境需要一致,安装路径不用)将模板文件拷贝至目标主机的模板目录下
路径:
$ORACLE_HOME/assistants/dbca/templates/
文件:
templateName.ctl、templateName.dbc、templateName.dfb
 
3、通过模板新建实例
dbca -silent -createDatabase(创建数据库) -templateName(模板名称) -gdbName(全局数据库名) -sid(数据库系统标示符) -sysPassword(sys用户密码) -systemPassword(system用户密码)
     -datafileDestination(所有数据库文件的目标目录) -characterSet(数据库的字符集) -nationalCharacterSet(数据库的国家字符集)
例:
dbca -silent -createDatabase -templateName /home/oracle/product/11.2.0/dbhome_1/assistants/dbca/templates/satedev.dbc -gdbName satedev -sid satedev -sysPassword 12345678 -systemPassword 12345678 -datafileDestination $ORACLE_BASE/oradata -characterSet ZHS16GBK -nationalCharacterSet AL16UTF16
 
4、用户解锁重设密码
alter user user_name identified by password account unlock;
 
5、删除数据库
例:
dbca -silent -deleteDatabase -sourceDB 数据库实例名 
 
附录一、dbca -help
[oracle@njrd104 ~]$ dbca -help
dbca  [-silent | -progressOnly | -customCreate] {<command> <options> }  | { [<command> [options] ] -responseFile  <response file > } [-continueOnNonFatalErrors <true | false>]
有关详细信息, 请参阅手册。
可以输入以下命令之一:
 
通过指定以下参数创建数据库:
        -createDatabase
                -templateName <现有模板的名称>
                [-cloneTemplate]
                -gdbName <全局数据库名>
                [-policyManaged | -adminManaged <策略管理或管理员管理的数据库, 默认为管理员管理的数据库>]
                        [-createServerPool <创建将由要创建的数据库使用的服务器池>]
                        [-force <在没有足够空闲服务器的情况下强制创建服务器池。这可能会影响已在运行的数据库>]
                        -serverPoolName <如果创建服务器池, 则为一个服务器池名称; 如果使用服务器池, 则为服务器池名称的逗号分隔列表>
                        -[cardinality <为要创建的新服务器池指定基数, 默认为合格的节点数>]
                [-sid <数据库系统标识符>]
                [-sysPassword <SYS 用户口令>]
                [-systemPassword <SYSTEM 用户口令>]
                [-emConfiguration <CENTRAL|LOCAL|ALL|NOBACKUP|NOEMAIL|NONE>
                        -dbsnmpPassword <DBSNMP 用户口令>
                        -sysmanPassword <SYSMAN 用户口令>
                        [-hostUserName <EM 备份作业的主机用户名>
                         -hostUserPassword <EM 备份作业的主机用户口令>
                         -backupSchedule <使用 hh:mm 格式的每日备份计划>]
                        [-smtpServer <电子邮件通知的发件 (SMTP) 服务器>
                         -emailAddress <电子邮件通知的电子邮件地址>]
                        [-centralAgent <Enterprise Manager 中央代理主目录>]]
                [-disableSecurityConfiguration <ALL|AUDIT|PASSWORD_PROFILE|NONE>
                [-datafileDestination <所有数据库文件的目标目录> |  -datafileNames <含有诸如控制文件, 表空间, 重做日志文件数据库对象以及按 name=value 格式与这些对象相对应的裸设备文件名映射的 spfile 的文本文件。>]
                [-redoLogFileSize <每个重做日志文件的大小 (MB)>]
                [-recoveryAreaDestination <所有恢复文件的目标目录>]
                [-datafileJarLocation  <数据文件 jar 的位置, 只用于克隆数据库的创建>]
                [-storageType < FS | ASM > 
                        [-asmsnmpPassword     <用于 ASM 监视的 ASMSNMP 口令>]
                         -diskGroupName   <数据库区磁盘组名>
                         -recoveryGroupName       <恢复区磁盘组名>
                [-characterSet <数据库的字符集>]
                [-nationalCharacterSet  <数据库的国家字符集>]
                [-registerWithDirService <true | false> 
                        -dirServiceUserName    <目录服务的用户名>
                        -dirServicePassword    <目录服务的口令>
                        -walletPassword    <数据库 Wallet 的口令>]
                [-listeners  <监听程序列表, 该列表用于配置具有如下对象的数据库>]
                [-variablesFile   <用于模板中成对变量和值的文件名>]]
                [-variables  <以逗号分隔的 name=value 对列表>]
                [-initParams <以逗号分隔的 name=value 对列表>]
                [-memoryPercentage <用于 Oracle 的物理内存百分比>]
                [-automaticMemoryManagement ]
                [-totalMemory <为 Oracle 分配的内存 (MB)>]
                [-databaseType <MULTIPURPOSE|DATA_WAREHOUSING|OLTP>]]
 
通过指定以下参数来配置数据库:
        -configureDatabase
                -sourceDB    <源数据库 sid>
                [-sysDBAUserName     <用户名 (具有 SYSDBA 权限)>
                 -sysDBAPassword     <sysDBAUserName 用户名的口令>]
                [-registerWithDirService|-unregisterWithDirService|-regenerateDBPassword <true | false> 
                        -dirServiceUserName    <目录服务的用户名>
                        -dirServicePassword    <目录服务的口令>
                        -walletPassword    <数据库 Wallet 的口令>]
                [-disableSecurityConfiguration <ALL|AUDIT|PASSWORD_PROFILE|NONE>
                [-enableSecurityConfiguration <true|false>
                [-emConfiguration <CENTRAL|LOCAL|ALL|NOBACKUP|NOEMAIL|NONE>
                        -dbsnmpPassword <DBSNMP 用户口令>
                        -symanPassword <SYSMAN 用户口令>
                        [-hostUserName <EM 备份作业的主机用户名>
                         -hostUserPassword <EM 备份作业的主机用户口令>
                         -backupSchedule <使用 hh:mm 格式的每日备份计划>]
                        [-smtpServer <电子邮件通知的发件 (SMTP) 服务器>
                         -emailAddress <电子邮件通知的电子邮件地址>]
                        [-centralAgent <Enterprise Manager 中央代理主目录>]]
 

通过指定以下参数使用现有数据库创建模板:
        -createTemplateFromDB
                -sourceDB    <服务采用 <host>:<port>:<sid> 格式>
                -templateName      <新的模板名>
                -sysDBAUserName     <用户名 (具有 SYSDBA 权限)>
                -sysDBAPassword     <sysDBAUserName 用户名的口令>
                [-maintainFileLocations <true | false>]
 

通过指定以下参数使用现有数据库创建克隆模板:
        -createCloneTemplate
                -sourceSID    <源数据库 sid>
                -templateName      <新的模板名>
                [-sysDBAUserName     <用户名 (具有 SYSDBA 权限)>
                 -sysDBAPassword     <sysDBAUserName 用户名的口令>]
                [-maintainFileLocations <true | false>]
                [-datafileJarLocation       <存放压缩格式数据文件的目录>]
 
通过指定以下参数生成脚本以创建数据库:
        -generateScripts
                -templateName <现有模板的名称>
                -gdbName <全局数据库名>
                [-scriptDest       <所有脚本文件的目标位置>]
 
通过指定以下参数删除数据库:
        -deleteDatabase
                -sourceDB    <源数据库 sid>
                [-sysDBAUserName     <用户名 (具有 SYSDBA 权限)>
                 -sysDBAPassword     <sysDBAUserName 用户名的口令>]
通过指定以下选项来查询帮助: -h | -help
 
附录二、查看oracle字符集
   数据库字符集在创建数据库时指定,在创建后通常不能更改。在创建数据库时,可以指定字符集(CHARACTER SET)和国家字符集(NATIONAL CHARACTER SET)。
   1. 字符集:
      (1)用来存储CHAR, VARCHAR2, CLOB, LONG等类型数据
      (2)用来标示诸如表名、列名以及PL/SQL变量等
      (3)用来存储SQL和PL/SQL程序单元等
   2. 国家字符集:
      (1)用以存储NCHAR, NVARCHAR2, NCLOB等类型数据
      (2)国家字符集实质上是为oracle选择的附加字符集,主要作用是为了增强oracle的字符处理能力,因为NCHAR数据类型可以提供对亚洲使用定长多字节编码的支持,而数据库字符集则不能。国家字符集在 oracle9i中进行了重新定义,只能在unicode编码中的AF16UTF16和UTF8中选择,默认值是AF16UTF16
   3. 查询字符集参数:
      可以查询以下数据字典或视图查看字符集设置情况
      nls_database_parameters、props$、v$nls_parameters
      查询结果中NLS_CHARACTERSET表示字符集,NLS_NCHAR_CHARACTERSET表示国家字符集
   4. 修改数据库字符集:
      按照上文所说,数据库字符集在创建后原则上不能更改。如果需要修改字符集,通常需要导出数据库数据,重建数据库,再导入数据库数据的方式来转换,或通过ALTER DATABASE CHARACTER SET语句修改字符集,但创建数据库后修改字符集是有限制的,只有新的字符集是当前字符集的超集时才能修改数据库字符集,例如UTF8是US7ASCII的超集,修改数据库字符集可使用ALTER
 

已有实例 Oracle 下新增实例(2)通过dbca克隆实例