- 博客(11)
- 资源 (5)
- 收藏
- 关注
原创 事务的并发控制
锁的机制就是来防止各个事务之间的相互影响,对并发访问进行控制,以保证数据一致性和完整性。当一个事务或操作企图防止另一个事务对其操作的对象产生影响时,该事务或操作就对该对象进行锁定,其他事务只能在该事务释放锁定之后才能操作该对象。 简单的锁类型有:排他锁(eXclusive Lock)、共享锁(Share Lock) 锁的三级锁定协议1、 一级锁定协议是指事务T在
2013-04-11 18:09:53 941
原创 事务与数据库恢复原理
数据存储的逻辑单位是数据块,数据操作的逻辑单位是事务。事务是用户定义的一组操作序列,有一条或多条相关SQL语句组成,是数据库应用程序的基本逻辑单位。事务管理技术主要包括数据库的恢复技术和并发控制技术。 事务的处理逻辑过程1、 服务器进程捡取该事务的SQL语句,然后检查共享池,查看是否包含该SQL语句的共享SQL区。2、 如有,则检查该用户是否有访问所涉及的数据的权限,如有,则使
2013-04-10 11:05:36 8665
原创 概要文件
概要文件也称为“资源文件”或配置文件。它可以为用户设置口令策略(限制口令的使用天数、口令满足的复杂度等)、可以限制用户对硬件系统和数据库资源的使用。 创建或修改概要文件:CREATE | ALTER PROFILE profile_name LIMIT[CPU_PER_SESSION {n|UNLIMITED |DEFAULT}]--CPU/会话时间限制。单位为秒/100[C
2013-04-09 11:32:59 2285
原创 管理重做日志文件(事务日志文件)
重做日志文件的作用和目的是进行例程恢复和介质恢复,以及事务的撤销。 介质恢复需要借助于归档日志文件。事务的撤销需要借助于撤销表空间或撤销段。 重做记录 重做日志文件是由一条一条重做记录组成的。重做记录(redorecord)是由一个个修改向量(change vector)组成的。每个修改向量记录了对数据库中某个数据块所做的修改。 系统更改编号SCN(system
2013-04-09 11:30:29 2442
原创 撤销表空间
整理文章归类时,不小心删除了 该文件,从回收站恢复不回来。郁闷。只能重新写了一遍。 撤销表空间 撤销的目的与作用为: 1、事务的回退; 2、读一致性; 3、闪回查询; 4、事务的恢复; 注:事务中的DDL语句是不能被回退的。 闪回查询: SELECT * F
2013-04-09 11:20:15 2951
原创 数据文件
ORACLE为每个数据文件指定两个关联的文件号,一是绝对文件号,二是相对文件号绝对文件号Absolute FileNumber 在数据库中唯一地标识一个数据文件。相对文件号Relative File Number 在表空间中唯一地标识一个数据文件。对较小和中等大小的数据库,相对文件号通常与绝对文件号具有相同的值。但当一个数据库中的数据文件数超过阀值(1022)
2013-04-09 11:03:29 880
原创 镜像 相关存储过程
共享一个同事整理并内部共享的一个 镜像维护 的相关存储过程。--===================================================================--创建数据库镜像监视器作业,该作业可定期更新服务器实例上每个镜像数据库的镜像状态。--sp_dbmmonitoraddmonitoring [ update_period ]--update
2013-04-09 10:43:30 1021
原创 连接池已满,超过最大连接数 解决方案
昨天遇到一个案例,一个同事在通过其中一台数据库客户端(暂且名为B机器)连接访问 服务器上的DB ,所有对象(表,视图,存储过程)都打不开,提示连接池已满,超过最大连接数.这个错误比较奇怪,难道同时有32767个并发连接,于是远程登录服务器,打开数据库,发现打开表,存储过程 都没问题.于是判断是不是他们程序中没有显示释放连接,查后发现不是程序的问题,用下面方法查看后发现有389个数据库客户端
2013-04-09 10:29:56 64912
原创 数据库IO等待状况
--查询当前数据库IO等待状况语句 /*sys.dm_io_pending_io_requests可以返回当前IO Pending的状态,对于SQL Server 中每个挂起的I/O 请求,返回与其对应的一行,跟sys.dm_io_virtual_file_stats配合可以看到具体是哪个数据库IO出现问题。 */ select DB_NAME(database_id) as Dbna
2013-04-09 10:01:52 1873
转载 查看Buffer Pool使用情况
----源自:微软官方博客论坛我的SQL Server buffer pool很大,有办法知道是哪些对象吃掉我的buffer Pool内存么?比方说,能否知道是哪个数据库,哪个表,哪个index占用了buffer Pool么?”针对这个问题可以使用(DMV) sys.dm_os_buffer_descriptors。这个DMV非常强大。根据SQL Server 联机丛书,这个视图的作用是 “返回有
2013-04-09 09:51:01 2151
原创 返回数据库文件(包括日志文件)的 I/O 统计信息
/* fn_virtualfilestats 是系统表值函数,它返回数据库文件(包括日志文件)的 I/O 统计信息。可以通过该系统表值函数,查看某个文件或某些文件上的执行的 I/O 活动的总数。这样我们就可以识别出那些文件发生了大量的I/O活动,那些文件的压力大,操作最频繁。同时还可以通过该函数来跟踪用户读取或写入这些文件必须要等待的时间长度等。*/SELECT * FROM f
2013-04-09 09:45:28 909
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人