- 浏览: 978793 次
- 性别:
- 来自: 杭州
最新评论
-
孤星119:
好熟悉的数据库字段啊, 上家公司做的项目每天都跟这些字段打招呼 ...
Oracle exp compress参数引起的空间浪费 -
itspace:
quxiaoyong 写道遇到个问题,网上一搜,全他妈这篇文章 ...
数据库连接错误ORA-28547 -
quxiaoyong:
遇到个问题,网上一搜,全他妈这篇文章。你转来转去的有意思吗?
数据库连接错误ORA-28547 -
hctech:
关于version count过高的问题,不知博主是否看过ey ...
某客户数据库性能诊断报告 -
itspace:
invalid 写道写的不错,我根据这个来安装,有点理解错误了 ...
AIX 配置vncserver
文章列表
顾名思义,dba_free_space指的是Oracle还有多少表空间剩余空间,其视图结构也相当简单:
SQL> desc dba_free_space
Name Null? Type
----------------------------------------- -------- ----------------------------
TABLESPACE_NAME VARCHAR2(30)
FILE_ID ...
顾名思义,Oracle 进行direct path read和direct path write操作时,将会绕过buffer_cache,直接将数据读至PGA中。Oracle官方文档也似乎这么说。
但事实果真是这样吗?
接下来分2部分测试,首先测试direct path read,我们知道Oracle并行读时将会产生进行direct path read
SQL> alter system flush buffer_cache;
System altered.
SQL> select /*+ parallel(a 10)*/ * from zhoultest a;
835328 ...
上周给客户数据库从Oralce 9.2.0.4升级到10.2.0.5之后,系统稳定运行。但昨天打电话给我说,数据库出现性能问题,主要表现为保存提交时非常缓慢,比升级之前慢了好多。正好,同一天,同一个客户的另一个rac数据库二号节点宕机,需要现场支持。帮助客户分析好rac宕机原因之后,开始分析数据库性能分析。通常来讲,数据库升级之后,出现业务响应缓慢,一般都是执行计划变更引起的。由于客户不能提供性能变坏业务模块SQL语句,于是只好从AWR报告开始分析。我们分析问题时,有一点需要注意的是,客户告之的故障之后,对故障要有一般要有自己的判断,不能被客户牵着鼻子走,否则容易误入歧途,给故障诊断,带来不利的 ...
现在3G网络日趋流行,客户想在已有3G网络的基础上建立vpn通道,通过vpn直接和数据库相连。通过这种方式,可以使众多遍布在杭城各地的客户端脱离有线的困扰。
想法确实不错,但实施起来并非易事。其中网络就是最主要的瓶颈,vpn由一应用厂商开发,今天在测试过程中,建立vpn通道后,能ping通主机,但连接数据库一直有问题。
这网络延迟也太夸张了点,但至少也证明vpn通道是建立成功了,通过ip地址20.1.0.202也能登陆至主机。
C:\Users\Administrator>ping 20.1.0.202 -t
正在 Ping 20.1.0.202 具有 32 字节的数据:
来自 20 ...
用户报告前台业务响应缓慢,登陆至数据库获取awr报告。kill掉相关会话后系统恢复,杀会话可参考metalink id 786507.1
Load Profile 除了Rollback per transaction %比较高之外,达到了95%。其他指标似乎正常。
于是进一步查看事务回滚相关信息,可以看到每秒事务回滚数(transaction rollbacks)只有145.13,远远小于user rollbacks (2,454.12)
Statistic Total per Sec ...
此次rac vip故障主要是由于vip所在网卡ent3(做了EtherChannel,即主备网卡绑定)出现故障,导致1号节点vip漂移至2号节点。
$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....b1.inst application ONLINE ONLINE crmdb01
ora....b2.inst application ...
客户一rac数据库发生故障,1号节点的vip漂移至2号节点,由于部分业务没有采用负载均衡模式连接,即直接连接1号节点vip,当1号节点的vip漂移至2号节点后,业务连接出现异常。
主要表现为tnsping出现TNS-12541,sqlplus连接出现ORA-12520
引用$ tnsping CRMDB_1
TNS Ping Utility for IBM/AIX RISC System/6000: Version 10.2.0.5.0 - Production on 16-APR-2011 13:56:35
Copyright (c) 1997, 2010, Oracle. All ...
前几天在客户数据库做巡检的时候,在警告日志中发现有如下警告:
引用WARNING: You are creating datafile /dev/rtbs_data01.
WARNING: Oracle recommends creating new datafiles on devices with zero offset. The command "/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs" can be used. Please contact Oracle customer support f ...
今天在测试中意外发现Oracle ddl隐式提交需要注意的地方。我们都知道,在同一个会话中,ddl执行之前,会隐式进行commit操作。但之前的理解一直局限于这个ddl操作成功,之前的事务才隐式提交,但今天所做的测试,看来并非如此。
场景1:
Oracle ddl通过语法检查,但对象不存在。
在一号会话中:
引用SQL> select * from zhoul;
I NAME
---------- --------------------
1 bbb
2 bbb
3 bbb
SQL> update zhou ...
一、参数文件
参数文件可以从$ORACLE_HOME/dbs/init.ora拷贝
或者从Administrator's Guide=>Creating an Oracle Database=>Understanding Initialization Parameters拷贝
control_files = '/oradata/mynewdb/control01.ctl'
db_name = mynewdb
db_block_size = 8192
pga_aggregate_target ...
block cleanout原理方面不做过多解释,主要记录测试过程,备忘。
对测试表格做dml操作,记录其scn值
SQL> update zhoul set name='aaa';
3 rows updated.
SQL> commit;
Commit complete.
SQL> alter system checkpoint;
System altered.
SQL> select current_scn scn from v$database;
SCN
------------------
10995251665 ...
本案例主要模拟数据库由于异常宕机,导致部分数据文件和备份控制文件丢失,重建控制文件后,后续操作出现的错误,及解决办法。
假设目前数据共有6个数据文件。
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/oradata/zhoul/system01.dbf
/oradata/zhoul/undotbs01.dbf
/oradata/zhoul/sysaux01.dbf
/oradata/zhoul/u ...
dump出Oracle block后,可以看到事物槽,包含有事物槽号(ITL),XID,UBA,FLAG,LCK,SCN。
本文主要讨论FLAG标记的规则,其中FLAG在block中占用1个字节大小。
我们知道FLAG各种标记位代表不同意思,以下为不同标记位代表不同意思:
---- = transaction is active, or committed pending cleanout
C--- = transaction has been committed and locks cleaned out
-B-- = this undo record contains the undo ...
通过以上一系列测试,我们知道Oracle对于dirty block,在执行内存刷出时,buffer cache的block会覆盖datafile的block。
如果数据库是rac,那会怎么样?
设想以下场景:
假设rac为2个节点,1号节点产生dirty block,1号节点通过lmns进程将此dirty block传输至2号节点,2号节点再次修改dirty block。
通过以上操作,可以看到该dirty block经过了2次修改,而且在1号节点修改的scn小于2号节点修改scn。
需要注意的是在Oracle 10g rac环境中,1号节点和2号节点的由GCS完成scn同步。
默认情况采用Br ...
继续探讨Oracle dirty话题,前面一直用到了alter system flush_cache命令。
那alter system checkpoint和alter system flush buffer_cache有什么区别? 一个简单的测试可以看出些端倪。
打开SQLPUS 会话状态信息统计功能,可以看到对zhoul表格读取全部执行8个consistent gets,也就意味着表格全部在buffer cache中
SQL> set autot traceonly stat
SQL> select * from zhoul;
Statistics
-------- ...