oracle 重建索引以及导出所有的索引脚本(可以解决还原数据库文件时先还原数据,在重新用脚本创建索引)
导出数据库备份文件
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 重建索引以及导出所有的索引脚本(可以解决还原数据库文件时先还原数据,在重新用脚本创建索引)的更多相关文章
- Oracle数据泵导入的时候创建索引是否会使用并行?
一.疑问,Oracle数据泵导入的时候创建索引是否会使用并行? 某客户需要使用数据泵进行迁移,客户咨询导入的时间能不能加快一点. 那么如何加快导入的速度呢? 多加一些并行,那么创建索引内部的索引并行度 ...
- 【MySQL】MySQL中针对大数据量常用技术_创建索引+缓存配置+分库分表+子查询优化(转载)
原文地址:http://blog.csdn.net/zwan0518/article/details/11972853 目录(?)[-] 一查询优化 1创建索引 2缓存的配置 3slow_query_ ...
- 几百万的数据,mysql快速高效创建索引
有一个问题,一张表有3百万条记录,随着时间的增加,记录量会更多,此时查询速度很慢.在创建此表前没有未相应字段添加索引,所以此时需要为表添加索引.但是因为数据量大的原因,索引添加不成功,想了很多办法,终 ...
- Oracle性能分析7:创建索引
在创建索引时,我们往往希望可以预估索引大小,以评估对现有project环境的影响,我们也希望创建索引的过程可以最小化的影响我们正在执行的project环境,并能查看索引的状况. 预估索引大小 预估索引 ...
- SQL Server查询性能优化——创建索引原则(一)
索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页 就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索 ...
- SQL Server 查询性能优化——创建索引原则(一)(转载)
索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索引 ...
- linux环境给mongodb创建索引
首先我们来了解索引,如果有基础的可以直接看最后面的操作. 可参照 DoNotStop 的CSDN 博客 ,全文地址请点击: https://blog.csdn.net/u013725455/artic ...
- mysql百万的数据快速创建索引
测试数据本机一张表users有100百万条记录.在创建此表前没有未相应字段添加索引,所以此时需要为表添加索引.但是因为数据量大的原因,索引添加可能不成功,想了很多办法,终于挖坑成功. 开始准备工作, ...
- SQL Server 查询性能优化——创建索引原则(一)
索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索引 ...
随机推荐
- 五大理由分析Springboot 2.0为什么选择HikariCP
五大理由分析Springboot 2.0为什么选择HikariCP 2018-05-04 工匠小猪猪 占小狼的博客 本文非原创,是工匠小猪猪的技术世界搜集了一些HikariCP相关的资料整理给大家的介 ...
- BZOJ3881 Divljak
解:对被包含的那些串建AC自动机. 每次加一个串,就在AC自动机上面跑,可知能够跑到一些节点. 这些节点都是一些前缀的形式,我们跳fail树就是跳后缀,这样就能够得到所有能匹配的子串. 我们分别对AC ...
- [AC自动机][学习笔记]
用途 AC自动机适用于一类用多个子串在模板串中匹配的字符串问题. 也就是说先给出一个模板串,然后给出一些子串.要求有多少个子串在这个模板串中出现过. KMP与trie树 其实AC自动机就是KMP与tr ...
- [luogu3834][可持久化线段树 1(主席树)]
题目链接 思路 裸的主席树.查询的时候,通过相减求出区间内左子树中数的个数a.然后判断要查找的k是否比这个z要大.如果比这个值大,那么就去右子树中查找第k - z大,否则去左子树中查找第k大. 代码 ...
- js 判断所选时间(或者当前时间)是否在某一时间段的实现代码
var time_range = function (beginTime, endTime, nowTime) { var strb = beginTime.split (":") ...
- 使用postman测试dubbo服务层的方法
下面的项目用的是servlet3.0架构 接口(doubbo消费者项目和服务者项目共享的jar项目中): package serviceinvoke; import com.alibaba.dubbo ...
- 表格中的checkbox复选框 全选非全选 公共方法 及提交选中结果
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- thinkphp中用ajax对数据库进行操作
删除和查看详情操作的共同语句:就是怎么显示表? 1.在主体中写表的开头行,想要显示的内容,并且加载数据也要显示的地方也建张表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 & ...
- eslint相关工具
eslint工具 1. vscode搜索eslint安装,就可以在写代码时报eslint的错误了 2.文件 --> 首选项 --> 设置 --> 选ESLint --> 勾选A ...
- hibernate注解方式来处理映射关系
在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,我在试了这两种方式 ...