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

来源:互联网 发布:百度竞价账户优化 编辑:程序博客网 时间:2024/04/28 07:05

使用数据泵导入,可以指定REMAP_SCHEMA参数,将源方案中的对象导入到另外一个方案中。如果指定的REMAP_SCHEMA参数中,目标SCHEMA不存在,则数据泵会创建出这个用户。

10g版本中创建的用户必须改变用户的密码,否则无法登陆。

 

 

当前数据库中包含的用户列表:

SQL> SELECT USERNAME FROM DBA_USERS ORDER BY 1;

USERNAME
------------------------------
ANONYMOUS
BI
CATA_LOG
CTXSYS
DBSNMP
DIP
DMSYS
EXFSYS
HR
IX
MDDATA
MDSYS
MGMT_VIEW
OE
OLAPSYS
ORDPLUGINS
ORDSYS
OUTLN
PM
SCOTT
SH
SI_INFORMTN_SCHEMA
SYS
SYSMAN
SYSTEM
TEST
TSMSYS
WMSYS
XDB
YANGTK

已选择30行。

下面导出YANGTK用户:

E:>expdp yangtk/yangtk directory=d_output dumpfile=yangtk.dp

Export: Release 10.2.0.1.0 - Production on 星期六, 25 10, 2008 1:19:17

