问题描述
我们有一个项目,我们计划更改架构名称和架构中的对象
假设表名是Schemaname _ 有新的架构后缀同样适用于包
示例当前架构名称-SCOTT
Schema - SCOTT _ 中的对象
我们正计划将SCOTT schema分解并替换为其他schema名称-VALUEREPORTER,因为SCOTT在SCHEMA中没有任何商业意义和对象作为vr_
我想确保在进行此更改时不会错过任何内容,
这是为了标准化所有的模式。
您能否让我知道作为开发人员的所有步骤,我应该小心。
谢谢你的帮助
假设表名是Schemaname _
示例当前架构名称-SCOTT
Schema - SCOTT _
我们正计划将SCOTT schema分解并替换为其他schema名称-VALUEREPORTER,因为SCOTT在SCHEMA中没有任何商业意义和对象作为vr_
我想确保在进行此更改时不会错过任何内容,
这是为了标准化所有的模式。
您能否让我知道作为开发人员的所有步骤,我应该小心。
谢谢你的帮助
专家解答
要更改 * schema *,您必须卸载/重新加载对象。DataPump可以协助 * 部分 * 工作,但不是全部,例如
但是您可以看到仍然需要管理触发器,过程等内容。
在这里看看增量而不是 “大爆炸” 的方法
https://asktom.oracle.com/pls/asktom/f?p=100:11::P11_QUESTION_ID:30020192108317
SQL> create user demo identified by demo; User created. SQL> SQL> grant resource, connect to demo; Grant succeeded. SQL> alter user demo quota 100m on users; User altered. SQL> SQL> grant read, write on directory TEMP to demo; Grant succeeded. SQL> SQL> connect demo/demo Connected. SQL> SQL> create table demo.demo_t1 ( x int ); Table created. SQL> create table demo.demo_t2 ( x int ); Table created. SQL> create procedure demo.demo_proc1 is begin null; end; 2 / Procedure created. SQL> SQL> create or replace trigger demo.demo_t1_trg 2 before insert or update on demo.demo_t1 3 begin 4 null; 5 end; 6 / Trigger created. SQL> SQL> SQL> create or replace trigger demo.demo_t2_trg 2 before insert or update on demo_t2 3 begin 4 null; 5 end; 6 / Trigger created. SQL> exit Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production C:\Users\hamcdc> C:\Users\hamcdc>expdp userid=demo/demo directory=TEMP dumpfile=my_schema Export: Release 12.2.0.1.0 - Production on Wed Jul 5 09:57:17 2017 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production Starting "DEMO"."SYS_EXPORT_SCHEMA_01": userid=demo/******** directory=TEMP dumpfile=my_schema Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA Processing object type SCHEMA_EXPORT/TABLE/TABLE Processing object type SCHEMA_EXPORT/TABLE/COMMENT Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT Processing object type SCHEMA_EXPORT/TABLE/TRIGGER . . exported "DEMO"."DEMO_T1" 0 KB 0 rows . . exported "DEMO"."DEMO_T2" 0 KB 0 rows Master table "DEMO"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded ****************************************************************************** Dump file set for DEMO.SYS_EXPORT_SCHEMA_01 is: C:\TEMP\MY_SCHEMA.DMP Job "DEMO"."SYS_EXPORT_SCHEMA_01" successfully completed at Wed Jul 5 09:57:45 2017 elapsed 0 00:00:27 SQL> drop user vr cascade; User dropped. SQL> SQL> create user vr identified by vr; User created. SQL> SQL> grant resource, connect to vr; Grant succeeded. SQL> alter user vr quota 100m on users; User altered. SQL> SQL> grant read, write on directory TEMP to vr; Grant succeeded. SQL> exit Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production C:\Users\hamcdc> C:\Users\hamcdc>impdp userid=vr/vr directory=TEMP dumpfile=my_schema remap_table=demo_t1:vr_t1 remap_table=demo_t2:vr_t2 remap_schema=demo:vr Import: Release 12.2.0.1.0 - Production on Wed Jul 5 10:06:06 2017 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production Master table "VR"."SYS_IMPORT_FULL_01" successfully loaded/unloaded Starting "VR"."SYS_IMPORT_FULL_01": userid=vr/******** directory=TEMP dumpfile=my_schema remap_table=demo_t1:vr_t1 remap_table=demo_t2:vr_t2 remap_schema=demo:vr Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA Processing object type SCHEMA_EXPORT/TABLE/TABLE Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA . . imported "VR"."VR_T1" 0 KB 0 rows . . imported "VR"."VR_T2" 0 KB 0 rows Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE Processing object type SCHEMA_EXPORT/TABLE/TRIGGER ORA-39083: Object type TRIGGER:"VR"."DEMO_T1_TRG" failed to create with error: ORA-00942: table or view does not exist Failing sql is: CREATE EDITIONABLE TRIGGER "VR"."DEMO_T1_TRG" before insert or update on demo.demo_t1 begin null; end; ORA-39083: Object type TRIGGER:"VR"."DEMO_T2_TRG" failed to create with error: ORA-00942: table or view does not exist Failing sql is: CREATE EDITIONABLE TRIGGER "VR"."DEMO_T2_TRG" before insert or update on demo_t2 begin null; end; Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS Job "VR"."SYS_IMPORT_FULL_01" completed with 2 error(s) at Wed Jul 5 10:06:08 2017 elapsed 0 00:00:01 SQL> conn vr/vr Connected. SQL> select object_name from obj; OBJECT_NAME -------------------------------------- DEMO_PROC1 VR_T1 VR_T2
但是您可以看到仍然需要管理触发器,过程等内容。
在这里看看增量而不是 “大爆炸” 的方法
https://asktom.oracle.com/pls/asktom/f?p=100:11::P11_QUESTION_ID:30020192108317
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




