对于同义词的备份我们有多种方式来实现,如直接通过脚本生成同义词的创建脚本,或者使用dbms_metadata.get_ddl来提取同义词的定义脚本。然而在使用传统的exp或是datapump expdp实现schema级别数据迁移时,不能导出公共同义词。尽管如此,我们依旧可以使用导出导入的方式来实现。所不同的是,我们使用FULL=Y的方式来单独导出同义词,然后再将其导入的目标数据库。下文是对此进行的描述,末尾也给出了手动创建同义词的脚本。
1、环境
--源数据库
SQL> select * from v$version where rownum<2;
BANNER
----------------------------------------------------------------
Oracle Database 10g Release 10.2.0.3.0 - 64bit Production
SQL> show parameter db_nam
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string XM6320
SQL> select count(*) from dba_synonyms where table_owner='GOEX_ADMIN';
COUNT(*)
----------
1042
--目标数据库
--目标数据库schema goex_admin的所有数据均来源于源数据库,但是使用datapump导入后,无同义词
SQL&