Oracle性能调优 之FreeList和HWM
Normal 0 7.8 pt 0 2 false false false MicrosoftInternetExplorer4 st1:*{behavior:url(#ieooui) } /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.
Oracle锁调查的脚本
select/*+ NO_MERGER(a) NO_MERGE(b) NO_MERGER(c)*/ a.USERNAME, a.MACHINE, a.SID, a.SERIAL#, a.LAST_CALL_ET "Sec", b.ID1, c.SQL_TEXT "SQL" from v$session a, v$lock b, v$sqltext c where a.USERNAME is not null and a.LOCKWAIT = b.KADDR and a.SQL_HASH_VALUE = c.HASH_VALUE[@more@]
Duplicating Database using RMAN duplicate command
http://www.oracle-mag.com/oracle-database-articles/backup-and-recovery/duplicating-database-using-rman-duplicate-command[@more@]
RMAN cumulative and differential incremental backup
http://blog.oraclefans.cn/rocksky/entry/rman_cumulative_and_differential_incremental[@more@]
ORACLE中的DUMP转储方法
一、Oracle跟踪文件 Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动、关闭和运行期间后台进程的活动情况,如表空间创建、回滚段创建、某些 alter命令、日志切换、错误消息等。在数据库出现故障时,应首先查看该文件,但文件中的信息与任何错误状态没有必然的联系。后台报警日志文件保存 BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为SIDALRT.LOG。另一种类型是DBWR、LGWR、SMON等后台进程创 建的后台跟踪文件。后台跟踪文件根据后台进程运行情况产生,后台跟踪文件也保存在BACKGROUND_DUMP_DEST参数指定的
索引成本计算的基础知识
索引访问路径的工作流程:1 为定义的索引列准备相关的谓词2 定位索引的根块3 沿着索引分支层往下走,一直到叶块,这也是第一个符合谓词条件的索引项 start key4 遍历整个叶块连表,一直到最后一个能与谓词匹配的索引项 stop key5 对每一个索引项,确定是否访问表块有以上可以知道和索引成本相关的3个因素:1 按降续遍历的分之层数2 遍历的叶快数目3 访问过的表块数目SQL> run; 1* select index_name,blevel,leaf_blocks,status,num_rows from user_indexes where table_owner='SCOTT'INDEX_NAME BLEVEL LEAF_
行迁移和行链接的检测
通过前面的介绍我们知道,行链接主要是由于数据库的db_block_size不够大,对于一些大的字段没法在一个block中存储下,从而产生了 行链接。对于行链接我们除了增大db_block_size之外没有别的任何办法去避免,但是因为数据库建立后db_block_size是不可改变的 (在9i之前),对于Oracle9i的数据库我们可以对不同的表空间指定不同的db_block_size,因此行链接的产生几乎是不可避免的,也没有 太多可以调整的地方。行迁移则主要是由于更新表的时候,由于表的pctfree参数设置太小,导致block中没有足够的空间去容纳更新后的记录,从而产 生了
oracle index 聚集因子
简单看一下clustering_factor简单的说CLUSTERING_FACTOR 用于INDEX 的有序度和表的混乱度之间比较b*tree index是经过排序的例如 INDEX中 记录的第一个rowid指向 表所在DATAFILE 中 BLOCK#1 第1行 计数器 记为1,第2个rowid 指向 BLOCK#2 由于改变了块 所以 计数器加1 ,INDEX 第3个rowid指向BLOCK#2 块没变 所以计数器还为2,接着沿INDEX执行 第4个rowid 指向BLOCK#1 块又变了计数器加1计数器对应着CLUSTERING_FACTOR 计数器每次从一个块到另一个新块时候加1 这样CLUSTERING_FACTOR也加一所以clustering_factor可以描述数据在表中的散布方
Oracle 10g Logminer 研究及测试
一,如何使用Logminer: 先要安装logminer的两个包;以SYS用户运行下面两个脚本,其中第一个脚本dbmslm.sql用来创建DBMS_LOGMNR包,该包用来分析日志文件。第二个脚本dbmslmd.sql用来创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。 D:oracleproduct10.2.0db_1RDBMSADMIN>sqlplus /nologSQL*Plus: Release 10.2.0.4.0 - Production on星期五4月10 17:49:02 2009Copyright (c) 1982, 2007, Oracle. All Rights Reserved.SQL> conn sys/oracle as sysdba已连接。SQL>SQL> @dbmslm.sql程序包已创建。授权成功。SQL>SQL>
oracle create a new database using backup controlfile to trace
1 atler database backup controlfile to trace2 modify pfile (create pfile='/tmp/init.ora' from spfile);"db_name" to the new string;3 export ORACLE_SID="NEW DATABASE NAME" startup nomount pfile='/tmp/init.ora'CREATE CONTROLFILE set DATABASE "jerry" RESETLOGS ARCHIVELOGalter database mount;alter database open;[@more@]CREATE CONTROLFILE set DATABASE "jerry" RESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MA
oracle hot block
alter table MYTABLE2 minimize records_per_block;[@more@]
oracle user privs
select * from dba_role_privs s where s.GRANTEE='MAO'; select * from dba_sys_privs where GRANTEE='MAO'; select * from dba_col_privs where GRANTEE='MAO'; select * from dba_tab_privs tp where tp.grantee='MAO' [@more@]SELECT dbms_metadata.get_ddl('USER','MAO') FROM dual;SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','MAO') from dual;SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT','MAO') from dual;SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','MAO') from dual;SELECT dbms_metadata.
How To Change The Oracle Hidden Parameters In Oracle 10g [ID 315631.1]
Q1: How to query this hidden initialization parameters in sql ?SELECTa.ksppinm "Parameter",b.ksppstvl "Session Value",c.ksppstvl "Instance Value"FROMx$ksppi a,x$ksppcv b,x$ksppsv cWHEREa.indx = b.indxANDa.indx = c.indxANDa.ksppinm LIKE '/_%' escape '/'Q2: How to change these hidden parameters?1) alter system set "<_parameter-of-choice>" scope=spfile and bounce the database. 2) alter..session set command for session level[@more@]select i.ksppinm na
On 32 bit windows 2003, oracle extend sga to max 1.7GB
changed:2.1 boot.ini: add /3GB[boot loader]timeout=30default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS[operating systems]multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Windows Server 2003, Enterprise" /fastdect noexecute=alwaysoff /3GB2.2 restart the computer2.3SQL>alter system set sga_target=2100M scope=spfile;SQL>shutdown immediate;SQL>startup;SQL>show parameter sgaSQL>alter system set pga_aggregate_target=400M;SQL>show parameter pga;[@more@]
library cache pin和library cache lock
Normal 0 7.8 pt 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan
v$sqlarea
v$sqlarea是用来表示父游标的一些指标 FETCHES SQL语句提取的数量 EXECUTIONS 此语句包括其子游标执行的次数 LOADS 此语句涉及到的对象被重载的次数 PARSE_CALLS 包括此父游标下所有子游标所解析的次数[@more@]
Checkpoint和SCN的解析
Normal 0 7.8 pt 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan
oracle block phisical address to block#
SQL> select DBMS_UTILITY.DATA_BLOCK_ADDRESS_FILE( TO_NUMBER(‘0300c7f8‘, ‘XXXXXXXX’) ) FILE#, DBMS_UTILITY.DATA_BLOCK_ADDRESS_BLOCK( TO_NUMBER(‘0300c7f8‘, ‘XXXXXXXX’) ) BLOCK# from dual; 2 3 FILE# BLOCK# ———- ———- 12 51192 [@more@] function rowid_create(rowid_type IN number, object_number IN number, relative_fno IN number, block_number IN number, row_number IN number)
rman backup as copy database format '/tmp/%U.dbf'
rman backup as copy database format '/tmp/%U.dbf'[@more@]
Step By Step Instructions on Migrating Oracle10g Database to Automatic Storage management (ASM)
Disable Block change tracking: SQL> select * from v$block_change_tracking; STATUS ---------- FILENAME -------------------------------------------------------------------------------- BYTES ---------- DISABLED If not disabled then, disble using this command. SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING; Database altered. SQL> Shutdown Database Cleanly: SQL> shutdown immediate