日志列表
-
如何使用DBMS_REPAIR检测和修补数据坏块 (3)
gzmt (广东) 发表于 2008-05-10
下面的查询可以用来从坏块中抢救数据。 建立一个临时表(temp_t1)以方便数据的插入: SQL> create table temp_t1 as 2 select * from system.t1 3 where dbms_rowid.rowid_block_number(rowid) = 3 4 and dbms_rowid.rowid_to_absolute_fno (rowid, 'SYSTEM','T1') = 6; Ta... ...全文
-
如何使用DBMS_REPAIR检测和修补数据坏块 (2)
gzmt (广东) 发表于 2008-05-10
一、首先使用DBMS_REPAIR.ADMIN_TABLES来建立repair table和orphan key table, 并且为repair table和orphan key tables提供管理功能 SQL> @adminCreate SQL> connect sys/ Connected. SQL> SQL> -- Repair Table SQL> SQL> declare 2 begin ... ...全文
-
循序渐进讲解Oracle数据库的完整性概念
gzmt (广东) 发表于 2008-05-10
【赛迪网-IT技术报道】一、Oracle中的实体完整性 Oracle在CREATE TABLE语句中提供了PRIMARY KEY子句,供用户在建表时指定关系的主码列。例如,在学生-选课数据库中,要定义Student表的Sno为主码,可使用如下语句: CREATE TABLE student (sno NUMBER(8), sanme VARCHAR(20), sage NUMBER(20), CONSTR... ...全文
-
如何使用DBMS_REPAIR检测和修补数据坏块 (1)
gzmt (广东) 发表于 2008-05-10
【赛迪网-IT技术报道】这篇论坛文章(赛迪网技术社区)主要介绍了使用DBMS_REPAIR检测和修补数据坏块的具体方法,详细内容请参考下文。 Oracle提供了许多方法检测和修补数据库中的数据坏块,而DBMS_REPAIR package就是其中之一。 对任何可能导致数据丢失的损坏,我们都要仔细的分析,以求理解所要涉及的数... ...全文
-
用一个实例讲解Oracle的自定义聚集函数
gzmt (广东) 发表于 2008-05-10
【赛迪网-IT技术报道】Oracle数据库的定制功能十分强大。Oracle不但允许用户定制自己的函数,还可以定制自己的聚集函数和分析函数。 本文将着重介绍使用自定义聚集函数建立一个字符串“sum”的示例: SQL> CREATE OR REPLACE TYPE T_LINK AS OBJECT ( 2 STR VARCHAR2(30000), 3 STATIC FUNCTION O... ...全文
-
如何将Oracle数据库的普通表转换成分区表 (3)
gzmt (广东) 发表于 2008-05-10
SQL> CREATE TABLE T_NEW (ID NUMBER PRIMARY KEY, TIME DATE) PARTITION BY RANGE (TIME) 2 (PARTITION P1 VALUES LESS THAN (TO_DATE('2005-7-1', 'YYYY-MM-DD')), 3 PARTITION P2 VALUES LESS THAN (MAXVALUE)); 表已创建。 SQL> ALTER TABLE T_NEW EXCHANGE PARTITION P1 WITH TABLE ... ...全文
-
如何将Oracle数据库的普通表转换成分区表 (2)
gzmt (广东) 发表于 2008-05-10
任何定义在原始表上的存储过程和游标都会变为INVALID,当下次调用时后自动进行编译。 如果执行过程中出现错误或者人为选择退出的话,可以执行DBMS_REDEFINITION.ABORT_REDEF_TABLE()过程。 其中UNAME 参数是指用户; Oracle的普通表没有办法通过修改属性的方式直接转化为分区表,必须通过重建的... ...全文
-
如何将Oracle数据库的普通表转换成分区表 (1)
gzmt (广东) 发表于 2008-05-10
【赛迪网-IT技术报道】这篇论坛文章(赛迪网技术社区)主要针对Oracle的普通表转换成分区表的解决方法进行了详尽的介绍,具体内容请参考下文。 在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24系统。Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为... ...全文
-
教你轻松掌握数据库链路的建立和使用 (2)
gzmt (广东) 发表于 2008-05-10
参考示例如下: 数据库之间的链接建立在DATABASE LINK上。要创建一个DB LINK,必须先在每个数据库服务器上设置链接字符串。 1、链接字符串即服务名,首先在本地配置一个服务名,地址指向远程的数据库地址,服务名取为将来你要使用的数据库链名: 2、创建数据库链接, 进入系统管理员SQL>操作符... ...全文
-
教你轻松掌握数据库链路的建立和使用 (1)
gzmt (广东) 发表于 2008-05-10
【赛迪网-IT技术报道】一、数据库链路的建立: 1、数据库链路的建立语法一般是:CREATE DATABASE LINK [db_link_name] CONNECT TO [user_name] IDENTIFIED BY [password] USING '[tns_name]'; 其中: [DB_LINK_NAME]:是所要连接的数据库的服务名,也就是该数据库的真实名称(通常就是SID)。 [USRE... ...全文
-
Oracle中SQL语句执行效率的查找与解决 (3)
gzmt (广东) 发表于 2008-05-10
SORT- merge JOIN,将两表的连接列各自排序然后合并,只能用于连接列相等的情况,适合两表大小相若的情况(在缺乏数据的选择性或者可用的索引时,或者两个源表都过于庞大(超过记录数的5%)时,排序合并连接将比嵌套循环连更加高效。但是,排列合并连接只能用于等价连接(WHERE D.deptno=E.dejptno,而不是WHERE ... ...全文
-
Oracle中SQL语句执行效率的查找与解决 (2)
gzmt (广东) 发表于 2008-05-10
三、使用数据库特性来获得有助于查看性能的处理统计信息(解释计划和AUTOTRACE) No1: Explain Plan A)使用Explain工具需要创建Explain_plan表,这必须先进入相关应用表、视图和索引的所有者的帐户内. (@D:\oracle\ora92\rdbms\admin\utlxplan) B) 表结构: STATEMENT_ID:为一条指定的SQL语句确... ...全文
-
Oracle中SQL语句执行效率的查找与解决 (1)
gzmt (广东) 发表于 2008-05-10
【赛迪网-IT技术报道】Oracle中SQL语句执行效率问题的查找与解决: 一、识别占用资源较多的语句的方法(4种方法) 1.测试组和最终用户反馈的与反应缓慢有关的问题。 2.利用V_$SQLAREA视图提供了执行的细节。(执行、读取磁盘和读取缓冲区的次数) • 数据列 EXECUTIONS:执行次数 DISK_READS:... ...全文
-
详细讲解Oracle数据库10g RMAN的备份过程(2)
gzmt (广东) 发表于 2008-05-10
6.注册数据库 RMAN> register database; RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of registe... ...全文
-
详细讲解Oracle数据库10g RMAN的备份过程(1)
gzmt (广东) 发表于 2008-05-10
【赛迪网-IT技术报道】1.首先查看一下Oracle的数据文件 SQL> select name from v$datafile; NAME ------------------------------------- /dev/rora_system /dev/rora_undo1 /dev/rora_sysaux /dev/rora_users /dev/rora_example 2.建立RMAN所需的表空间,这里采用裸设备“/dev/rora_... ...全文
-
数据库中判断一个字符串内是否含有中文
gzmt (广东) 发表于 2008-05-10
【赛迪网-IT技术报道】问题:在不同数据库中如何判断一个字符串内是否含有中文? 解答: 在Oracle数据库中判断一个字符串内是否含有中文的SQL语句: select * from t1 where length(c1) != lengthb(c1); 在SQL Server数据库中判断一个字符串内是否含有中文的SQL语句: select * f... ...全文
-
Oracle数据库SQL语句性能调整的基本原则 (1)
gzmt (广东) 发表于 2008-05-10
【赛迪网-IT技术报道】这篇论坛文章(赛迪网技术社区)详细的介绍了Oracle数据库SQL语句性能调整的基本原则,具体内容请参考下文。 一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应... ...全文
-
Oracle数据库SQL语句性能调整的基本原则 (2)
gzmt (广东) 发表于 2008-05-10
4. Order by语句 ORDER BY语句决定了Oracle如何将返回的查询结果排序。Order by语句对要排序的列没有什么特别的限制,也可以将函数加入列中(象联接或者附加等)。任何在Order by语句的非索引项或者有计算表达式都将降低查询速度。 仔细检查order by语句以找出非索引项或者表达式,它们会降低性能。... ...全文
-
Oracle数据库SQL语句性能调整的基本原则 (3)
gzmt (广东) 发表于 2008-05-10
在全表搜索是一个最快的访问方法时,将小表的全表搜索放到缓存中,调优专家应该确保有一个专门的数据缓冲用作行缓冲。在Oracle7中,你可以使用altertablexxxcache语句,在Oracle8或以上,小表可以被强制为放到KEEP池中缓冲。 确保最优的索引使用:对于改善查询的速度,这是特别重要的。有时Oracle可以选... ...全文
-
Oracle数据库内存参数调优技术的个人总结 (2)
gzmt (广东) 发表于 2008-05-10
这两个参数在非MTS下都是属于PGA ,不属于SGA,是为每个session单独分配的,在我们的服务器上除了OS + SGA,一定要考虑这两部分 原则:OS 使用内存+ SGA + session*(sort_area_size + hash_area_size + 2M) < 总物理RAM 为好 实例配置 基本掌握的原则是, db_block_buffer 通常可以尽可能的大,share... ...全文