导出数据库备份文件

1. 备份服务器数据,采用并行方式,加快备份速度(文件日期根据具体操作日期修改)

expdp jhpt/XXXX directory=databackup dumpfile=dpfile_201511271500_%U.dmp filesize=5G parallel=8 compression=all

导出为多个文件,最大一个文件5g.

4. 执行导入脚本,进行数据库导入,排除索引和主键(文件日期根据导出文件修改)

impdp jhpt/XXX directory=datapump dumpfile=dpfile_201511271500_%U.dmp exclude=index,constraint parallel=8 cluster=no

可以新建一个存放索引的表

-- Create table
create table TEMP1210
(
content1 CLOB,
content2 NVARCHAR2(100)
)
tablespace TS_DATAANALYSE
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);

因为分区的索引比较多,所以字段类型为CLOB 读的时候可以用to_char 吧字段转换为string

select to_char(a.content1) from TEMP1210 a ;

plsql 中执行

begin
  -- 重建普通索引
  for cur in (select index_name
                from all_indexes
               where owner = 'JHPT'
                 and tablespace_name is not null) loop

    insert into TEMP1210
      select dbms_metadata.get_ddl('INDEX', cur.index_name), ' ' from dual;
  end loop;
  commit;

  -- 重建分区索引
  for cur in (select * from all_ind_partitions where index_owner = 'JHPT') loop
   insert into TEMP1210
   select dbms_metadata.get_ddl('INDEX', cur.index_name), ' ' from dual;
  end loop;
  commit;
  -- 重建复合分区索引
  for cur in (select * from all_ind_subpartitions where index_owner = 'JHPT') loop
   insert into TEMP1210
   select dbms_metadata.get_ddl('INDEX', cur.index_name), ' ' from dual;
  end loop;
  commit;
end;

  

下面的是可以重建索引,因为索引时间长了可能对查询变慢,所以可以把这些索引重建一次;

begin

    execute immediate 'alter session enable parallel dml';

    -- 重建普通索引
    for cur in (select index_name from all_indexes where owner = 'JHPT' and tablespace_name is not null) loop
       execute immediate 'alter index ' || cur.index_name || ' rebuild online parallel 24';
    end loop;

    -- 重建分区索引
    for cur in (select * from all_ind_partitions where index_owner = 'JHPT') loop
       execute immediate 'alter index ' || cur.index_name || ' rebuild partition '|| cur.partition_name ||' online parallel 24';
    end loop;

    -- 重建复合分区索引
    for cur in (select * from all_ind_subpartitions where index_owner = 'JHPT') loop
       execute immediate 'alter index ' || cur.index_name || ' rebuild subpartition '|| cur.subpartition_name ||' online parallel 24';
    end loop;
  end;

  

oracle 重建索引以及导出所有的索引脚本(可以解决还原数据库文件时先还原数据,在重新用脚本创建索引)的更多相关文章

  1. Oracle数据泵导入的时候创建索引是否会使用并行?

    一.疑问,Oracle数据泵导入的时候创建索引是否会使用并行? 某客户需要使用数据泵进行迁移,客户咨询导入的时间能不能加快一点. 那么如何加快导入的速度呢? 多加一些并行,那么创建索引内部的索引并行度 ...

  2. 【MySQL】MySQL中针对大数据量常用技术_创建索引+缓存配置+分库分表+子查询优化(转载)

    原文地址:http://blog.csdn.net/zwan0518/article/details/11972853 目录(?)[-] 一查询优化 1创建索引 2缓存的配置 3slow_query_ ...

  3. 几百万的数据,mysql快速高效创建索引

    有一个问题,一张表有3百万条记录,随着时间的增加,记录量会更多,此时查询速度很慢.在创建此表前没有未相应字段添加索引,所以此时需要为表添加索引.但是因为数据量大的原因,索引添加不成功,想了很多办法,终 ...

  4. Oracle性能分析7:创建索引

    在创建索引时,我们往往希望可以预估索引大小,以评估对现有project环境的影响,我们也希望创建索引的过程可以最小化的影响我们正在执行的project环境,并能查看索引的状况. 预估索引大小 预估索引 ...

  5. SQL Server查询性能优化——创建索引原则(一)

    索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页 就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索 ...

  6. SQL Server 查询性能优化——创建索引原则(一)(转载)

    索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索引 ...

  7. linux环境给mongodb创建索引

    首先我们来了解索引,如果有基础的可以直接看最后面的操作. 可参照 DoNotStop 的CSDN 博客 ,全文地址请点击: https://blog.csdn.net/u013725455/artic ...

  8. mysql百万的数据快速创建索引

    测试数据本机一张表users有100百万条记录.在创建此表前没有未相应字段添加索引,所以此时需要为表添加索引.但是因为数据量大的原因,索引添加可能不成功,想了很多办法,终于挖坑成功. 开始准备工作, ...

  9. SQL Server 查询性能优化——创建索引原则(一)

    索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索引 ...

随机推荐

  1. Python学习day3 数据类型Ⅰ(str,int,bool)

    day3  数据类型 @上节内容补充 每周一个思维导图-xmind.exe in / not in #示例:(是否包含敏感字符)while True:    text = input('请输入你要说的 ...

  2. Arcgis for qml - 鼠标拖拽移动

    以实现鼠标拖拽文本图层为例 GitHub:ArcGIS拖拽文本 作者:狐狸家的鱼 目的是利用鼠标进行拖拽. 实现两种模式,一种是屏幕上的拖拽,第二种是地图上图层的挪动. 屏幕上的拖拽其实跟ArcGIS ...

  3. bzoj1218 激光炸弹

    bz上难得一见的水题啊. 我们发现:这个SB居然只要枚举就行了!!! 我TM...... /****************************************************** ...

  4. .net 调用 网易云的短信验证

    static string url = "https://api.netease.im/sms/sendcode.action"; static string appKey = & ...

  5. 跟我一起学习vue2(熟悉vue.js)[一]

    由于有angularjs的基础,所以我第一步是在官网:https://cn.vuejs.org/ 上面看了三遍他的理论知识,还有实例. 现在做完了第二步,就是在菜鸟教程:http://www.runo ...

  6. eclipse导出svn源码,如何转化为项目

    1.先导出 2.点击项目右键,选“属性” 3.选择project facets 4.添加对应的支持 5.可进行进一步配置,设置name,然后点击确定等待完成

  7. shiro:hasPermission 标签 :验证当前用户是否拥有指定权限

    1.这些值是存在数据库里的,在哪里找呢?sys_menu 中的permission列. <shiro:hasPermission name="cms:article:edit" ...

  8. 递归思维判断数组a[N]是否为一个递增数组

    递归的方法:记录当前最大的,并且判断当前的是否比这个还大,大则继续,否则返回false结束: bool fun( int a[], int n ) { ) { return true; } ) { ] ...

  9. 离线提取目标机hash

    ##看了大佬的文章学习到一个姿势在此将其记录一下复现过程 github项目地址:https://github.com/SecureAuthCorp/impacket.git python setup ...

  10. Django REST Framework限速

    官方文档:http://www.django-rest-framework.org/api-guide/throttling/#throttling settings.py配置 REST_FRAMEW ...