数据泵导入到不存在的用户(二)

使用数据泵导入,可以指定REMAP_SCHEMA参数,将源方案中的对象导入到另外一个方案中。如果指定的REMAP_SCHEMA参数中,目标SCHEMA不存在,则数据泵会创建出这个用户。描述11g中与10g的区别。数据泵导入到不存在的用户(一):http://blog.csdn.net/bbqk9/archive/2011/05/17/6426075.aspx 上一篇描述了如果数据泵的SCHEMA导入过程中,指定了REMAP_SCHEMA,且目标SCHEMA不存在,那么Oracle会建立一个新用户。在10g中,这个用户的密码必须修改,否则无法登陆。但是在11g中,情况发生了变化: SQL> select username from dba_users order by 1; USERNAME ------------------------------------------------------- ANONYMOUS APEX_PUBLIC_USER CATALOG_USER CATA_LOG CTXSYS DBSNMP DIP EXFSYS FLOWS_030000 FLOWS_FILES MDDATA MDSYS MGMT_VIEW OLAPSYS ORACLE_OCM ORDPLUGINS ORDSYS OUTLN OWBSYS SI_INFORMTN_SCHEMA SPATIAL_CSW_ADMIN_USR SPATIAL_WFS_ADMIN_USR SYS SYSMAN SYSTEM TEST TEST2 TSMSYS WKPROXY WKSYS WK_TEST WMSYS XDB XS$NULL YANGTK 已选择35行。下面导出YANGTK方案: bash-3.00$ expdp yangtk/yangtk directory=d_output dumpfile=yangtk.dp Export: Release 11.1.0.6.0 - 64bit Production on 星期日, 26 10月, 2008 16:57:48 Copyright (c) 2003, 2007, Oracle. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Produc tion With the Partitioning, OLAP, Data Mining and Real Application Testing options自动启用 FLASHBACK 以保持数据库完整性。启动 "YANGTK"."SYS_EXPORT_SCHEMA_01": yangtk/******** directory=d_output dumpfi le=yangtk.dp正在使用 BLOCKS 方法进行估计...处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA使用 BLOCKS 方法的总估计: 180.5 MB处理对象类型 SCHEMA_EXPORT/USER处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT处理对象类型 SCHEMA_EXPORT/ROLE_GRANT处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA处理对象类型 SCHEMA_EXPORT/DB_LINK处理对象类型 SCHEMA_EXPORT/TABLE/TABLE处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE处理对象类型 SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC处理对象类型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY处理对象类型 SCHEMA_EXPORT/TABLE/TRIGGER处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/FUNCTIONAL_AND_BITMAP/INDEX处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_AND_BITMAP/INDEX_STATISTICS处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS处理对象类型 SCHEMA_EXPORT/MATERIALIZED_VIEW处理对象类型 SCHEMA_EXPORT/POST_SCHEMA/PROCACT_SCHEMA . . 导出了 "YANGTK"."T_BIG_TABLE" 82.89 MB 830304 行 . . 导出了 "YANGTK"."CAT_DRUG" 50.83 MB 114935 行 . . 导出了 "YANGTK"."T_BACKUP" 6.957 MB 68370 行 . . 导出了 "YANGTK"."T_CONS2" 2.193 MB 69248 行 . . 导出了 "YANGTK"."CAT_ORG" 3.548 MB 15114 行 . . 导出了 "YANGTK"."T_DATE" 1.112 MB 68916 行 . . 导出了 "YANGTK"."SYS_IMPORT_SCHEMA_01" 145.3 KB 1117 行 . . 导出了 "YANGTK"."T_CONS" 5.679 KB 17 行 . . 导出了 "YANGTK"."CAT_PRODUCT" 62.90 KB 52 行 . . 导出了 "YANGTK"."ERR$DP008FBDE50001" 7.890 KB 6 行 . . 导出了 "YANGTK"."MV_T" 7.468 KB 3 行 . . 导出了 "YANGTK"."T" 6.343 KB 27 行 . . 导出了 "YANGTK"."T_ABC" 5.414 KB 1 行 . . 导出了 "YANGTK"."T_FLASH_TRANS" 5.445 KB 4 行 . . 导出了 "YANGTK"."T_PART":"P1" 5.617 KB 9 行 . . 导出了 "YANGTK"."T_PART":"P2" 5.617 KB 10 行 . . 导出了 "YANGTK"."T_PART":"P3" 7.445 KB 85 行 . . 导出了 "YANGTK"."T_PART_P1" 5.625 KB 9 行 . . 导出了 "YANGTK"."T_PART_P2" 5.625 KB 10 行 . . 导出了 "YANGTK"."T_PART_P3" 7.453 KB 85 行 . . 导出了 "YANGTK"."T_PRI" 5.156 KB 22 行 . . 导出了 "YANGTK"."T_PRIMARY" 5.421 KB 1 行 . . 导出了 "YANGTK"."T_UPDATE" 5.820 KB 2 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0201" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0204" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0207" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0210" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0301" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0304" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0307" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0310" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0401" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0404" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0407" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0410" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0501" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0504" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0507" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0510" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0601" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0604" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0607" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0610" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0701" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0704" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0707" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0710" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0801" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0804" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0807" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0810" 0 KB 0 行 . . 导出了 "YANGTK"."ORD_ORDER":"ORD0901" 0 KB 0 行 . . 导出了 "YANGTK"."T_TEST" 0 KB 0 行 . . 导出了 "YANGTK"."T_TEST2" 0 KB 0 行已成功加载/卸载了主表 "YANGTK"."SYS_EXPORT_SCHEMA_01" ****************************************************************************** YANGTK.SYS_EXPORT_SCHEMA_01 的转储文件集为: /export/home/oracle/yangtk.dp作业 "YANGTK"."SYS_EXPORT_SCHEMA_01" 已于 16:58:39 成功完成导入的时候指定REMAP_SCHEMA到TEST1用户,而这个用户在目标数据库不存在: bash-3.00$ impdp yangtk/yangtk directory=d_output dumpfile=yangtk.dp remap_sche ma=yangtk:test1 Import: Release 11.1.0.6.0 - 64bit Production on 星期日, 26 10月, 2008 16:59:56 Copyright (c) 2003, 2007, Oracle. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Produc tion With the Partitioning, OLAP, Data Mining and Real Application Testing options已成功加载/卸载了主表 "YANGTK"."SYS_IMPORT_FULL_01"启动 "YANGTK"."SYS_IMPORT_FULL_01": yangtk/******** directory=d_output dumpfile =yangtk.dp remap_schema=yangtk:test1处理对象类型 SCHEMA_EXPORT/USER处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT处理对象类型 SCHEMA_EXPORT/ROLE_GRANT处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA处理对象类型 SCHEMA_EXPORT/DB_LINK处理对象类型 SCHEMA_EXPORT/TABLE/TABLE处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA . . 导入了 "TEST1"."T_BIG_TABLE" 82.89 MB 830304 行 . . 导入了 "TEST1"."CAT_DRUG" 50.83 MB 114935 行 . . 导入了 "TEST1"."T_BACKUP" 6.957 MB 68370 行 . . 导入了 "TEST1"."T_CONS2" 2.193 MB 69248 行 . . 导入了 "TEST1"."CAT_ORG" 3.548 MB 15114 行 . . 导入了 "TEST1"."T_DATE" 1.112 MB 68916 行 . . 导入了 "TEST1"."SYS_IMPORT_SCHEMA_01" 145.3 KB 1117 行 . . 导入了 "TEST1"."T_CONS" 5.679 KB 17 行 . . 导入了 "TEST1"."CAT_PRODUCT" 62.90 KB 52 行 . . 导入了 "TEST1"."ERR$DP008FBDE50001" 7.890 KB 6 行 . . 导入了 "TEST1"."MV_T" 7.468 KB 3 行 . . 导入了 "TEST1"."T" 6.343 KB 27 行 . . 导入了 "TEST1"."T_ABC" 5.414 KB 1 行 . . 导入了 "TEST1"."T_FLASH_TRANS" 5.445 KB 4 行 . . 导入了 "TEST1"."T_PART":"P1" 5.617 KB 9 行 . . 导入了 "TEST1"."T_PART":"P2" 5.617 KB 10 行 . . 导入了 "TEST1"."T_PART":"P3" 7.445 KB 85 行 . . 导入了 "TEST1"."T_PART_P1" 5.625 KB 9 行 . . 导入了 "TEST1"."T_PART_P2" 5.625 KB 10 行 . . 导入了 "TEST1"."T_PART_P3" 7.453 KB 85 行 . . 导入了 "TEST1"."T_PRI" 5.156 KB 22 行 . . 导入了 "TEST1"."T_PRIMARY" 5.421 KB 1 行 . . 导入了 "TEST1"."T_UPDATE" 5.820 KB 2 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0201" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0204" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0207" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0210" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0301" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0304" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0307" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0310" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0401" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0404" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0407" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0410" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0501" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0504" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0507" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0510" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0601" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0604" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0607" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0610" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0701" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0704" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0707" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0710" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0801" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0804" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0807" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0810" 0 KB 0 行 . . 导入了 "TEST1"."ORD_ORDER":"ORD0901" 0 KB 0 行 . . 导入了 "TEST1"."T_TEST" 0 KB 0 行 . . 导入了 "TEST1"."T_TEST2" 0 KB 0 行处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE处理对象类型 SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC处理对象类型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY处理对象类型 SCHEMA_EXPORT/TABLE/TRIGGER处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/FUNCTIONAL_AND_BITMAP/INDEX处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_AND_BITMAP/INDEX_STATISTICS处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS处理对象类型 SCHEMA_EXPORT/MATERIALIZED_VIEW处理对象类型 SCHEMA_EXPORT/POST_SCHEMA/PROCACT_SCHEMA作业 "YANGTK"."SYS_IMPORT_FULL_01" 已于 17:05:11 成功完成下面检查用户名、密码信息,由于11g的DBA_USERS视图中不在包含密码信息,因此需要访问USER$表: SQL> select name, password from sys.user$ order by 1; NAME PASSWORD ------------------------------ ---------------------------------------- ANONYMOUS anonymous APEX_PUBLIC_USER 53E0D162871EEFC6 AQ_ADMINISTRATOR_ROLE AQ_USER_ROLE AUTHENTICATEDUSER CATALOG_USER FD31297729805411 CATA_LOG 84FAF69405E209EE CONNECT CSW_USR_ROLE F79FD2B778DEA3AA CTXAPP CTXSYS 71E687F036AD56E5 CWM_USER DATAPUMP_EXP_FULL_DATABASE DATAPUMP_IMP_FULL_DATABASE DBA DBSNMP 0344EFE44BA8E12C DELETE_CATALOG_ROLE DIP CE4A36B8E06CA59C EJBCLIENT EXECUTE_CATALOG_ROLE EXFSYS 66F4EF5650C20355 EXP_FULL_DATABASE FLOWS_030000 F0EE77E5A06232AD FLOWS_FILES 8EB4FF01222ADD96 GATHER_SYSTEM_STATISTICS GLOBAL_AQ_USER_ROLE GLOBAL HS_ADMIN_ROLE IMP_FULL_DATABASE JAVADEBUGPRIV JAVAIDPRIV JAVASYSPRIV JAVAUSERPRIV JAVA_ADMIN JAVA_DEPLOY JMXSERVER LOGSTDBY_ADMINISTRATOR MDDATA DF02A496267DEE66 MDSYS 72979A94BAD2AF80 MGMT_USER MGMT_VIEW 1E98A6362052B815 OEM_ADVISOR OEM_MONITOR OLAPI_TRACE_USER OLAPSYS invalid OLAP_DBA OLAP_USER OLAP_XS_ADMIN ORACLE_OCM 6D17CF1EB1611F94 ORDADMIN ORDPLUGINS 88A2B2C183431F00 ORDSYS 7EFA02EC7EA6B86F OUTLN 4A3BA55E08595C81 OWB$CLIENT 13D492A4459DFE0D OWBSYS 610A3C38F301776F OWB_DESIGNCENTER_VIEW 876EB62037E6316A OWB_USER PUBLIC RECOVERY_CATALOG_OWNER RESOURCE SCHEDULER_ADMIN SELECT_CATALOG_ROLE SI_INFORMTN_SCHEMA 84B8CBCA4D477FA3 SPATIAL_CSW_ADMIN 093913703800E437 SPATIAL_CSW_ADMIN_USR 1B290858DD14107E SPATIAL_WFS_ADMIN 32FA36DC781579AA SPATIAL_WFS_ADMIN_USR 7117215D6BEE6E82 SYS D3CE9AB10E42F19D SYSMAN BCDEB078A5E81AC2 SYSTEM 9788807910D58ED9 TEST 4D6F53A248459F6E TEST1 B50318A3C52FE640 TEST2 4D6F53A248459F6E TSMSYS 3DF26A8B17D0F29F WFS_USR_ROLE 094C14AA84362687 WKPROXY B97545C4DD2ABE54 WKSYS 69ED49EE1851900D WKUSER WK_TEST 29802572EB547DBF WMSYS 7C9BA362F8314299 WM_ADMIN_ROLE XDB 88D8364765FCE6AF XDBADMIN XDB_SET_INVOKER XDB_WEBSERVICES XDB_WEBSERVICES_OVER_HTTP XDB_WEBSERVICES_WITH_PUBLIC XS$NULL DC4FCC8CB69A6733 YANGTK B50318A3C52FE640 _NEXT_USER 已选择89行。在10g中,使用YANGTK的密码无法登陆,但是在11g中,这种情况发生了改变: SQL> conn test1/yangtk已连接。 Oracle这里进行了修改,使得新用户可以根据源用户的密码进行登陆。不过仍然存在一个问题,就是理论上讲,TEST1用户的密码HASH值不可能和YANGTK的一致,即使二者密码完全相同。 Oracle在进行密码HASH的时候,会把用户名和密码连接在一起进行HASH,也就是说用户名密码ABC/ABC与AB/CABC的HASH值是一致的,看一个简单的例子: SQL> conn yangtk/yangtk已连接。 SQL> create user yangt identified by kyangtk; 用户已创建。 SQL> select name, password from sys.user$ 2 where name in ('YANGTK', 'YANGT', 'TEST1'); NAME PASSWORD ------------------------------ ------------------------------ TEST1 B50318A3C52FE640 YANGT B50318A3C52FE640 YANGTK B50318A3C52FE640 上面三个用户的密码HASH一致,后面两个很容易理解,因为符合Oracle的算法,而TEST1不可能得到这个结果: SQL> alter user test1 identified by yangtk; 用户已更改。 SQL> select name, password from sys.user$ where name in ('YANGTK', 'YANGT', 'TEST1'); 2 NAME PASSWORD ------------------------------ ------------------------------ TEST1 4C23054BC75C5AA7 YANGT B50318A3C52FE640 YANGTK B50318A3C52FE640 手工修改TEST1用户的密码使其变为YANGTK,则发现TEST1用户的密码HASH值已经发生了变化。虽然11g数据泵导入时新建用户可以使用源用户密码登陆,但是密码本身状态还处于不正常的情况,这时建议修改用户密码,否则以后将无法通过IDENTIFIED BY VALUES的方法来重置密码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值