Oracle启动报错(ORA-01990,ORA-27037)处理方法
ZT oracle密码文件的使用和维护[@more@][ 执行数据库启动命令报错 ]SQL> startupORACLE instance started.Total System Global Area 655854448 bytesFixed Size 732016 bytesVariable Size 419430400 bytesDatabase Buffers 234881024 bytesRedo Buffers 811008 bytesORA-01990: error opening password file '/oracle/app/product/920/dbs/orapw'ORA-27037: unable to obtain file statusSVR4 Error: 2: No such file or directoryAdditional information: 3[ 处理方法 ]问题是因为密码文件丢失或被破坏等原因造成文件不能访问。查看命
Oracle分区表常用命令
ZT[@more@]一、Oracle分区简介 ORACLE的分区是一种处理超大型表、索引等的技术。分区是一种“分而治之”的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行管理,为大量数据提供了可伸缩的性能。分区通过将操作分配给更小的存储单元,减少了需要进行管理操作的时间,并通过增强的并行处理提高了性能,通过屏蔽故障数据的分区,还增加了可用性。 二、Oracle分区优缺点 ? 优点: 增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用; 维护方便:如果表的某个分区出现故障,需要修
小议如果构造数组
ZT PLSQL中构造自定义数组[@more@]1、一维数组SQL> set serveroutput onSQL>SQL> declare 2 type tvar_sz is varray(5) of number; 3 var_sz tvar_sz; 4 begin 5 var_sz := tvar_sz(1, 2, 3, 4, 5); 6 for i in 1 .. var_sz.count loop 7 dbms_output.put_line(var_sz(i)); 8 end loop; 9 end; 10 / 12345 PL/SQL procedure successfully completed2、二维数组SQL> declare 2 type tvar_sz is varray(5) of number; 3 type v_sz is varray(4) of tvar_sz; 4 var_sz v_sz; 5 beg
startup和shutdown
ZT 备忘用[@more@]SHUTDOWN有四个参数:NORMAL、TRANSACTIONAL、IMMEDIATE、ABORT。缺省不带任何参数时表示是NORMAL。SHUTDOWN NORMAL:不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。SHUTDOWN TRANSACTIONAL:不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。SHUTDOWN IMMEDIATE:不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。启动时不需要实例恢复。SHUTDOWN
ZT 自动10046 trace脚本
我在日常工作中经常需要用10046跟踪一些进程,为了方便,写了一个可以方便查看trace的小脚本。 sqlXsuk@oracle9i> @end_trace--结束trace,此时会自动打开格式化后的trace文件如果是linux,则在进入sqlplus前需要设置:export EDITOR=vi或者在$ORACLE_HOME/sqlplus/admin/glogin.sql中加入:DEFINE _EDITOR = vi---------------------------------------------------------------------------------附:以下是事件的有效trace级别:Level 0 tracing被关闭。这相当于设置sql_trace=false。Level 1 跟踪sql语句,包括解析、执行、提取、提
ZT Oracle EVENT用法参考列表
SUCH AS 10046[@more@]事件说明例子Event 10013 - Monitor Transaction Recovery在Startup时跟踪事务恢复ALTER SESSION SET EVENTS '10013 trace name context forever, level 1';Event 10015 - Dump Undo Segment Headers-在事务恢复后做Dump回退段头信息ALTER SESSION SET EVENTS '10015 trace name context forever, level 1';Event 10032 - Dump Sort StatisticsDump排序的统计信息ALTER SESSION SET EVENTS '10032 trace name context forever, level 10';Event 10033 - Dump Sort Intermediate Run Statistics排序过程中,内存排序区
ZT Oracle SCN机制解析
SCN(System Chang Number)作为oracle中的一个重要机制,在数据恢复、Data Guard、Streams复制、RAC节点间的同步等各个功能中起着重要作用。理解SCN的运作机制,可以帮助你更加深入地了解上述功能。[@more@]在理解SCN之前,我们先看下oracle事务中的数据变化是如何写入数据文件的: 1、事务开始;2、在buffer cache中找到需要的数据块,如果没有找到,则从数据文件中载入buffer cache中;3、事务修改buffer cache的数据块,该数据被标识为“脏数据”,并被写入log buffer中;4、事务提交,LGWR进程将log buffer中的“脏数据”写入redo lo
DBA 面试题目
from ITPUB[@more@]技术方面1. 解释冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘) 2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问
ZT Oracle中,一个Delete操作的流程
好像是从TOM书上摘取的[@more@]Oracle中,一个Delete操作的流程删除(DELETE)1.Oracle读Block到Buffer Cache(如果该Block在Buffer中不存在)2.在redo log buffer中记录delete操作的细节3.在相应回滚段段头的事务表中创建一个undo条目4.把将要删除的记录创建前镜像,存放到Undo Block中5.在Buffer Cache中的相应数据块上删除记录,并且标记相应的数据块为Dirty提交(COMMIT)1.Oracle产生一个SCN2.在回滚段事务表中标记该事务状态为commited3.LGWR Flush Log Buffer到日志文件3.如果此时数据块仍然在Buffer Cache中,那么SCN将被记录到Block Hea
ZT 启用Block Change Tracking-10g新特性
Block chage tracking是Oracle10g的一个新特性,Block change tracking进程记录自从上一次备份以来数据块的变化,并把这些信息记录在跟踪文件中。RMAN使用这个文件判断增量备份中需要备份的变更数据。这极大的促进了备份性能,RMAN可以不再扫描整个文件以查找变更数据。[@more@]启用跟踪可以使用如下命令:alter database enable block change tracking using file '/data5/flash_recovery_area/EYGLE/eygle_block_track.log';判断当前设置可以查询: select filename,status,bytes from v$block_change_tracking;关闭跟踪: alter database
zt Oracle工具篇之Tkprof
Tkprof工具可用来格式化sql trace产生的文件,让你更容易看懂trace的内容用法:tkprof tracefile outputfile [explain= ] [table= ] [print= ] [insert= ] [sys= ] [sort= ][@more@]参数说明:基本的使用步骤tracefile:你要分析的trace文件outputfile:格式化后的文件explain=user/password@connectstringtable=schema.tablename这两个参数是一起使用的,通过连接数据库对在trace文件中出现的每条sql语句查看执行计划,并将之输出到outputfile中注意,该table必须是数据库中不存在的,如果存在会报错print=n:只列出最初N个sql执行语句in
对IN & EXISTS NOT IN & NOT EXISTS的优化
ZT,介绍IN,EXIST,NOT IN,NOT EXIST的算法[@more@]测试环境:Oracle 9.2.0.1 for Windows20001、IN 和 EXISTS IN和EXISTS的处理流程是不一样的: IN的执行流程 select * from T1 where x in ( select y from T2 ) 可以理解为: select * from t1, ( select distinct y from t2 ) t2 where t1.x = t2.y; EXISTS的执行流程 select * from t1 where exists ( select null from t2 where y = x ) 可以理解为: for x in ( select * from t1 ) loop if ( exists ( select null from t2 where y = x.x ) the
优化器计划稳定性 Outlines
http://www.psoug.org/reference/outlines.html[@more@]1.1 概览CREATE OR REPLACE ONLINE MyOutLineFOR CATEGORY mycategoryONSELECT ……;需要CREATE OUTLINE权限,使用时指定会话的CATEGORY即可:ALTER SESSION SET USE_STORED_OUTLINES = mycategory;1.2 OPS的使用对已封装的应用中SQL进行的优化方法ALTER SESSION SET CREATE_STORED_OUTLINES = test;执行应用,如一个存储过程等ALTER SESSION SET CREATE_STORED_OUTLINES = FALSE;SET LONG 5000SELECT name, sql_text FROM user_outlines WHERE category = ‘test’;此时可以看
oracle 10g里,Merge语句的重大改进 zt
发表人:www.wwf.co | 发表时间: 2007年七月23日, 10:101, 能嵌入delete语句2, update, insert语句能嵌入where clause3, update语句与insert语句,不必同时出现,是可选的(optional)http://www.oracle-base.com/articles/10g/MergeEnhancements10g.phpMERGE Statement Enhancements in Oracle Database 10gOracle 10g includes a number of amendments to the MERGE statement making it more flexible.Test Table Optional Clauses Conditional Operations DELETE Clause Test TableThe following examples use the table defined belo
insert append需要注意的问题
zt[@more@] 1. append方式添加记录对insert into ... values语句不起作用。2. 以append方式批量插入的记录,其存储位置在hwm 之上,即使hwm之下存在空闲块也不能使用。3. 以append方式插入记录后,要执行commit,才能对表进行查询。否则会出现错误:ORA-12838: 无法在并行模式下修改之后读/修改对象4. 在归档模式下,要把表设置为nologging,然后以append方式批量添加记录,才会显著减少redo数量。在非归档模式下,不必设置表的nologging属性,即可减少redo数量。如果表上有索引,则append方式批量添加记录,不会减少索引上产生的redo数量
DBMS_STATS分析表
ZT[@more@] 作用:DBMS_STATS.GATHER_TABLE_STATS统计表,列,索引的统计信息.DBMS_STATS.GATHER_TABLE_STATS的语法如下:DBMS_STATS.GATHER_TABLE_STATS (ownname VARCHAR2, tabname VARCHAR2, partname VARCHAR2, estimate_percent NUMBER, block_sample BOOLEAN, method_opt VARCHAR2, degree NUMBER, granularity VARCHAR2, cascade BOOLEAN, stattab VARCHAR2, statid VARCHAR2, statown VARCHAR2, no_invalidate BOOLEAN, force BOOLEAN);参数说明:ownname:要分析表的拥有者tabname:要分析的表名.partname:分区的名字,只对分区
详细解读 STATSPACK 报告
ZT[@more@] 说在前面,很容易被忽略的几个点:在读报告的时候,我们首先需要看清楚,留意3个内容,这份报告所对应的数据库版本,cluster方式,以及报告的时间段。尤其需要注意的就是时间段,脱离了时间段的statspck将是毫无意义的,甚至会得出错误的结果。STATSPACK report for1、报表头信息/* 报表头信息,数据库实例相关信息,包括数据库名称、ID、版本号及主机明等信息。 另外,重点还需要关注一下报告产生的时间跨度(在这里是14分钟),以及并发数(在这里是272)。DB Name DB Id Instance Inst Num Release
How To Determine The Amount of Space Used by an IOT
This article explains how to calculate the space used by an IOT (Index Organized Table).How To Determine the Space Allocated to an IOT----------------------------------------------A. In general, to get the amount of space allocated or consumed by any segment (table, index, etc.), you query the DBA_SEGMENTS or DBA_EXTENTS view, specifying the segment_name as the name of the object.Example:To know the amount of space used by the table SCOTT.EMP: SQL> select segment_name, segment_type, bytes, bl
一个很好的脚本,用来显示cbo的统计信息
发表人:www.wwf.co | 发表时间: 2007年一月09日, 19:38Select to show Optimizer Statistics for CBO,Note:31412.1Instructions Execution Environment: SQL*Plus Access Privileges: Requires select privileges on dba_tables, dba_tab_columns, dba_indexes, dba_ind_columns Usage: sqlplus <user>/<pw> @[SCRIPTFILE] Instructions: The script will ask for Table Name and Owner to show Statistics for. The default Owner is the current user. PROOFREAD THIS
Index online operation的过程 zt
在create index online, alter index rebuild online时,oracle是怎么工作的?http://www.oracle.com/technology/deploy/availability/htdocs/online_ops.htmlOnline Index OperationsOracle provides the capability to perform online index creation. During an online index create operation, concurrent queries and updates are allowed on the base table. During an online index creation operation, changes are recorded in a temporary journal table. At the end of index creation, the journal is merged into the new in