文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发OracleOracle DBMS_REPAIR包修复损坏数据块
精品推荐
特别推荐
·常用数据库比较
·ODBC API常用函数诠释
·提高ORACLE数据库的查询统计速度
·细化解析:Oracle使用的hints调整机制
·解析Oracle/Oracle Forms 的多用途代码
·从Oracle的FORM中调用REPORT的实用技巧
·Oracle SQL精妙SQL语句讲解
·ORACLE学习笔记--性能优化四
·ORACLE常用傻瓜问题1000问
·ORACLE常见错误代码的分析与解决之二
·深刻理解Oracle数据库的启动和关闭
·监控Oracle数据库的常用shell脚本
·Oracle在Solaris下的性能与调整简介
·通俗解说ORACLE
·数据库安全性策略
热点TOP10
·详细介绍ORACLE sqlplus命令
·ORACLE常用傻瓜问题1000问
·我的oracle笔记四(DBA管理)
·Oracle SQL精妙SQL语句讲解
·Oracle Tuning (Oracle 性能调整)的一些总结
·我的oracle笔记一(sql语句方面)
·程序员如何掌握计算机英语
·用正则表达式函数验证身份证号码合法性
·oracle数据库 exp/imp命令详解
·性能分析工具的使用
·ORACLE UPDATE 语句语法与性能分析看法
·在Solaris 10 X86上安装Oracle 10g RAC详解 (1)
·ORA-01092: ORACLE 例程终止。强行断开连接
·VMware下RedHat安装Oracle 9i RAC全攻略
·监控Oracle数据库的常用shell脚本
·手工创建oracle数据库
·常用数据库比较
·PL/Sql循序渐进全面学习教程
·在Solaris 10 X86上安装Oracle 10g RAC详解 (2)
·ORACLE学习笔记--性能优化一

Oracle DBMS_REPAIR包修复损坏数据块

日期:2007年7月8日 作者: 查看:[大字体 中字体 小字体]


21 ELSIF V_POSITION = 3 THEN

22 V_RETURN := V_RETURN V_STR_PART;

23 ELSE

24 RAISE_APPLICATION_ERROR(-20002, 'DUMP ERROR CHECK THE INPUT ROWID');

25 END IF;

26

27 V_POSITION := INSTR(V_STR, ',');

28 END LOOP;

29 RETURN REPLACE(V_RETURN , ',');

30 END F_ADD_PREFIX_ZERO;

31

32 FUNCTION F_DUMP_FROM_ROWID

33 (

34 P_DUMP_ROWID IN UROWID,

35 P_OWNER IN VARCHAR2,

36 P_INDEX_NAME IN VARCHAR2,

37 P_COLUMN_POSITION IN NUMBER DEFAULT 1

38 )

39 RETURN VARCHAR2 AS

40 V_COLUMN_TYPE DBA_TAB_COLUMNS.DATA_TYPE%TYPE;

41

42 V_LENGTH_STR VARCHAR2(10);

43 V_LENGTH NUMBER DEFAULT 7;

44 V_DUMP_ROWID VARCHAR2(30000);

45

46 V_DATE_STR VARCHAR2(100);

47 TYPE T_DATE IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;

48 V_DATE T_DATE;

49

50 BEGIN

51

52 --根据SCHEMA、INDEX_NAME和COLUMN_NAME得到COLUMN的数据类型

53 SELECT T.DATA_TYPE

54 INTO V_COLUMN_TYPE

55 FROM DBA_IND_COLUMNS I, DBA_TAB_COLUMNS T

56 WHERE I.TABLE_NAME = T.TABLE_NAME

57 AND I.TABLE_OWNER = T.OWNER

58 AND I.COLUMN_NAME = T.COLUMN_NAME

59 AND I.TABLE_OWNER = P_OWNER

60 AND I.INDEX_NAME = P_INDEX_NAME

61 AND I.COLUMN_POSITION = P_COLUMN_POSITION;

62

63 --根据COLUMN在索引中的位置,循环找到这个COLUMN对应的ROWID

64 FOR I IN 1..P_COLUMN_POSITION LOOP

65

66 --如果COLUMN的长度超过127,即表示长度的位超过7f,则开始用两位来存储长度,其中第一位以8开始。

67 SELECT F_GET_VALUE(DUMP(P_DUMP_ROWID, 16, V_LENGTH, 1)) INTO V_LENGTH_STR FROM DUAL;

68 IF SUBSTR(V_LENGTH_STR, 1, 1) = '8' THEN

69 SELECT SUBSTR(F_GET_VALUE(DUMP(P_DUMP_ROWID, 16, V_LENGTH, 2)), 2) INTO V_LENGTH_STR FROM DUAL;

70 V_LENGTH_STR := TO_CHAR(TO_NUMBER(REPLACE(V_LENGTH_STR, ','), 'XXXX'));

71 SELECT F_GET_VALUE(DUMP(P_DUMP_ROWID, 16, V_LENGTH + 2, TO_NUMBER(V_LENGTH_STR))) INTO V_DUMP_ROWID

72 FROM DUAL;

73 V_LENGTH := V_LENGTH + TO_NUMBER(V_LENGTH_STR) + 2;

74 ELSE

75 V_LENGTH_STR := TO_CHAR(TO_NUMBER(V_LENGTH_STR, 'XXX'));

76 SELECT F_GET_VALUE(DUMP(P_DUMP_ROWID, 16, V_LENGTH + 1, TO_NUMBER(V_LENGTH_STR))) INTO V_DUMP_ROWID

77 FROM DUAL;

78 V_LENGTH := V_LENGTH + TO_NUMBER(V_LENGTH_STR) + 1;

79 END IF;

80 END LOOP;

81

82 IF V_COLUMN_TYPE = 'VARCHAR2' OR V_COLUMN_TYPE = 'CHAR' THEN

83

84 V_DUMP_ROWID :=F_ADD_PREFIX_ZERO(V_DUMP_ROWID ',', INSTR(V_DUMP_ROWID, ','));
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 下一页 




上一篇:Oracle如何配置逻辑备用数据库

下一篇:Sql server动态建立数据对象结构

Oracle DBMS_REPAIR包修复损坏数据块 相关文章:
·EasyRecovery 604硬盘数据恢复软件技巧
·修复变成乱码的Word文档
·详细介绍ORACLE sqlplus命令
·ORACLE常用傻瓜问题1000问
·asp.net(C#)海量数据表高效率分页算法(易懂,不使用存储过程)
·我的oracle笔记四(DBA管理)
·C#源码读取excel数据到程序中-SQL SERVER-到dataset中
·SQL2000 数据库安装说明
·Oracle SQL精妙SQL语句讲解
·SQL数据库完全使用手册
Oracle DBMS_REPAIR包修复损坏数据块 相关软件:
·《劲舞团》反外挂报错修复补丁
·ACCESS数据库教程 北京大学的ACCESS教程
·Oracle v8.1.7
·爆出网站数据库路径
·逐步精通数据库 sql server 视频教程
·SQL/MYSQL/数据库教程专栏
·硬盘检测修复工具HDTune V2.50 绿色版
·ORACLE内部培训视频教学 RM 22讲
·Active Server Pages & Web 数据库(PDG)
·QQ IP数据库 Build 0410

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot