oracle11g备份以及导入数据库

场景:从cs库(U:cs,P:cspass) 复制库到 zs库(U:zs P:zspass)中

前期设置:

第一种方式:(1-4)

1、在对oracle11g进行exp命令时,当表没有数据时,不分配segment,以节省空间。而使用exp命令时,无segment的表不会被导出。

2、首先登陆cs库,使用以下sql查看一下:

      select * from user_tables;

3、然后执行一下语句:

    SELECT 'alter table ' ||table_name|| ' allocate extent;' FROM user_tables WHERE num_rows=0;

  可以查看到无数据表的拼接sql语句:

    alter table 表1 allocate extent;

    alter table 表2 allocate extent;

    alter table 表3 allocate extent;

    alter table 表4 allocate extent;

    alter table 表5 allocate extent;

4、执行上面拼接好的sql语句;

 

 

第二种方式:(5)

5、新装完数据库立即设置deferred_segment_creation 参数

       show parameter deferred_segment_creation

   NAME                                 TYPE        VALUE

   ------------------------------------ ----------- ----------

   deferred_segment_creation            boolean     TRUE

   SQL> alter system set deferred_segment_creation=false;

   系统已更改。

   SQL> show parameter deferred_segment_creation

   NAME                                 TYPE        VALUE

   ------------------------------------ ----------- ----------

   deferred_segment_creation            boolean     FALSE

    该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment

 

上面两种选择其中一种进行设置后,执行下面的备份、导入命令:

6、打开cmd窗口,执行数据库备份语句(system和system用户的密码);

     exp system/szsa@oral1 rows=y indexes=y grants=y triggers=y compress=n direct=y recordlength=65536 file=D:\data\spqz20200406.dmp log=D:\data\exp20180506.log owner=(cs)

7、备份后,执行imp语句,导入到zs库中(system和system用户的密码)

     imp system/szsa@oral2 ignore=y fromuser=cs touser=zs file=D:/data/spqz20200406.dmp log=D:/data/imp20200406.log full=n

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值