plsql 导出分区_导出数据库中没有分区的表的方法

实际应用:

导出基本数据.bat:

sqlplus /nolog @.\CreateExpTable.sql

EXP GISAP/1@90.0.12.112 file=GISAP_structure.dmp LOG=GISAP_structure.LOG buffer=33000000 constraints=y indexes=y triggers=y grants=y rows=n

EXP GISAP/1@90.0.12.112 file=GISAP_base_data.dmp LOG=GISAP_base_data.LOG buffer=33000000 parfile=GISAP_base_data.E01

CreateExpTable.sql:

spool .\CreateExpTable.log;

conn gisap/1@90.0.12.112;

@.\CreateTableName.sql;

disconn;

spool off

exit;

CreateTableName.sql:

--不显示行头

set heading off pages 0;

--不显示行数信息

set feedback off;

--不在屏幕上显示结果

--set termout off;

--表示一行能放的字符数

set linesize 160;

--每行后面多余的空格去掉

SET TRIMS ON;

spool gisap_base_data.E01;

select 'tables=(' from dual;

select t.table_name||',' from user_tables t where t.partitioned ='NO';

select ')' from dual;

spool off;

上面几个文件就实现了我导出数据而又不导出带有分区的大表的过程。

还原的方法:

一、建立与原有数据库相同的表空间和用户名

二、用IMP将上面导出的文件导入到数据库,方法如下:

IMP GISAP/1@orcl fromuser=GISAP touser=GISAP file=GISAP_structure.dmp LOG=IMP_GISAP_structure.LOG ignore=y commit=y buffer=33000000

IMP GISAP/1@orcl fromuser=GISAP touser=GISAP file=GISAP_base_data.dmp LOG=IMP_GISAP_base_data.LOG ignore=y commit=y buffer=33000000

上面的方法使用于Oracle数据库的备份与迁移,只是我的方法不一定正确,也不一定是好的。

并且这种方法还有一个缺点,就是大数据表如果不分区的话导出还是会有一些不必要的数据。这里我如果想只导出不太大的表应怎么做呢?那么如果要导出在指定分区的数据又该怎么做呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值