`
gip666
  • 浏览: 40181 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle 存储过程导出索引

 
阅读更多
1、首先要建立一个directory
create or replace directory DIR_DUMP as 'd:/index';

2、执行过程,在路径'd:/index' 下有index.txt文件为导出所有索引的创建语句。

create or replace procedure index_frame
is
  type index_name_type is table of user_indexes.index_name%type;
  v_index_name index_name_type;
  type index_type_type is table of user_indexes.index_type%type;
  v_index_type index_type_type;
  type table_name_type is table of user_indexes.table_name%type;
  v_table_name table_name_type;
  type ind_post_cur is ref cursor;
  ind_post ind_post_cur;
  v_column_name user_ind_columns.COLUMN_NAME%type;
  v_column_position user_ind_columns.column_position%type;
  frame_name UTL_FILE.file_type;
  v_str clob;
  s_index_type  user_indexes.index_type%type;
  status number;
begin
  frame_name := UTL_FILE.fopen('DIR_DUMP','index.txt','w');
  select index_name,index_type,table_name  bulk collect into v_index_name,v_index_type,v_table_name
    from user_indexes where index_name not like '%BIN$%';
  for i in 1..v_index_name.count loop
  status :=1;
  if v_index_type(i) = 'NORMAL' then
    s_index_type := '';
  else s_index_type := v_index_type(i);
  end if;
  open  ind_post for  select column_name,column_position   from user_ind_columns
                       where index_name=upper(v_index_name(i))
                      order by column_position asc;
  v_str := 'create '||s_index_type||' index '||v_index_name(i)||' on '||v_table_name(i)||' (';
    loop
       fetch ind_post into v_column_name,v_column_position;    
       if ind_post%notfound then
         v_str := v_str||') ;';
         exit;
       elsif status =1 then
         v_str := v_str||v_column_name;
         status := 0 ;
       else
         v_str := v_str||','||v_column_name;
       end if;
    end loop; 
  UTL_FILE.put_line(frame_name,v_str);
  close ind_post;
  end loop;
  UTL_FILE.fclose_all;
end;
分享到:
评论

相关推荐

    Oracle数据库导入导出工具

    在日常运维和开发过程中,数据的导入导出是非常常见的任务,这包括数据迁移、备份、恢复等场景。本工具是一款基于Java编写的桌面应用程序,专为Oracle数据库的导入导出提供便利。 1. **Oracle数据库导入导出的重要...

    Oracle导入导出命令bat执行命.rar

    这个"Oracle导入导出命令bat执行命.rar"文件显然包含了一系列用于自动化这些过程的批处理(BAT)脚本。 首先,让我们来理解一下Oracle的导入导出命令。`expdp`和`impdp`是Oracle Data Pump的命令行工具,用于导出和...

    oracle的导入导出

    1. **用户模式**:导出特定用户的全部对象,包括表、索引、存储过程、触发器等,以及这些对象中的数据。 2. **表模式**:导出用户所有的表,或者指定的单个或多个表,可以选择是否导出表数据。 3. **整个数据库**:...

    oracle 导出数据字典的小工具

    2. **选择导出内容**:工具通常会提供选项,让用户选择要导出的数据字典部分,比如表、索引、触发器、存储过程等。 3. **格式化设置**:用户可能还可以定制导出的格式,如字体、颜色、表格样式等,以满足个人喜好或...

    oracle数据库导出表结构到WORD文档

    在"压缩包子文件的文件名称列表"中提到的"oracle表结构导出器"可能是一个专用的工具,它简化了上述过程,能够直接将Oracle表结构导出为Word格式,无需手动操作。这种工具通常会包含预设的模板和格式,使得输出的文档...

    Oracle数据库表结构导出工具Excel

    4. **导出选项**:描述可以自定义的导出设置,如是否包含注释、触发器、存储过程等,并可以选择导出的字段格式。 5. **执行导出**:指导用户如何启动导出过程,以及导出后的文件保存位置和文件格式。 6. **错误...

    MySql 和Oracle 数据库结构导出Word

    其数据库结构包含表、视图、索引、存储过程、函数、包、触发器等。Oracle还提供了PL/SQL编程语言,用于编写数据库逻辑。 将MySQL和Oracle的数据库结构导出为Word文档,可以帮助数据库管理员和开发人员清晰地了解...

    oracle数据库对象导出脚本

    在Oracle数据库中,对象是指数据库表、视图、索引、存储过程等结构化的数据组织方式。 #### 描述:Oracle数据库对象导出脚本,具体SQL语句,方便使用 描述部分简要介绍了该文档的内容:提供了一系列具体的SQL语句...

    ORACLE文档导出工具

    1. **导出数据字典**:该工具能够将整个数据库的元数据信息以文档形式导出,包括所有表、视图、索引、存储过程、触发器、序列等,这为理解和审计数据库结构提供了极大的便利。 2. **帮助文档**:随工具提供的帮助...

    关于 Oracle 的数据导入导出及 Sql Loader (sqlldr)

    - 使用分区表和索引加速导入导出过程。 - 分批导入以减少锁竞争,提高并发性能。 - 定期清理导出的DMP文件,以节省存储空间。 5. **安全注意事项** - 在进行数据导入导出时,确保操作权限适当,避免数据泄露。 ...

    DB2和ORACLE数据库导出表结构空间和存储过程脚本。

    它可能调用了上述提到的DB2和Oracle的命令行工具,以导出表结构、存储过程和表空间信息。用户运行这个文件时,应该会生成相应的DDL和PL/SQL脚本文件。 3. **CODE**: 这可能包含具体的SQL脚本或存储过程代码,用于更...

    oracle导出导入定时

    2. Oracle的DBMS_SCHEDULER:在数据库级别设置定时任务,直接调用PL/SQL存储过程执行导出导入。 五、最佳实践 - 定期备份:根据业务需求,设定合理的备份频率,如每天、每周等。 - 安全存储:导出文件应存储在安全...

    Oracle导入和导出工具使用

    - `owner=(system,sys)`:导出指定用户的资源,包括表、存储过程等。 ##### 2.3 导出特定表 ``` exp system/123456@ATSTestDB file=c:\export.dmp tables=(sys.table1, owbsys.table2) ``` - **系统参数**: - ...

    Oracle数据库导入导出(备份与恢复)[参考].pdf

    - `INDEXES`:选择是否导出索引。 - `RECORDLENGTH`:设置I/O记录长度。 - `RECORD`:用于增量导入的跟踪。 5. **使用Toad工具** Toad是一个强大的Oracle数据库管理工具,提供了图形化的界面,使得数据库操作...

    oracle导入导出的资源文件夹

    - 完整性:可以导出数据库的完整结构和数据,包括表、视图、索引、存储过程等。 - 选择性:可以选择导出或导入特定的表、模式或整个数据库。 - 分区处理:支持对分区表的导出和导入。 7. **实际操作示例**: - ...

    Oracle dmp文件导出导入(还原)到不同的表空间和不同的用户操作

    #### 二、Oracle DMP 文件导出过程 在开始导出DMP文件之前,首先需要确保Oracle环境中已安装并配置了Oracle GoldenGate或其他相关工具。接下来,按照以下步骤进行: 1. **创建表空间和用户**: - 表空间:用于存储...

    从 Oracle数据库中导出SQL脚本.doc

    从 Oracle 数据库中导出 SQL 脚本 Oracle 数据库是一个功能强大且复杂的关系数据库管理系统,提供了多种方式来导出数据库对象的创建和申明的 SQL 脚本。下面将详细介绍如何从 Oracle 数据库中导出 SQL 脚本。 获取...

    oracle数据库导入导出备份与恢复

    2. **用户方式(U方式)**:导出特定用户的全部对象,如表、视图、存储过程等。 3. **全库方式(Full方式)**:导出整个数据库,包括所有用户、表空间、数据和系统对象。 在命令行中,Export的基本语法如下: ``` exp ...

Global site tag (gtag.js) - Google Analytics