|
e big_table to big_table_old;
Table renamed.
SQL> rename big_table2 to big_table;
Table renamed.
$ impdp leshami/xxx directory=db_dump_dir dumpfile=big_table.dmp logfile=imp__big_tb.log tables=big_table
EXEC DBMS_STATS.gather_table_stats('LESHAMI', 'BIG_TABLE', cascade => TRUE);
--下面是导入数据之后的结果
SQL> select table_name, partition_name,high_value,num_rows
2 from user_tab_partitions where table_name='BIG_TABLE';
TABLE_NAME PARTITION_NAME HIGH_VALUE NUM_ROWS
------------------------------ ------------------------------ --------------------- ----------
BIG_TABLE2 BIG_TABLE_2012 TO_DATE(' 2013-01-01 3333
BIG_TABLE2 BIG_TABLE_2013 TO_DATE(' 2014-01-01 3334
BIG_TABLE2 BIG_TABLE_2014 MAXVALUE 3333
--如果数据无异常可以删除源表以便为分区表添加相应索引及约束,如果未删除源表,需要使用单独的索引,约束名等
SQL> drop table big_table;
Table dropped.
ALTER TABLE big_table ADD (
CONSTRAINT big_table_pk PRIMARY KEY (id)
);
CREATE INDEX bita_created_date_i ON big_table(created_date) LOCAL;
CREATE INDEX bita_look_fk_i ON big_table(lookup_id) LOCAL;
ALTER TABLE big_table ADD (
CONSTRAINT bita_look_fk
FOREIGN KEY (lookup_id)
REFERENCES lookup(id)
);
--触发器也需要单独添加到分区表
CREATE OR REPLACE TRIGGER tr_bf_big_table
BEFORE UPDATE OF created_date
ON big_table
FOR EACH ROW
BEGIN
:new.created_date := TO_CHAR (SYSDATE, 'yyyymmdd hh24:mi:ss');
END tr_bf_big_table2;
/
5、后记

更多参考
有关Oracle RAC请参考
有关Oracle 网络配置相关基础以及概念性的问题请参考:
有关基于用户管理的备份和备份恢复的概念请参考
有关RMAN的备份恢复与管理请参考
有关ORACLE体系结构请参考
|