oracle分区表备份恢复

原创 2016年05月31日 16:23:20
-- oracle分区表备份恢复
--1,测试数据:
drop tablespace tbs2 including contents and datafiles;
create tablespace tbs2 datafile '/ora01/app/oracle/oradata/prodc/tbs1.dbf' size 10M;
create user loge1 identified by china default tablespace tbs2;
grant connect,resource,dba to loge;
drop tablespace tbs2 including contents and datafiles;
create tablespace tbs2 datafile '/ora01/app/oracle/oradata/prodc/tbs1.dbf' size 10M;
create user loge1 identified by china default tablespace tbs2;
grant connect,resource,dba to loge1;

-- 使用账号loge登陆执行
create table p_t1 (id int,datatime date)
partition by range(datatime)
(partition p1 values less than (to_date('2016-01-01','yyyy-mm-dd')),
partition p2 values less than (to_date('2016-02-01','yyyy-mm-dd')),
partition p3 values less than (to_date('2016-03-01','yyyy-mm-dd')));

insert into p_t1 values(1,to_date('2016-01-01','yyyy-mm-dd'));
insert into p_t1 values(2,to_date('2016-02-01','yyyy-mm-dd'));
insert into p_t1 values(3,to_date('2016-03-01','yyyy-mm-dd'));
commit;

-- 查看

select table_name,partition_name,high_value from user_tab_partitions where table_name='P_T1'
select * from p_t1;
select * from p_t1 partition(p1);
select * from p_t1 partition(p2);

-- 创建间隔分区

select table_name,partition_name,high_value from user_tab_partitions where table_name='P_T2'
create table p_t2 (id int,datatime date)
partition by range(datatime)
interval(numtoyminterval(1,'MONTH'))
(partition part0601 values less than (to_date('2016-02-01','yyyy-mm-dd')));


--不允许间隔分区添加分区
alter table p_t2 add partition part0602 values less than (to_date('2016-03-01','yyyy-mm-dd'));
ORA-14760: ADD PARTITION is not permitted on Interval partitioned objects

-- 如果非间隔分区添加分区,比如大于最后一个分区,否则报错
alter table p_t1 add partition part0602 values less than (to_date('2016-03-01','yyyy-mm-dd'));
ORA-14074: partition bound must collate higher than that of the last partition

-- 拆分分区
alter table p_t1 split partition p3 at(to_date('2016-02-15','yyyy-mm-dd')) into (partition p31,partition p32);
-- 合并分区
alter table p_t1 merge partitions p31,p32 into partition p3;

-- 2,执行导出导入
-- exp导出
exp loge/china tables=p_t1 file=/home/oracle/bak/exp_table.dmp
exp loge/china tables=p_t1:p1 file=/home/oracle/bak/exp_table_p1.dmp
-- imp导入
imp loge1/china tables=p_t1 file=/home/oracle/bak/exp_table.dmp
imp loge/china tables=p_t1:p2 file=/home/oracle/bak/exp_table_p1.dmp

-- expdp导出
expdp loge/china directory=dump_dir dumpfile=dump_table.dmp tables=p_t1
-- expdp导入
impdp loge1/china directory=dump_dir dumpfile=dump_table.dmp tables=loge.p_t1 
content=metadata_only remap_schema=loge:loge1 remap_tablespace=tbs1:tbs2
impdp loge1/china directory=dump_dir dumpfile=dump_table.dmp tables=loge.p_t1 
content=data_only remap_schema=loge:loge1 remap_tablespace=tbs1:tbs2
表存在的几种处理:TABLE_EXISTS_ACTION APPEND, REPLACE, [SKIP] 和 TRUNCATE

注意:
如果是自己创建的分区比如按照job创建的分区,注意建表的ddl,否则导入失败

oracle数据库分区的备份和恢复

1 查看创建表空间时指定的数据文件 show parameter db_create_file 2 设置表空间地址 alter system set DB_CREATE_FILE_DES...
  • adermxl
  • adermxl
  • 2014年06月16日 15:43
  • 1203

oracle分区表备份恢复

-- oracle分区表备份恢复 --1,测试数据: drop tablespace tbs2 including contents and datafiles; create tablespace ...
  • jc_benben
  • jc_benben
  • 2016年05月31日 16:23
  • 1589

linux下如何备份分区表

文章摘自:http://bbs.linuxsir.org/showthread.php?t=177497‘#fdisk /dev/hda -l > /tmp/hda.txt备份MBR ‘#dd if...
  • hhq163
  • hhq163
  • 2017年06月19日 13:05
  • 311

Oracle 备份恢复 31个实验 1-6

备份恢复实验之一(第一个实验会稍微细一点,有些步骤类似的下一个实验就不再详细操作)      USERS表空间在线损坏(在线损坏就是数据库open后的损坏) 特别提示:为什么是USERS?...
  • empoli
  • empoli
  • 2012年10月07日 12:23
  • 704

Oracle 分区表 导出导入 迁移

  在Blog :分区表总结 里提到一种创建分区表的方法。使用导出导入。       Oracle 分区表总结       http://blog.csdn.net/tianlesoftware/ar...
  • tianlesoftware
  • tianlesoftware
  • 2011年03月03日 16:38
  • 10595

oracle11g expdp impdp 分区表重映射导出导入数据迁移方案

  • 2017年12月06日 11:34
  • 21KB
  • 下载

Oracle 分区表 导出导入 迁移

在Blog :分区表总结 里提到一种创建分区表的方法。使用导出导入。        Oracle 分区表 总结        http://blog.csdn.net/tianlesoftware...
  • gxc1222
  • gxc1222
  • 2017年09月19日 20:41
  • 119

如何将oralce普通表转换为分区表

 本文档 ID 1985005.1  如何将oralce普通表转换为分区表,此前面试被问到过,虽然知道在线重定义,个人觉得很简单,查查文档做个试验就差不多了,但自己没亲自操作过有点...
  • zhengwei125
  • zhengwei125
  • 2016年06月21日 18:01
  • 1002

Oracle备份恢复-手动完全恢复

dba基础课程:Oracle备份恢复-手动完全恢复 平台:redhat linux as5,oracle10g 备份和恢复对于数据库来说是非常重要的,如果没有有效的备份,那么数据的安全就是...
  • oraclestudyroad
  • oraclestudyroad
  • 2016年08月04日 09:34
  • 679

oracle分区表的建立方法(包含已经存在的表要分区)

Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 Oracle的分区表...
  • wanglilin
  • wanglilin
  • 2012年01月05日 10:24
  • 11200
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle分区表备份恢复
举报原因:
原因补充:

(最多只允许输入30个字)