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 查询性能优化——创建索引原则(一)
索引是什么?索引是提高查询性能的一个重要工具,索引就是把查询语句所需要的少量数据添加到索引分页中,这样访问数据时只要访问少数索引的分页就可以.但是索引对于提高查询性能也不是万能的,也不是建立越多的索引 ...
随机推荐
- Python3 与 C# 基础语法对比(List、Tuple、Dict、Set专栏)
Code:https://github.com/lotapp/BaseCode 多图旧版:https://www.cnblogs.com/dunitian/p/9156097.html 在线预览: ...
- spring data jpa 分页查询
https://www.cnblogs.com/hdwang/p/7843405.html spring data jpa 分页查询 法一(本地sql查询,注意表名啥的都用数据库中的名称,适用于特 ...
- python(字符串、列表、字典、元组、集合)的常用内置方法
一.字符串: lis='my name is maple' res=lis.count('m')#计算字符串内相同字符的个数 print(res) lis='my name is maple' res ...
- linux系统调用之用户管理
getuid 获取用户标识号 setuid 设置用户标志号 getgid 获取组标识号 setgid 设置组标志号 getegid 获取有效组标识号 setegid 设置有效组标识号 geteuid ...
- Hibernate4
内容简介:1.使用log4j的日志存储,2.一对一关系,3.二级缓存 1 整合log4j(了解) l slf4j 核心jar : slf4j-api-1.6.1.jar .slf4j是 ...
- hdu 3530 "Subsequence" (单调队列)
传送门 题意: 给出一个序列,求最长的连续子序列,使得 m ≤ Max-Min ≤ k 我的理解: 定义数组 a[] 存储输入的 n 个数: 定义两个双端队列: deque<int >qM ...
- echarts图Y周坐标轴文字过长的解决方案
解决方案 只贴出关键代码 在翻看echarts文档的过程中我看到了坐标轴文字可以自行定义模板,于是想到了我给一个固定12的字数限制,超出部分以省略号代替,这样就不会造成图形范围忽大忽小了. axis ...
- PHP生成四角图片
<?php /** 圆角 $radius = 100; $img = imagecreatetruecolor($radius, $radius); // 创建一个正方形的图像 $bgcolor ...
- mongodb的sql日志
在Yii2中是没有打印出mongodb的sql语句,故借用下log来查看吧. 在网上有说可以使用$model->find()->createCommand()->getRawSql( ...
- day06-(mysql)
建表: CREATE DATABASE mysqltest2; USE mysqltest2; -- 部门表 CREATE TABLE DEPT( DEPTNO INT PRIMARY KEY, -- ...