分析shared pool latch争用
分析shared pool latch争用[@more@]分析shared pool latch争用1.评估在子latches中的分布检查共享池中各种子latches的分布情况。看看是否是倾斜的。如果有倾斜的情况,这些subheaps也许正经历intense pressure.select child#, gets, misses, immediate_gets, immediate_misses from v$latch_children where name = 'shared pool';SQL> select child#, gets, misses, immediate_gets, immediate_misses from v$latch_children where name = 'shared pool'; CHILD# GETS MISSES IMMEDIATE_GETS IMMEDIATE_MISSES----------
手动控制统计信息--clustering factor
手动控制统计信息--clustering factor[@more@]sys@11GDEMO> show parameter db_block_sizeNAME TYPE VALUE------------------------------------ ----------- ------------------------------db_block_size integer 8192create table cluster_factor_test(last_name varchar2(30), first_name char(2000)); 使其拥有如下分布的数据,可以插入六条相同的数据,然后再updatesys@11GDEMO> select last_name, dbms_rowid.rowid_block_number(rowid) "block&quo
sql*plus命令oradebug
sql*plus命令oradebug[@more@]sql*plus命令oradebugsql*plus命令oradebug对于诊断性能和hang住问题非常有用。在其他方面,它也可以用来检查RAC的inter-instance communication是否使用了正确的IP地址。1、ORADEBUG介绍oradebug起着debug和trace的目的。需要以sysdba连接到数据库。它可以用于:A、enable SQL trace in your own server process or a foreign server processB、figure out which trace file a process is writing toC、dump internal ORACLE structures for diagnosing database hangs or memory corruptionsD、dump inform
查看当前正在使用临时段进行排序的用户
查看当前正在使用临时段进行排序的用户[@more@]查看当前正在使用临时段进行排序的用户select /*+ rule */distinct a.sid, a.process, a.serial#, to_char(a.logon_time, 'YYYYMMDD HH24:MI:SS') LOGON, a.osuser,TABLESPACE , b.sql_textfrom v$session a, v$sql b, v$sort_usage c where a.sql_address = b.address and a.saddr = c.session_addr
确定不同文件进行收缩的空间
确定不同文件进行收缩的空间[@more@]确定不同文件进行收缩的空间col name for a50col resizecmd for a80select a.file#, a.name, a.bytes / 1024 / 1024 CurrentMB,2 ceil(HWM * a.block_size) / 1024 / 1024 ResizeTo,3 (a.bytes - HWM * a.block_size) / 1024 / 1024 ReleaseMB,4 'alter database datafile ''' || a.name || ''' resize ' || 5 ceil ( HWM * a.block_size) / 1024 / 1024 || 'M;' ResizeCmd6 from v$datafile a,7 (select file_id, MAX(block_id + blocks - 1 ) HWM8 FROM DBA_EXTENTS9 GROUP BY file_id) b10 where a.
表使用空间的估算
表使用空间的估算[@more@]表使用空间的估算1、对表和索引进行分析,查询user_tables得到表的容量;exec dbms_stats.gather_table_stats(user, 'TABLE_NAME', cascade => true);select avg_row_len from user_tables where table_name = 'TABLE_NAME';2、avg_row_len为表的平均行长,如果记录数为n,则表占用空间为avg_row_len bytes * n;3、select segment_name, segment_type, bytes from user_segments where segment_namein ('TABLE_NAME', 'INDEX_NAME');4、select trunc((索引字节数 / 表字节数) * 100) ind_percent from dual;得
Oracle数据库升级
Oracle数据库升级[@more@]Linux平台:Oracle升级(Patch包)Red Hat Linux 4上Oracle 10.2.0.1升级到10.2.0.4A、停止oracle相关进程1、关闭dbconsoleemctl stop dbconsole2、关闭isqlplusisqlplusctl stop3、关闭数据库shutdown immediate4、停止监听程序lsnrctl stopB、安装软件升级包1、运行安装程序,以oracle运行cd /db/Disk1/./runInstaller2、点击下一步3、点击下一步4、点击下一步5、点击下一步6、安装7、安装过程中8、运行root.sh提示9、切换到root用户运行上面的脚本10、安装结束C、升级现有数据库到10.2.0.41、启动监听程序lsnr
Oracle虚拟私有数据库(VPD)概述及简单举例
Oracle虚拟私有数据库(VPD)概述及简单举例[@more@]Oracle虚拟私有数据库(VPD)概述及简单举例1、Oracle虚拟私有数据库(VPD)概述VPD提供了比角色和视图更好的行级访问控制。例如在internet访问中,虚拟私有数据库可以确保网上银行用户只能看到自己的帐户。互联网应用服务公司可以在一个数据库中维护多个公司的数据,同时确保每个公司只能看到其自己的数据。在企业内部,VPD降低了应用部署的开销。安全仅需在数据服务器构造一次,而不用在每个访问数据的应用上部署。这样做安全性更强,因为数据库会强制应用安全策略,无论一个用户以何
关于dba角色与unlimited tablespace系统权限的关系
关于dba角色与unlimited tablespace系统权限的关系[@more@]在oracle 10g中,如果授予一个用户dba角色,则该用户自然被赋予unlimited tablespace系统权限;如果收回一个用户的dba角色,则该用户的unlimited tablespace系统权限自然也被收回,在实际实施中应注意到这一点。
使用数据泵导出导入整个数据库数据
使用数据泵导出导入整个数据库数据[@more@]导出目录用于存放导出数据使用数据泵导出整个数据库数据使用数据泵导入整个数据库数据1、创建导出目录,参见上一篇笔记2、导出整个数据库。C:Documents and SettingsAdministrator>expdp system/oracle full=y directory=dbbackup dumpfile=full.dmp job_name=expfull3、模拟数据库错误,删除部分用户drop user scott cascade;4、使用数据泵导入数据以恢复数据库C:Documents and SettingsAdministrator>impdp system/oracle full=y directory=dbbackup dumpfile=full.dmp job_name=impfull
oracle培训班培训计划
oracle培训班培训计划,需要的可联系! QQ:80920191[@more@]一、 ORACLE开发技术1、 目标:使参加培训的学员能独立进行ORACLE开发,包括存储过程,函数,包,触发器以及日常应用的SQL语句的开发,并能对SQL语句进行简单调优。使每一个学员都对ORACLE的开发技术有一个较为全面的认识。2、 内容:课题 学时1、ORACLE数据类型 12、基础SQL语句 43、常用系统函数介绍 24、常用系统包介绍 45、分析函数介绍 26、高级SQL语句 47、PL/SQL语法结构 28、存储过程/函数/包/触发器开发 109、集合处理 310、ORACLE大对象操作 211、SQL语句简单优化 43
使用数据泵导出导入用户数据
使用数据泵导出导入用户数据[@more@]导出目录用于存放导出数据及日志文件使用数据泵导出用户数据使用数据泵导入用户数据详细操作过程描述1、创建导出目录。mkdir e:backup回到sqlplus环境connect system/oracleSQL> create directory dbbackup as 'e:backup';目录已创建。2、导出用户scottC:Documents and SettingsAdministrator>expdp system/oracle schemas=scott directory=dbbackup dumpfile=scott1.dump job_name=expscott3、模拟数据库错误,删除用户scottconn system/oracleSQL> select username from dba_users where us
获取Oracle性能报告、性能调整建议
获取Oracle性能报告、性能调整建议[@more@]AWR存储数据库性能信息,该资料库自我管理,缺省情况下每60分钟取得一次快照,并被保持7天。ADDM,监控实例并且发现性能瓶颈,运行ADDM,既可以分析当前实例性能,也可以分析过去的实例性能。缺省情况下,ADDM根据现有AWR快照来分析数据库的性能。运行ADDM查看性能调整建议具体过程如下:1、以管理员身份登录EM2、在Related Links处点击Advisor Central3、点击ADDM4、进入ADDM的运行界面5、运行ADDMA、确定性能分析的时间段(起始时间,结束时间)B、点击OK,开始运行ADDMC、点击View Report按钮
Oracle 性能优化——创建分区表
Oracle 性能优化——创建分区表[@more@]1、准备工作创建相应的表空间,使各分区放于不同的表空间上:SQL> conn / as sysdba已连接。SQL> create tablespace test01 datafile 'D:xtdbtest01.dbf' size 50m; 表空间已创建。 SQL> create tablespace test02 datafile 'D:xtdbtest02.dbf' size 50m; 表空间已创建。 SQL> create tablespace test03 datafile 'D:xtdbtest03.dbf' size 50m; 表空间已创建。 SQL> create tablespace test04 datafile 'D:xtdbtest04.dbf' size 100m; 表空间已创建。 为了进行对比,在表空间test04上
绑定变量窥测与执行计划
绑定变量窥测打乱执行计划[@more@]开发人员发过来一句sql及其执行计划和统计信息,该sql执行相当频繁,而且每次的逻辑读非常的高,对数据库性能产生较大的影响,叫我分析原因。通过查看其执行计划,发现其效率相当低,优化器预估的值与执行过程中实际值相关距大。通过进一步分析发现是由于三个原因造成的:一是错误使用嵌套循环;二是创建复合索引时字段顺序不恰当;三是sql语句使用绑定变量造成的,原因就在于绑定变量窥测。本文通过实验来探讨一下绑定变量窥测对执行计划的影响。版本信息:SQL> select * from v$version;BANNER-----
v$sql视图学习
v$sql视图学习[@more@]v$sql与子游标相关,与v$sql相关的关键信息是执行环境和执行计划。v$sql显示了共享SQL区中SQL的统计信息,每个子游标都包含一条记录。主要字段有:sql_id:SQL的标识符sql_text:sql的前1000个字符。executions:执行次数。disk_reads:子游标的disk read次数buffer_gets:子游标的buffer gets数量optimizer_mode:sql执行的优化器模式optimizer_cost:sql执行成本hash_value:在Library Cache中父游标的hash value值注意:executeions、disk_reads和buffer_gets这些字段的值是累计的。感兴趣的朋友可以简单的实验一下。
复制数据库--读书笔记
前段时间给一客户通过RMAN复制数据库搭建了data guard,这是《精通ORACLE.10G备份与恢复》一书中复制数据库一章的读书笔记,巩固一下基础知识,笔记中的例子来自于实验,与书中个别地方不一样,记录下来以作参考。[@more@]管理复制数据库17.1、复制数据库综述复制数据库是主数据库(产品数据库)的副本数据库或克隆数据库,既可以包含主数据库的全部数据文件,也可只包含主数据库的部分数据文件。1、复制数据库的作用在产品数据库运行的同时,复制数据库可以独立运行。具有如下作用:为应用开发小组提供用于编程和测试的模拟数据库;为经验
ErrorStack错误跟踪与诊断工具的使用
ErrorStack错误跟踪与诊断[@more@]ErrorStack主要有以下4个级别0:仅转储错误栈1:转储错误栈和函数调用栈2:1 + processState3:2 + context area,会显示所有的cursors,重点显示当前cursorerrorstack可在实例级或会话级设置,也可在参数文件中配置,当设置的错误出现时启用跟踪。如下步骤使用errorstack:A、alter system(session) set events = '错误号 trace name errorstack forever, level 3';B、手工执行出错的代码,取得跟踪文件;C、关闭跟踪alter system(session) set events = '错误号 trace name errorstack off';D、以上操作
v$process视图学习
v$process视图学习[@more@]通过v$process与v$session,可以把操作系统和数据库系统联系起来,以下语句是从数据库到操作系统:select p.spid, s.sid, s.serial#, s.program from v$process, v$session swhere p.addr = s.paddr and s.sid = &sid;其中v$process的spid为操作系统的进程号。以下语句是从操作系统到数据库:以root身份登录操作系统,执行topas命令,可以看到相关操作系统任务,如果此时有Oracle服务器进程消耗过多资源,可以找到其进程号,通过进程号把v$process与v$session关联,可以找到此进程在数据库系统中正在执行的s
Oracle层次查询研究
Oracle层次查询研究[@more@]1、环境SQL> select * from v$version2 /BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64biPL/SQL Release 10.2.0.3.0 - ProductionCORE 10.2.0.3.0 ProductionTNS for HPUX: Version 10.2.0.3.0 - ProductionNLSRTL Version 10.2.0.3.0 - Production2、基础知识A、树形结构上图是一个虚拟的公司树形结构。层次结构与树形结构相同,如计算机的目录管理就是层次结构。根据上图建一张department表用于存储图1中的数据