Copyright (c) 2003, 2005, Oracle. All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
启动
"YANGTK"."SYS_EXPORT_SCHEMA_02": yangtk/******** directory=d_output dumpfi
le=yangtk.dp
正在使用 BLOCKS 方法进行估计
...处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA使用 BLOCKS 方法的总估计: 6.125 MB处理对象类型 SCHEMA_EXPORT/USER处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT处理对象类型 SCHEMA_EXPORT/ROLE_GRANT处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA处理对象类型 SCHEMA_EXPORT/TYPE/TYPE_SPEC处理对象类型 SCHEMA_EXPORT/DB_LINK处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE处理对象类型 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/TYPE/TYPE_BODY处理对象类型 SCHEMA_EXPORT/JAVA_SOURCE/JAVA_SOURCE处理对象类型 SCHEMA_EXPORT/JAVA_CLASS/JAVA_CLASS处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. .
导出了 "YANGTK"."T_INDEX_ORG" 1.500 MB 40676

. .
导出了 "YANGTK"."T_PART":"P4" 1.588 MB 50346
. .
导出了 "YANGTK"."T_RECORD" 473.9 KB 40000
. .
导出了 "YANGTK"."SYS_EXPORT_SCHEMA_01" 227.9 KB 1169
. .
导出了 "YANGTK"."TEST_LOB" 5.656 KB 1
. .
导出了 "YANGTK"."CHAINED_ROWS" 81.25 KB 2118
. .
导出了 "YANGTK"."T_PARTITION":"P2" 44.82 KB 1541
. .
导出了 "YANGTK"."T" 4.906 KB 1
. .
导出了 "YANGTK"."T_LEVEL" 6.234 KB 6
. .
导出了 "YANGTK"."T_LEVEL1" 6.585 KB 8
. .
导出了 "YANGTK"."T_LOAD_SPACE" 5.585 KB 5
. .
导出了 "YANGTK"."T_NO_EXISTS_BEFORE" 5.257 KB 1
. .
导出了 "YANGTK"."T_PART":"P1" 6.742 KB 99
. .
导出了 "YANGTK"."T_PART":"P2" 7.078 KB 100
. .
导出了 "YANGTK"."T_PART":"P3" 7.359 KB 100
. .
导出了 "YANGTK"."T_PARTITION":"P1" 6.804 KB 99
. .
导出了 "YANGTK"."T_TREE" 5.960 KB 9
. .
导出了 "YANGTK"."T_BIG_TABLE" 0 KB 0
. .
导出了 "YANGTK"."T_BIG_TABLE2" 0 KB 0
. .
导出了 "YANGTK"."T_CHAR" 0 KB 0
. .
导出了 "YANGTK"."T_FUNCTION" 0 KB 0
. .
导出了 "YANGTK"."T_TAB" 0 KB 0
. .
导出了 "YANGTK"."T_YANGTK" 0 KB 0 已成功加载/卸载了主表 "YANGTK"."SYS_EXPORT_SCHEMA_02"
******************************************************************************
YANGTK.SYS_EXPORT_SCHEMA_02
的转储文件集为
:
E:DMPYANGTK.DP
作业 "YANGTK"."SYS_EXPORT_SCHEMA_02" 已于 01:22:41 成功完成

下面利用IMPDP导入,并通过REMAP_SCHEMA导入到一个新用户TEST1下:

E:>impdp yangtk/yangtk directory=d_output dumpfile=yangtk.dp remap_schema=yangt
k:test1

Import: Release 10.2.0.1.0 - Production on 星期六, 25 10, 2008 1:28:06

Copyright (c) 2003, 2005, Oracle. All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining 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/TYPE/TYPE_SPEC
ORA-39083:
对象类型 TYPE 创建失败, 出现错误
:
ORA-02304:
无效的对象标识符文字
失败的 sql :
CREATE TYPE "TEST1"."MY_TYPE" OID '8A018538EA194329A6538AA777DC7880' IS TABLE
OF VARCHAR2(100);
ORA-39083:
对象类型 TYPE 创建失败, 出现错误
:
ORA-02304:
无效的对象标识符文字
失败的 sql :
CREATE TYPE "TEST1"."T_IN" OID 'B62DF22798484B6889AB557668EC75B7' IS TABLE OF
NUMBER;
ORA-39083:
对象类型 TYPE 创建失败, 出现错误
:
ORA-02304:
无效的对象标识符文字
失败的 sql :
CREATE TYPE "TEST1"."T_TYPE" OID '583A1324805F4B3F961F4CDD60BBCB79' IS TABLE O
F NUMBER;
ORA-39083:
对象类型 TYPE 创建失败, 出现错误
:
ORA-02304:
无效的对象标识符文字
失败的 sql :
CREATE TYPE "TEST1"."T_MULTI" OID 'E3D952830D744E39A4A937F6DDE8ED95' AS OBJECT
(
RES NUMBER,
STATIC FUNCTION ODCIAGGREGATEINITIALIZE(SCTX IN OUT T_MULTI) RETURN NUMBER,
MEMBER FUNCTION ODCIAGGREGATEITERATE(SELF IN OUT T_MULTI, VALUE IN NUMBER) RETUR
N NUMBER,
MEMBER FUNCTION ODCIAGGREGATETERMINATE(SELF IN T_MULTI, RETURNVALUE OUT NUMBER,
FLAGS IN NUMBER) RETURN NUMBER,
MEMBER FUNCTION ODCIAGGREGATEMERGE(SELF IN OU
处理对象类型
SCHEMA_EXPORT/DB_LINK处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE处理对象类型 SCHEMA_EXPORT/TABLE/TABLE处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
. .
导入了 "TEST1"."T_INDEX_ORG" 1.500 MB 40676

. .
导入了 "TEST1"."T_PART":"P4" 1.588 MB 50346
. .
导入了 "TEST1"."T_RECORD" 473.9 KB 40000
. .
导入了 "TEST1"."SYS_EXPORT_SCHEMA_01" 227.9 KB 1169
. .
导入了 "TEST1"."TEST_LOB" 5.656 KB 1
. .
导入了 "TEST1"."CHAINED_ROWS" 81.25 KB 2118
. .
导入了 "TEST1"."T_PARTITION":"P2" 44.82 KB 1541
. .
导入了 "TEST1"."T" 4.906 KB 1
. .
导入了 "TEST1"."T_LEVEL" 6.234 KB 6
. .
导入了 "TEST1"."T_LEVEL1" 6.585 KB 8
. .
导入了 "TEST1"."T_LOAD_SPACE" 5.585 KB 5
. .
导入了 "TEST1"."T_NO_EXISTS_BEFORE" 5.257 KB 1
. .
导入了 "TEST1"."T_PART":"P1" 6.742 KB 99
. .
导入了 "TEST1"."T_PART":"P2" 7.078 KB 100
. .
导入了 "TEST1"."T_PART":"P3" 7.359 KB 100
. .
导入了 "TEST1"."T_PARTITION":"P1" 6.804 KB 99
. .
导入了 "TEST1"."T_TREE" 5.960 KB 9
. .
导入了 "TEST1"."T_BIG_TABLE" 0 KB 0
. .
导入了 "TEST1"."T_BIG_TABLE2" 0 KB 0
. .
导入了 "TEST1"."T_CHAR" 0 KB 0
. .
导入了 "TEST1"."T_FUNCTION" 0 KB 0
. .
导入了 "TEST1"."T_TAB" 0 KB 0
. .
导入了 "TEST1"."T_YANGTK" 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
ORA-39082:
对象类型 ALTER_FUNCTION:"TEST1"."F_TEST" 已创建, 但带有编译警告

ORA-39082:
对象类型 ALTER_FUNCTION:"TEST1"."F_MULTI" 已创建, 但带有编译警告
ORA-39082:
对象类型 ALTER_FUNCTION:"TEST1"."F_PIPED_TREE" 已创建, 但带有编译警告
ORA-39082:
对象类型 ALTER_FUNCTION:"TEST1"."F_TO_T_IN" 已创建, 但带有编译警告处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
ORA-39082:
对象类型 ALTER_PROCEDURE:"TEST1"."P_AUTO" 已创建, 但带有编译警告

ORA-39082:
对象类型 ALTER_PROCEDURE:"TEST1"."P_AUTO_TRANS" 已创建, 但带有编译警告
ORA-39082:
对象类型 ALTER_PROCEDURE:"TEST1"."P_INSERT" 已创建, 但带有编译警告
ORA-39082:
对象类型 ALTER_PROCEDURE:"TEST1"."P_REDEFINITION" 已创建, 但带有编译警告
ORA-39082:
对象类型 ALTER_PROCEDURE:"TEST1"."P_RESULT" 已创建, 但带有编译警告
ORA-39082:
对象类型 ALTER_PROCEDURE:"TEST1"."P_TEST" 已创建, 但带有编译警告处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY
ORA-39082:
对象类型 PACKAGE_BODY:"TEST1"."PA_TEST" 已创建, 但带有编译警告
处理对象类型 SCHEMA_EXPORT/TYPE/TYPE_BODY
ORA-39082:
对象类型 TYPE_BODY:"TEST1"."T_MULTI" 已创建, 但带有编译警告

ORA-39082:
对象类型 TYPE_BODY:"TEST1"."T_MULTI" 已创建, 但带有编译警告处理对象类型 SCHEMA_EXPORT/JAVA_SOURCE/JAVA_SOURCE处理对象类型 SCHEMA_EXPORT/JAVA_CLASS/JAVA_CLASS处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS作业 "YANGTK"."SYS_IMPORT_FULL_01" 已经完成, 但是有 17 个错误 ( 01:28:24 完成)

导入成功执行,由于TYPEOBJECT_ID不能重复的原因,导致导入的时候出现了一些错误。不过当前并不关心这些错误,而是关心数据泵新建的这个用户。

再次检查用户列表:

SQL> SELECT USERNAME, PASSWORD FROM DBA_USERS ORDER BY 1;

USERNAME PASSWORD
------------------------------ -----------------------------
ANONYMOUS anonymous
BI FA1D2B85B70213F3
CATA_LOG 84FAF69405E209EE
CTXSYS 71E687F036AD56E5
DBSNMP 0344EFE44BA8E12C
DIP CE4A36B8E06CA59C
DMSYS BFBA5A553FD9E28A
EXFSYS 66F4EF5650C20355
HR 6399F3B38EDF3288
IX 2BE6F80744E08FEB
MDDATA DF02A496267DEE66
MDSYS 72979A94BAD2AF80
MGMT_VIEW 6A9DFF91392AB17A
OE 9C30855E7E0CB02D
OLAPSYS 3FB8EF9DB538647C
ORDPLUGINS 88A2B2C183431F00
ORDSYS 7EFA02EC7EA6B86F
OUTLN 4A3BA55E08595C81
PM 72E382A52E89575A
SCOTT F894844C34402B67
SH 9793B3777CD3BD1A
SI_INFORMTN_SCHEMA 84B8CBCA4D477FA3
SYS D3CE9AB10E42F19D
SYSMAN BCDEB078A5E81AC2
SYSTEM 9788807910D58ED9
TEST 7A0F2B316C212D67
TEST1 B50318A3C52FE640
TSMSYS 3DF26A8B17D0F29F
WMSYS 7C9BA362F8314299
XDB 88D8364765FCE6AF
YANGTK B50318A3C52FE640

已选择31行。

可以发现新建用户TEST1YANGTK用户的密码HASH值一致,莫非这个用户使用了原用户的密码:

SQL> CONN TEST1/YANGTK@YTK102
ERROR:
ORA-01017: invalid username/password; logon denied

SQL> CONN TEST1/TEST1@YTK102
ERROR:
ORA-01017: invalid username/password; logon denied

在10g中,这个用户不修改密码是无法正常登陆的。

原创粉丝点击