2008年5月3日

摘要: 为了确保并发用户在存取同一数据库对象时的正确性(即无丢失修改、可重复读、不读“脏”数据),数据库中引入了锁机制。基本的锁类型有两种:排它锁(Exclusive locks记为X锁)和共享锁(Share locks记为S锁)。 排它锁:若事务T对数据D加X锁,则其它任何事务都不能再对D加任何类型的锁,直至T释放D上的X锁;一般要求在修改数据前要向该数据加排它锁,所以排它锁又称为写锁。 共享锁:若事务T对数据D加S锁,则其它事务只能对D加S锁,而不能加X锁,直至T释放D上的S锁;一般要求在读取数据前要向该数据加共享锁,所以共享锁又称为读锁。 阅读全文

posted @ 2008-05-03 23:24 Caizhanshu'sBlog 阅读(784) 评论(0) 推荐(0) 编辑


2008年4月18日

摘要: PCTFREE存储参数告诉ORACLE什么时候应该将数据块从对象的空闲列表中移出。ORACLE的默认参数是PCTFREE=10;也就是说,一旦一个INSERT操作使得数据块的90%被使用,这个数据块就从空闲列表(free list)中移出。 PCTUSED存储参数告诉ORACLE什么时候将以前满的数据块加到空闲列表中。当记录从数据表中删除时,数据库的数据块就有空间接受新的记录,但只有当填充的空间降到PCTUSED值以下时,该数据块才被连接到空闲列表中,才可以往其中插入数据。PCTUSED的默认值是PCTUSED=40。 阅读全文

posted @ 2008-04-18 01:36 Caizhanshu'sBlog 阅读(971) 评论(1) 推荐(0) 编辑


2008年4月15日

摘要: 1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖. 为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须经常运行analyze 命令,以增加数据库中的对象统计信息(object statistics)的准确性. 如果数据库的优化器模式设置为选择性(CHOOSE),那么实际的优化器模式将和是否运行过analyze命令有关. 如果table已经被analyze过, 优化器模式将自动成为CBO , 反之,数据库将采用RULE形式的优化器. 在缺省情况下,ORACLE采用CHOOSE优化器, 为了避免那些不必要的全表扫描(full table scan) , 你必须尽量避免使用CHOOSE优化器,而 阅读全文

posted @ 2008-04-15 20:39 Caizhanshu'sBlog 阅读(1690) 评论(0) 推荐(0) 编辑


2008年4月14日

摘要: 一.dbms_output 作用:用于输入和输出信息,使用过程PUT和PUT_LINES可以将信息发送到缓冲区,使用过程GET_LINE和GET_LINES可以显示缓冲区信息. 详细如下: 1.enable 该过程用于激活对过程PUT,PUT_LINE,GET_LINE,GET_LINES的调用 语法如下: dbms_output.enable(buffer_size in integer default 20000); 2.disable 该过程用于禁止对过程PUT,PUT_LINE,GET_LINE,GET_LINES的调用 阅读全文

posted @ 2008-04-14 20:14 Caizhanshu'sBlog 阅读(2338) 评论(0) 推荐(0) 编辑


2008年3月30日

摘要: 可能不是很多人知道 RAISE_APPLICATION_ERROR 的用途是什么,虽然从字面上已经猜到这个函数是干什么用的。平时用来测试的异常处理 我们都是通过dbms.output.putline来输出异常信息,但是在实际的应用中,需要把异常信息返回给调用的客户端。 其实 RAISE_APPLICATION_ERROR 是将应用程序专有的错误从服务器端转达到客户端应用程序(其他机器上的SQLPLUS或者其他前台开发语言) 阅读全文

posted @ 2008-03-30 11:25 Caizhanshu'sBlog 阅读(49838) 评论(0) 推荐(4) 编辑


2008年3月23日

摘要: 第一章:日志管理 1.forcing log switches sql alter system switch logfile; 2.forcing checkpoints sql alter system checkpoint; 阅读全文

posted @ 2008-03-23 00:23 Caizhanshu'sBlog 阅读(838) 评论(0) 推荐(0) 编辑


2008年3月17日

摘要: 因为oracle 中的存储过程无法像SQLServer的存储过程直接返回结果集,所以要返回结果集就得使用引用游标, 首先定义一个包,在包中定义一个引用游标。 阅读全文

posted @ 2008-03-17 15:43 Caizhanshu'sBlog 阅读(1220) 评论(2) 推荐(0) 编辑


2007年8月20日

摘要: 关于强命名程序集的作用总的来说就是两个: 1、是防止window以前版本中的DLL hell,可以唯一标志你的程序集(也可以防冒充,像现在的很多木马都是利用这个原理来附属到你的应用程序,加载到你的内存中,所以在任务管理器中,你看不到木马的运行进程)。 2、一定程度的防篡改(如防盗版)。 阅读全文

posted @ 2007-08-20 23:00 Caizhanshu'sBlog 阅读(625) 评论(1) 推荐(1) 编辑


2007年1月20日

摘要: 要了解Boxing和Unboxing的原理,首先我们应该先说说引用类型和值类型,引用类型是总是在托管堆里分配的,C#的New操作符返回的就是对象位于托管堆中的内存地址,而值类型是”轻量级“类型,值实例通常分配在线程栈上(虽然他们也可以被嵌入到引用类型的对象中)。 阅读全文

posted @ 2007-01-20 20:26 Caizhanshu'sBlog 阅读(485) 评论(1) 推荐(0) 编辑


Copyright © 2024 Caizhanshu'sBlog
Powered by .NET 9.0 on Kubernetes