最近论坛上有人问exp 一个300G的数据库,有没有更好的方法,
有人提议有prebuilt,做了个试验,记下过程
SQL> conn test/test@jumper;
已连接。
[@more@]SQL> create table test(a int,b varchar(2));
表已创建。
SQL> alter table test add constraint pk_test primary key(a);
表已更改。
SQL> create index i_b on test(b);
索引已创建。
SQL> insert into test values(1,'a');
已创建 1 行。
SQL> commit;
提交完成。
SQL> create materialized view log on test with primary key;
实体化视图日志已创建。
获得需要创建的对象
SQL> spool off;
SQL> spool get_ddl.sql
SQL> set pagesize 0
SQL> set long 90000
SQL> set feedback off
SQL> set echo off
SQL> spool get_schema.sql
SQL> SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)
FROM USER_TABLES u;
SQL> SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name)
2 FROM USER_INDEXES u;
SQL> conn test/test@jumpera;
已连接。
SQL>CREATE DATABASE LINK jumper CONNECT TO test IDENTIFIED BY test USING ‘jumper’;
数据库链接已创建。
SQL> create materialized view test on prebuilt table as
2 select *from test@jumper;
实体化视图已创建。
SQL> select * from test;
未选定行
SQL> exec dbms_mview.refresh('test','c');
PL/SQL 过程已成功完成。
SQL> select * from test;
A B
---------- --
1 a
SQL> drop materialized view test;
实体化视图已删除。
SQL> select * from test;
A B
---------- --
1 a
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/76065/viewspace-831899/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/76065/viewspace-831899/