Oracle坏块处理
有时Oracle数据文件的损坏只是一小部分块:文件仍可用,但特定块被损坏。这种情况下,文件将保持联机,终端用户可能不知道存在的问题,直到读取到坏块时才会发现。如果一个会话命中一个坏块,它将返回错误给用户进程,同时将一条消息写入警报日志。 一、坏块的检测 1、警告日志可以看到坏块...
利用RMAN备份重建数据库
有时数据库由于某些原因需要全部销毁重建,之前的RMAN备份是存在的,希望利用,如系统被重建而导致数据库重建,或者数据库备份后需要恢复到其它机器上。以下实验将演示这一过程。 一、重建前的准备 1、准备测试用表 在RMES用户下创建测试用表,插入并提交数据create tablerm...
通过搭建恢复目录实现RMAN异地备份和恢复
一、为何需要恢复目录 RMAN备份的存储库总是存在于RMAN目标数据库的控制文件中的,这样会有两个问题:1、RMAN过分依赖目标数据库控制文件,如果控制文件的所有副本都损坏了,将导致存储库丢失。这种情况下即便备份是完好的,但是由于丢失了RMAN备份的元数据信息,导致RMAN无法知道他们的存在而不能使用...
OGG中add trandata的含义
在配置OGG时,需要给同步的表添加补充日志,在ggsci命令行执行add trandata user.table 该命令实际上包含两层含义:1)table有PK或UK ,则目标端能准确依据PK或UK找到源端DML更新的数据,从而在目标端同步。2)table没有PK和UK,则目标端只能依据该table的所有列来找到源端DML更新的数据,从而在...
OGG双向条件复制的部署与测试
部署环境说明 设计需求:本地有两个节点,节点1和节点2,其SCOTT方案的表数据需要同步上传到主服务器端做数据归并,主服务器端的DDL操作和HR方案的所有对象和数据需要同步发布到本地各节点,且数据要按照筛选条件来分发。 本地节点1:IP:192.168.0.103操作系统:Win7 旗舰版 SP1 ...
使用RMAN备份数据库
Oracle推荐的数据库备份和恢复工具是RMAN(恢复管理器,Recovery Manager)。不是必须要使用RMAN,Oracle支持通过使用操作系统实用程序来创建备份和执行恢复,但RMAN有着其它产品无法比拟的功能,以下列举几条采用RMAN备份的优点: 1、恢复过程是智能的,不需要考虑用哪些备份文件来恢复,系统自动选择和管...
Oracle表空间时间点恢复技术TSPITR
假定Oracle数据库发生了以下情形:1、表空间中,某个表的重要数据被破坏或删除。2、误用DDL语言更改了表空间中的一个或多个表的结构,因此无法使用闪回来恢复这些表。3、表被误删,并且已不在回收站中,如使用了带purge选项的删表操作。 那么我们该如何恢复呢? 一种可行的方法就...
利用可恢复空间分配技术自动分配表空间
Oracle可恢复空间分配技术让我们可以通过创建一个在会话挂起时自动运行的after suspendon database触发器处理问题,如通过电子邮件报告挂起事件、检查并自动修复挂起故障等,如可以在插入数据导致表空间容量不足时,通过触发器程序判断并自动给表空间分配容量。以下例子给出这方面的应用。 一、可恢复空间...
Oracle事件驱动的调度作业
Oracle调度作业最常见的用法是基于时间的调度,设置特定的时间调度规则,依据规则在特定的时间点触发作业程序执行,大部分的作业都是这种类型。除此之外,还可以搭建基于事件的调度作业,就是依据特定的事件来触发调度作业的执行。基于事件驱动的调度作业是运用Oracle消息队列机制来实现的,以下例子给出具体的用法。...
数据库负荷重放(Database replay)
从Oracle 11g开始支持数据库负荷重放(Database Replay)功能,通过捕获生产服务器上的工作负荷,然后在测试系统上重放工作负荷,以此来帮助评估测试系统上性能的变化,辅助解决性能问题。 使用Database Replay,需要执行四个主要步骤:1)捕获工作负荷2)预处理工作负荷3)重放工作负荷4)...
Oracle可恢复空间分配技术
许多操作因为空间不够而失败,如果启用了可恢复空间分配,当操作遇到空间问题而不是因为错误而失败时,操作将暂停,显示为会话挂起。当错误得到解决时,它将继续。所有挂起的会话(当前挂起的和之前挂起但现在再次运行的)列在视图dba_resumable中。会话关闭后,视图中的记录将消除。 要在会话级别启用可恢...
SQL性能的度量 - 利用Hints和dbms_sqltune进行SQL监控
可以使用Hints对某个SQL开启实时监控select/*+monitor*/ count(*) from scott.emp where sal>2000; 使用dbms_sqltune查看监控信息set long 9999999set longchunksize 9999999set linesize 200selectdbms_sqltune.report_sql_monitor from dual; REPORT_SQL_MONITOR-...
SQL性能的度量 - 利用10046事件扩展SQL跟踪
在会话sql_trace的基础上,利用10046诊断事件,可以扩展sql_trace的功能,主要体现在对绑定变量和等待事件的跟踪上。 10046诊断事件可以设置的四个级别:level 1启用标准的SQL跟踪,等价于sql_tracelevel ...
SQL性能的度量 - 会话级别的SQL跟踪sql_trace
通过初始化参数sql_trace开启会话跟踪,通过oradebug命令输出到跟踪文件,提供更加详细的信息。但一般还需要借助tkprof工具格式化跟踪文件便于阅读。 在使用sql_trace之前,有两个初始化参数可能需要注意一下,不过从9i开始都是默认按以下设置的。 初始化参数timed_statistics最好设为true,否...
SQL性能的度量 - 语句级别的SQL跟踪autotrace
在Oracle 10g之前,使用autotrace还需要创建plustrace角色,并把该角色授予所有用户:@?\rdbms\admin\plustrace.sqlgrantplustrace to public; Oracle10g之后autotrace的功能增强了,并简化了以上操作,一个autotrace就可以完成所有的输出。 使用autotrace命令格式如下:setaut...
SQL性能的度量 - 通过v$sql_plan查询执行计划
在分析SQL语句性能时,视图v$sql_plan很有用,以下分几点举例说明。 通过以下脚本可以查询库缓存中已经运行过的SQL的执行计划col"Explain Plan" for a100select ' ' as"No.", '| Operation &nbs...
SQL性能的度量 - 通过explain和dbms_xplan包分析执行计划
使用该工具需要访问一张特殊的表plan_table,该表用于存储执行计划,在Oracle 10g之前需要用脚本utlxplan.sql创建:建表:@?\rdbms\admin\utlxplan.sql建同义词:create publicsynonym plan_table for plan_table;授权:grant all onplan_table to public;?Oracle10g之后不再需...
SQL性能的度量 - CBO优化方式
一条查询语句的处理包括语法分析、语句优化和查询执行三个阶段。在语句优化阶段,Oracle默认使用基于成本的优化器(CBO,cost based optimizer)来选择最好的执行计划,这个最好的标准就是消耗的系统资源如CPU以及I/O资源最少。 基于CBO的优化器有三种优化方式来满足不同的查询需求,即all_rows、first_rows...
RMAN备份FORMAT格式中%的含义
%a:Oracle数据库的activationID即RESETLOG_ID。%c:备份片段的复制数(从1开始编号,最大不超过256)。%d:Oracle数据库名称。%D:当前时间中的日,格式为DD。%e:归档序号。%f:绝对文件编号。%F:基于"DBID+时间"确定的唯一名称,格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII为该...
v$session中command字段的含义解析
create or replacefunction lln_session_cmd_info(p_cmd in number default 0) return varchar2 is v_retinfo varchar2(64);begin select case p_cmd ...