create or replace procedure p_rebuild_all_index
(tablespace_name in varchar2)
as
sqlt varchar(1000);
begin
for idx in (select index_name, tablespace_name, status from user_indexes where tablespace_name=tablespace_name and status='VALID' and temporary = 'N' and index_type='NORMAL') loop
begin
sqlt := 'alter index ' || idx.index_name || ' rebuild ';
dbms_output.put_line('索引名称:'+ idx.index_name);
dbms_output.put_line('重建语句:'+sqlt);
EXECUTE IMMEDIATE sqlt;
--错误后循环继续执行。
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(SQLERRM);
end;
end loop;
end;
oracle 存储过程批量重建索引。
测试方法
declare
--表空间名称
tablespace_name varchar2(100);
begin
tablespace_name:='dddd';
p_rebuild_all_index(tablespace_name);
end;
引自:http://www.cnblogs.com/yg_zhang/archive/2008/01/30/1058475.html
分享到:
相关推荐
但Oracle现在强烈建议不要定期重建索引。具体可以参考文章:Oracle 重建索引的必要性。尽管如此重建索引还是有必要的,只是不建议定期。本文给出了重建索引的脚本供大家参考。 1、重建索引shell脚本 robin@SZDB:
导入后,可能需要进行数据校验、索引重建等后处理步骤。这些可以通过编写Shell脚本或PL/SQL程序来实现。 7. **性能优化** 在导入过程中,关注性能指标如CPU使用率、I/O等待时间等,适时调整数据库的初始化参数,如...
在进行大量插入时,考虑是否需要临时禁用或重建索引。 6. **环境因素**: 操作系统(Windows 7 64位)、CPU(Intel i5-2300)、内存(4GB)和硬盘(1TB)的配置也会影响数据库操作的性能。内存不足可能导致磁盘...
这一步涉及复制Oracle数据库中的表结构,包括表名、字段、数据类型、主键、外键、唯一性约束、非空约束等,并在DM8中重建。同时,迁移索引以保持查询性能,以及字段的注释和序列,用于自增字段。 四、删除键,约束...
3. **索引管理**:在批量插入之前考虑暂时禁用相关表上的索引,待所有数据插入完成后统一重建索引,以减少索引维护对插入性能的影响。 4. **事务管理**:合理调整事务大小,避免因事务过大而导致的锁等待时间过长的...
6. **表结构转换**:转换工具应能识别Oracle的表结构,包括字段、索引、主键、外键等,并创建对应的MySQL表结构。 7. **权限和角色**:Oracle和MySQL的权限管理系统不同,转换工具需要考虑如何映射和转换用户的权限...
正确答案C指出,应该创建一个使用应用触发事件的作业来执行批量加载,而另一个使用调度器触发事件的作业来重建索引。这展示了Oracle数据库中如何利用Scheduler来自动化管理和执行数据库任务,以及如何通过应用事件来...
- **重建索引**:重建索引是一种优化索引的方法,它可以改善索引的性能。重建索引时不会删除原索引,并且可以更改其存储参数。 ```sql ALTER INDEX index_name REBUILD TABLESPACE ts_name STORAGE(); ``` 为了...
2. **结构迁移**:转换过程中,工具会处理表结构、索引、主键、外键、触发器和约束等,确保在Oracle中重建相同的数据库架构。 3. **数据导入**:在结构转换完成后,工具将MySQL中的数据批量导入到Oracle中。这可能...
- **数据库维护**:概述了日常维护活动中常见的任务,例如数据文件重组、索引重建和统计信息收集等。 - **整体视角与十大交付物**:从全局角度出发,总结了作为一位Oracle DBA应该掌握的核心技能集,明确了成功的...
1. **Oracle批量拷贝** - 使用`COPY`命令可以方便地将数据从一个表复制到另一个表。 - 示例命令: ``` set arraysize 20 set copy_commit 5000 copy from username/password@oraclename append table_name1 ...
1. **暂停索引与恢复**:在进行大规模更新时,可以考虑暂停索引,以避免在更新过程中重建索引导致的额外开销。然而,如果更新涉及的是索引字段,暂停索引可能会降低UPDATE操作的速度,因为索引在查询时能提高效率。...
9. **索引和约束**:重建索引和外键约束,以保持数据的完整性和查询性能。 10. **测试**:在生产环境导入数据前,务必在测试环境中进行完整的功能测试,以确保迁移后的系统能够正常运行。 以上就是从SQL Server...
转换工具需要考虑如何在新环境中重建这些索引和约束,保持查询效率。 7. 安全性:权限和角色的管理也是数据库迁移的一部分。迁移工具应能处理用户、角色和权限的转移,确保迁移后系统的安全性。 8. 性能优化:在大...
- **Rebuilding an Index**:重建索引的过程。 - **Dropping a Preference**:删除 Preference 设置。 #### 十一、Managing DML Operations for a CONTEXT Index - **Viewing Pending DML**:查看待处理的 DML ...
在Oracle数据库管理过程中,经常会遇到需要批量获取表结构(包括表定义和索引定义)的情况。以下是一个示例脚本,可以用来获取当前用户下的所有表以及这些表上的所有索引的DDL定义。 ```sql -- 设置SQL*Plus环境...
但这种方法在表已有大量数据时不合适,因为重建索引会消耗大量时间。 3. 使用批量INSERT:通过绑定变量(batch binding)的方式,一次插入多行数据,能显著提高导入效率。例如,使用BULK COLLECT INTO语句结合PL/SQL...
- 对于分区表的全局索引,需要在重新定义后重建索引。 3. **`ALTER TABLE...MOVE COMPRESS FOR OLTP`**: - 同样可以同时压缩现有的数据以及未来新增的数据。 - 在移动过程中,表会被加上排他锁(X锁),这意味...