oracle11g通过dbca克隆实例:
1、建模
dbca -silent(静默方式) -createCloneTemplate(使用现有数据库创建克隆模板) -sourceDB(目标数据源) -templateName(模板名称)
例:
dbca -silent -createCloneTemplate -sourceDB satetest -templateName satedev
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
路径:
$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
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;
alter user user_name identified by password account unlock;
5、删除数据库
例:
dbca -silent -deleteDatabase -sourceDB 数据库实例名
例:
dbca -silent -deleteDatabase -sourceDB 数据库实例名
附录一、dbca -help
[oracle@njrd104 ~]$ dbca -help
dbca [-silent | -progressOnly | -customCreate] {<command> <options> } | { [<command> [options] ] -responseFile <response file > } [-continueOnNonFatalErrors <true | false>]
有关详细信息, 请参阅手册。
可以输入以下命令之一:
[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>]]
-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 *代理主目录>]]
-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 <所有脚本文件的目标位置>]
-generateScripts
-templateName <现有模板的名称>
-gdbName <全局数据库名>
[-scriptDest <所有脚本文件的目标位置>]
通过指定以下参数删除数据库:
-deleteDatabase
-sourceDB <源数据库 sid>
[-sysDBAUserName <用户名 (具有 SYSDBA 权限)>
-sysDBAPassword <sysDBAUserName 用户名的口令>]
通过指定以下选项来查询帮助: -h | -help
-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
数据库字符集在创建数据库时指定,在创建后通常不能更改。在创建数据库时,可以指定字符集(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