- 博客(155)
- 资源 (19)
- 收藏
- 关注
原创 检查点
检查点位置(崩溃后,重做流中的实例恢复起点)由DBWn自动前移。这个过程成为“增量检查点”。除此之外,还有“完整检查单”和“局部检查点”。假设将所有的脏数据都写入磁盘,就会出现完整检查点。在常规运行中,可能存在几十万个脏数据区,但是对于增量检查点,DBWn只写入其中的数百条。而对于完整检查点,它将写入这些内容。为此,必须完成大量的工作:在执行检查点时,需要非
2013-07-28 17:30:01 685
原创 MTTR顾问程序和检查点
fast_start_mttr_target参数的默认值是0.此时,在发生实例故障后恢复实例的时间成本较高,但实现了性能的最大化。DBWn进程根据自身需要尽量减少写入量。这意味着,检查点位置可能早已过期,因此在恢复实例的前滚阶段,将需要为数据文件应用大量的重做。如果将fast_start_mttr_target设置为非零值,将产生两个效果。首先,它设置了恢
2013-07-28 17:04:28 924
原创 实例恢复时间
MTTR(实例平均恢复时间)是许多服务级别协议的一个重要的部分。实例恢复能够保证不造成损坏,但是在数据库能够打开之前需要耗费大量时间来完成实例恢复的前滚操作。这个时间取决于两个因素:需要读取的重做数,以及应用重做时需要在数据文件上完成的读/写操作数。这两个因素都受到检查点的控制。检查点保证了在某个特定的时间,DBWn进程已将构成一个特定系统更改号(SCN)的所
2013-07-28 11:23:09 884
原创 前滚和回滚撤销
重做日志流中始终存在足够的信息,不仅可以重构发生崩溃前进行的所有操作,而且可以重构回滚崩溃时正在进行的事务所需的撤销信息。例如:用户jon启动了一个事务,jon更新某个表的一行,其服务器则将旧值复制至一个撤销段。在数据库缓冲区缓存中完成这些更新之前,服务器进程将变更写入日志缓冲区。用户roop也启动一个事务,两个用户都未提交事务,也没有在磁盘上写下任何数据。
2013-07-28 09:58:27 1368
原创 实例恢复机制
实例恢复完全自动,与介质恢复不同的是:介质恢复需要很长的篇幅描述,而实例恢复则只需简单的描述。其实,实例恢复是使用联机日志文件的内容将数据库缓冲区缓存重新构建至崩溃之前的状态。这个重构过程将重演从崩溃时未写至磁盘的数据块的相关重做日志中提取出得所有变更。完成以上操作后,就可以打开数据库。此时,数据库仍然受到损坏,但是由于用户看到的实例已被修复,因此允许用户进行连接。实例恢复的这个阶段称
2013-07-28 08:54:31 727
原创 我的职业性格测评报告
我的职业性格测评报告INTJ型人格,独具匠心、勇担重任的完美派。朋友心中的你:具有独特构思,讲究理论,有远见,强调概念和意义。相信自己,而不是盲目相信权威或他人的观点,运用自己总结的抽象观点和知觉去认识外界,计划未来。习惯从整体角度去看待事物,能够很快整合获取的新信息。生活中的自己:追求完美,拥有怀疑精神,独立,果决,有点挑剔,能够清晰地看到事物发展
2013-07-28 07:43:34 1594
原创 数据库失败类型之sql语句失败
数据库失败的类型分为几大类。对于每种失败来说,Oracle都会提供适当的解决方法。所有失败类型最好被记录在一个服务级别协议内,同时在程序手册中还要记录解决失败的相关步骤。第一种失败类型:语句失败。一条sql语句可能会由于多种原因而失败。虽然很多原因并非DBA的管理范畴。但是dba必须时刻准备修正这些错误。最初的修正应该是自动的。即在某条sql语句失败的时候,执行这条语句的服务器进程会检
2013-07-27 21:06:00 2215
原创 用户进程失败
数据库失败的类型分为几大类。对于每种失败来说,Oracle都会提供适当的解决方法。所有失败类型最好被记录在一个服务级别协议内,同时在程序手册中还要记录解决失败的相关步骤。第二种失败类型:用户进程失败用户进程可能会由于多种原因而失败,这些原因有:用户异常退出;终端重新启动;导致地址违规的程序。无论是上述哪一种原因,结果都是相同的。PMON后台进程通过定时轮询所有的服务器进程来确定会话
2013-07-27 21:04:35 756
原创 数据库失败类型之用户错误
数据库失败的类型分为几大类。对于每种失败来说,Oracle都会提供适当的解决方法。所有失败类型最好被记录在一个服务级别协议内,同时在程序手册中还要记录解决失败的相关步骤。第四种失败类型:用户错误就Oracle而言,所关心的是事务。对于DML错误来说,用户在提交之前发现错误时仍然有机会回滚错误的语句。但是对于DDl语句来说,用户是无法回滚错误的语句。因为,commit被内置到DDL语
2013-07-27 21:00:21 1040
原创 网络故障
数据库失败的类型分为几大类。对于每种失败来说,Oracle都会提供适当的解决方法。所有失败类型最好被记录在一个服务级别协议内,同时在程序手册中还要记录解决失败的相关步骤。第三种失败类型:网络故障在与网络管理员协作的情况下,dba应当能够通过配置Oracle Net来杜绝单点故障。此时,需要考虑的三个方面是:侦听器,网络接口卡以及路由。虽然数据库侦听器不太可能崩溃,但是一个侦听器
2013-07-27 20:57:50 690
原创 实例失败
实例失败是实例的无序关闭,通常称为崩溃(crash)。断电,关闭或重启服务器以及许多至关重要的硬件问题都会导致实例失败。在一个Oracle后台进程可能失败的某些情况下,也会触发即时的实例失败。从功能上看,无论何种原因,实例失败的结果都与执行shutdown abort命令的结果相同。实例失败后,数据库可能丢失已提交的事务和存储未提交的事务。这就是所谓的受损或不一致数据库。导致这种情况的
2013-07-27 20:55:41 1337
原创 介质失败
数据库失败的类型分为几大类。对于每种失败来说,Oracle都会提供适当的解决方法。所有失败类型最好被记录在一个服务级别协议内,同时在程序手册中还要记录解决失败的相关步骤。第5种失败类型:介质失败介质失败意味着磁盘受到损坏,因此磁盘上存储的文件会受到损坏。这个问题不是DBA造成的,但是有时需要DBA来解决。需要指出的是:无论何种文件被损坏,都不应当是损失数据的理由。Oracle9
2013-07-27 20:54:29 1046
原创 实例恢复
ACID测试归纳了关系数据库必须遵循的一些规则,这些规则要求数据库不丢失已提交的事务且不显示未提交的事务。Oracle严格的遵循了上述规则。如果数据库损坏-即包含未提交数据或丢失已提交的事务。那么Oracle会检测到这种状况,并且能够通过执行实例恢复来删除损坏。实例恢复不仅可以重新构成在崩溃时未被保存至数据文件的任何已提交事务,而且可以回滚已被写至数据文件的任何未提交事务。这种恢复是完全自动的
2013-07-27 20:51:10 748
原创 备份恢复问题
与备份和恢复相关的服务级别协议的三个方面分别是:MTBF(平均无故障时间),MTTR(平均恢复时间)和数据丢失。作为DBA来说,目标就是增加MTBF,减少MTTR和数据丢失。其中,MTBF指数据库会变得不可用的频率。对于一些组织,数据库必须始终可用。例如卫星飞行控制等这样的实时系统必须一直运行;即使是几分钟的故障也是灾难性的。Oracle提供了两个可实现100%可用性的高级选项:R
2013-07-27 20:50:19 643
原创 对表空间重命名
1.创建表空间storetabsSQL> create tablespace storetabs 2 datafile '/oradata/storetabs_01.dbf' size 10m, 3 '/oradata/storetabs_02.dbf' size 10m;Tablespace created.2.查看数据文件的路径和状态SQL> selec
2013-07-27 20:48:48 982
原创 数据库缓冲区缓存
数据库缓冲区缓存是Oracle用来执行sql的工作区域。更新数据时,用户的会话不直接更新磁盘上的数据。包含关键数据的数据块首先复制到数据库缓存区缓存。理想状态相爱,频繁访问的数据的所有块位于数据库缓冲区缓存中,大大减少了磁盘的I/O的需要。例如:select customer_id,customer_name from customers;update customers set
2013-07-18 20:53:37 2604
原创 如何确定数据库时单实例还是分布式系统的一部分
(1)使用system用户登录:SQL> conn system/oracleConnected.(2)确定实例是否是RAC数据库的一部分SQL> select parallel from v$instance;PAR---NO如果是单实例数据库,返回NO(3)确定数据库是否通过备用数据库的保护来防止数据丢失SQL> select protectio
2013-07-18 20:52:45 1008
原创 日志缓冲区
日志缓冲区是小型的,用于短期存储将写入磁盘上的重做日志的变更向量的临时区域。“变更向量”是应用于某些对象的修改,执行DML语句会生成应用于数据的变更向量。有了重做日志,可以确保数据永不丢失。执行DML语句会生成应用于数据的变更向量。会话服务器进程不将重做记录直接写入重做日志文件。而是把重做记录先写入内存中的日志缓冲区。之后,日志缓冲区写出到重做日志文件。因此,日志缓冲区对磁盘的一次
2013-07-18 20:51:57 3986
原创 共享池
共享池是最复杂的SGA结构,因为它分为许多子结构。这些子结构由Oracle服务器内部管理。如下,4个共享池组件:*库缓存*数据字典缓存*PL/SQL区*SQL查询和PL/SQL函数结果缓存共享池中的所有结构都是自动管理的,即共享池的大小是动态的,可以对其进行自动管理。1.库缓存库缓存是内存区域,按其已分析的格式存储最近执行的代码。分析指把变成人员编写的代码转换成可执
2013-07-18 20:51:20 1186
原创 分布式系统体系结构
在分布式环境中,有以下几种组合实例与数据库的方式:*(RAC)实时应用群集:多个实例打开一个数据库*流,多个Oracle服务器相互之间传播事务*数据保护,主数据库更新备用数据库这种方式的整合可以得到这样一个系统:实现100%正常运行时间和0%数据丢失的目标,获得无限的扩展性和性能。1.RAC(实时应用群集):可以通过配置RAC来获得100%的正常工作时间。当一个实例出现故障
2013-07-18 20:50:13 1182
原创 单实例体系结构
实例由内存结构和进程组成。它暂时存在于cpu和RAM中。当关闭运行的实例时,实例将消失的无影无踪。因此,实例的生命周期就是其在内存中存在的时间:我们可以启动和停止。构成实例的进程称为后台进程。当实例处于活动状态时,它们始终存在并运行。这些进程很大程度上完全自我管理。操作系统提供的共享内存段实现的内存结构叫做SGA(系统全局区)。SGA在实例启动时分配,在实例关闭时释放。用户
2013-07-18 20:49:28 857
原创 MMON进程
MMON进程是数据库10g版本引入的进程,是数据库的很多自我监视和自我调整功能的支持进程。 此数据库实例收集有关活动和性能的大量统计数据。这些统计数据收集到SGA中,通过发出sql查询,可以询问他们的当前值。MMON从SGA定期捕获统计数据(默认是每小时一次),并将它们写入到数据字典中,在数据字典中,可以无限期的存储它们(不过,默认方式是只存储8天)。 每当MMON收集一
2013-07-18 20:48:43 2146
原创 DBWn与LGWR进程小结
会话通常不将数据写入磁盘,会话将数据写入数据库缓冲区缓存中的缓冲区。由数据库写入器负责在随后将缓冲区写入磁盘。一个实例可能有多个数据库写入器(最多不超过20个),依次称为DBW0和DBW1等。默认数量是8个cpu对应一个数据库写入器DBWn在以下4种情况下执行写操作:*没有任何可用缓存区*脏缓冲区过多*三秒超时*遇到检查点(当遇到检查点时,会写入所有脏缓冲区。)在关闭数据库,关
2013-07-18 20:48:01 1096
原创 引入角色的原因
假设现在正在管理一个有1000个用户的大型系统,而且这些用户是陆续建立的,每个用户需要20个系统权限。按照将系统权限分别授予这1000个用户,所有的系统权限使用的次数达到20*1000次。如果需要修改权限,那么修改量是惊人的!由此,我们引入了角色!角色是什么?角色就是一组命名的相关权限,这组权限可以通过这个名字授予用户或其他的角色。但一个角色不能授予本身,也不能循环授予
2013-07-17 16:22:46 628
原创 角色修改
只有角色是使用with ADMIN option选项的GRANT语句授予的或者具有alter anyrole系统权限的用户时,才可以修改这个角色。如下:SQL> alter role clerk identified externally;Role altered.SQL> alter role sales 2 not identified;
2013-07-17 16:22:08 667
原创 角色授权
使用grant命令将角色授予用户或其他的角色。如下:SQL> grant create session,create table,create view to clerk;Grant succeeded.SQL> grant select any table,clerk to manager;Grant succeeded.查询一下:
2013-07-17 16:21:23 804
原创 角色的回收和删除
当不需要角色所授予的权限后,可以使用revoke命令从用户那里回收角色。从用户那里回收角色需要with admin option或grant any role权限为了演示,我们先将角色clerk和manager检验方法去掉。如下:SQL> conn system/oracleConnected.SQL> alter role clerk not identified
2013-07-17 16:20:50 1145
原创 建立默认角色
例如:1.system用户登录SQL> conn system/oracleConnected.2.将角色授予用户SQL> grant sales to cat;Grant succeeded.3.将用户cat的所有角色都设为非默认角色,即当用cat用户登录系统时以角色赋予的任何权限都是不能使用的。SQL> alter user cat defa
2013-07-17 16:20:07 973
原创 激活和禁止角色
为了更有效的管理和维护Oracle系统的安全。在不需要时禁止一个4或多个角色。在需要时将它们激活。如下:1。SQL> conn cat/miaomiaoConnected.SQL> select * from session_privs;PRIVILEGE---------------CREATE SESSIONCREATE TABLESELEC
2013-07-17 16:19:26 1103
原创 创建角色
在创建一个角色时,如果使用了not identified(为默认)和identified externally.该角色被自动的授予with admin option选项。如下:SQL> create role clerk;Role created.SQL> create role sales 2 identified by money;Rol
2013-07-17 16:18:37 696
原创 系统权限的限制
在oracle8之前的版本,具有select any table权限的用户可以查询数据字典。这样可能存在安全隐患。为了解决这一隐患,oracle8之后版本引入了o7_dictionary_accessibility参数,Oracle系统里有这一参数来控制select any table权限访问系统的方式。如果这个参数被设为真,就表示具有select any table权限的用户可以
2013-07-17 16:17:30 994
原创 系统权限
常用的系统权限:有关用户的系统权限:*create user:*alter user:*drop user:有关表的权限:*select any table:查询任何用户的表中的数据和视图中的数据的权利*update any table:修改任何用户的表中的数据和视图中的数据的权利*delete any table:三处任何用户的表中的数据和视图中的数据的权利*
2013-07-17 16:16:53 674
原创 授予系统权限
1.创建4个用户,分别是:dog,口令为wangwang;cat,口令为miaomiao;pig,口令为henghengfox,口令为loveyou///create user dogidentified by wangwang;create user catidentified by miaomiao;create user pig idn
2013-07-17 16:16:21 899
原创 权限分类
权限是什么?权限是用来执行某些特定SQL语句的权利(能力)权限分为两种类型:*系统权限:访问(使用)数据库(系统资源)的权利(能力),使用户在数据库中能够执行一些特定的操作。*对象权限:维护数据库中的对象的权利(能力),使用例能够访问和维护某一特定的对象。
2013-07-17 16:15:40 724
原创 回收系统权限
格式:revoke {系统权限||角色} {,{系统权限|角色名}}...from {用户名|角色名|public}{,{用户名|角色名|public}}...例如:SQL> revoke create view from cat;Revoke succeeded.查询一下:SQL> select * from dba_sys_privs 2 w
2013-07-17 16:15:02 1064
原创 对象权限的授权和回收
对象的拥有者可以把一些对象的权限授予其它用户。如果具有grant any object privilege系统权限,也可以像对象的主人一样将对象的权限授予其它用户或从其它用户那里收回这些对象权限。将对象的权限授予其它用户的grant语句的格式如下:grant 对象的权限 |all [(列名[,列名..])]on 对象名to [用户名|角色名|public][with gra
2013-07-17 16:14:21 1548
原创 对象权限
什么是对象权限呢?对象权限是维护数据库中的对象的权利。Oracle系统中一共有8种对象的权限,分别是:execute,alter,select,insert,update,delete,index,references.如下:------------------------------------------------------------------对象权限
2013-07-17 16:13:28 711
原创 资源限制的设置
概要文件的资源限制既可以加在会话一级,也可以加在调用一级。在会话设置的资源限制是强加在每一个连接上的。当超过了会话级的资源限制时,Oracle系统将返回出错信息。在会话级可以设置的资源限制如下:*sessions_per_user:每个用户名所允许的并行会话数*cpu_per_session:总共的cpu时间,单位是1%s*idle_time:没有活动的时间,其单位是分,idle_
2013-07-16 16:14:40 963
原创 修改和删除概要文件
如果商业环境发生了变化,概要文件中的参数设置已经不合时宜了,可以使用alter profile语句修改这些限制。如下:SQL> alter profile unluck_prof limit 2 failed_login_attempts 4 3 password_life_time 74 4 password_grace_time 14;Profi
2013-07-16 16:12:56 1309
原创 数据库模式
模式,什么是模式?*模式就是一个命了名的对象的集合,如表,视图和序列号等。*当一个用户被创建时,一个与之相对应的模式也被创建*一个用户只能与一个模式相关*用户名与模式经常互换模式由数据库的用户所拥有并且与用户具有相同的名字。在实际使用中模式和用户是一回事。模式对象包括哪些?*表*视图*索引*约束*序列号*同义词*触发器*存储过程,函数
2013-07-16 16:12:09 748
rlwrap软件 linux下解决sqlplus不能后退的软件
2013-03-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人