从oracle数据库导出索引创建脚本
2013-04-18 18:45
211 查看
最近在开发环境发现在某些功能上面做测试时,速度很慢,经查是索引没有创建。
经过分析发现是因为在之前从正式环境导数据到开发环境时,因为开发环境数据空间不足以承担正式环境的数据量,于是在使用imp导入的时候,针对某些大表做了中断导入的操作。
但此操作直接导致该表的索引没有创建。(补数据库导入导出执行过程)
补救思路:通过查找两个环境的差异,得到缺失的索引,并导出重新执行即可。
以后处理类似事情的时候要谨慎,完成后要做好检查工作才行,避免出现类似的情况发生。
经过分析发现是因为在之前从正式环境导数据到开发环境时,因为开发环境数据空间不足以承担正式环境的数据量,于是在使用imp导入的时候,针对某些大表做了中断导入的操作。
但此操作直接导致该表的索引没有创建。(补数据库导入导出执行过程)
补救思路:通过查找两个环境的差异,得到缺失的索引,并导出重新执行即可。
Select table_name,index_name,DBMS_METADATA.GET_DDL('INDEX',index_name) from --获得差集 (Select a.table_name,a.index_name from Dba_Indexes a Where a.owner='PROD' Minus Select b.table_name,b.index_name from Dba_Indexes b Where b.owner='DEV') u;
以后处理类似事情的时候要谨慎,完成后要做好检查工作才行,避免出现类似的情况发生。
相关文章推荐
- ORACLE导出创建非唯一索引脚本的方法 .
- 导出所有对象(表、索引、视图、同义词)的创建脚本
- oracle导出创建用户下各个对象数据结构的sql语句的脚本,包括表、视图、索引、约束等等
- oracle 重建索引以及导出所有的索引脚本(可以解决还原数据库文件时先还原数据,在重新用脚本创建索引)
- Oracle数据库索引创建要做到三个适当
- 使用Navicat将mysql中的数据导出--包括数据库表创建脚本和数据
- 利用SHELL脚本实现将Oracle数据库的每日EXPDP导出文件复制到远程服务器
- Oracle数据库创建用户、表空间、表、索引、序列、触发器
- 使用Navicat For MySql 将mysql中的数据导出,包括数据库表创建脚本和数据
- 通过脚本导出ORACLE数据库建表语句及注释
- 创建Oracle数据库索引的三个标准
- 数据库创建导入导出脚本
- 查看索引信息/生成创建索引脚本
- 手工创建Oracle数据库脚本及说明
- 详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名及手工脚本创建oracle数据库
- 利用windows脚本实现Oracle数据库定时导出文件
- Oracle数据库的创建、数据导入导出
- 查看索引创建进度的脚本
- 利用windows脚本实现Oracle数据库定时导出文件
- Oracle数据库创建表空间、用户及数据的导入、导出【源自于实战】