oracle restart体验(续)
1 |
今天上午准备在11gR2 测试环境上研究TDE,发现asm和db实例无法启动,如下: |
[crayon-67d9f2b34aadb6 […]
1 |
今天上午准备在11gR2 测试环境上研究TDE,发现asm和db实例无法启动,如下: |
[crayon-67d9f2b34aadb6 […]
1 2 3 |
关于oracle 11gR2的restart特性,早就听说了,但一直没有亲身体验过, 今天简单的进行了相关的测试,在部署环境过程中遇到个小问题,安装过 程中执行root.sh报错,如下: |
[crayon-67d9f2b34f9cc4 […]
1 2 3 4 5 6 |
关于parallel rollback,不少人写过相关的文章,今天偶然看到了,也简单的总结一下。 说到parallel rollback,那我们首先就要来看看与其有重大关系的一个参数: fast_start_parallel_rollback 该参数是oracle 8i引入的,详细信息如下表所示: |
[crayon-67d9f2b353a122 […]
在今年的OOW上,oracle发布了最新12c,不过不是database而是 Enterprise Manag […]
1 2 3 4 5 |
在上一篇关于ora-1652的一点总结中,有部分内容并未给出一个最终的结论,详见如下连接: <a href="http://www.killdb.com/2011/09/30/%e5%85%b3%e4%ba%8eora-1652%e7%9a%84%e4%b8%80%e7%82%b9%e7%ae%80%e5%8d%95%e6%80%bb%e7%bb%93.html" style="font-size: 12px; text-decoration: underline; color: #0000ff; font-family: monospace;">关于ORA-1652的一点简单总结</a> 在本文中,对上篇文章中的疑问进行的详细的实验说明和解释,实验过程如下: |
[crayon-67d9f2b357e8e7 […]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
关于ORA-1652错误,可谓是太常见不过了,但是我想未必每个人都能知道其根本原因和其处理方式, 今天在群里有人问到这个问题,故就有了这篇文章。 该错误的格式如下(摘取该网友的错误信息): ORA-1652: unable to extend temp segment by 128 in tablespace OCSTS 我们先来看看MOS文档对此错误的描述(其实通过oerr 1652也能得到): Error: ORA-1652 Text: unable to extend temp segment by %s in tablespace %s ------- ----------------------------------------------------------------------- Cause: Failed to allocate an extent for temp segment in tablespace. Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more files to the tablespace indicated or create the object in another tablespace. 简单的描述该错误实质就是oracle在该tablespace上无法分配一段连续的extent了进而抛出错误。 在该种情况下,我们首先需要去查询表空间使用率,如下: |
[crayon-67d9f2b35bddb2 […]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
今天去给某金融客户做数据库节前巡检,在执行 healthcheck.sql 以及 dba_snapshot_database_9i.sql 的时候,发现执行报错 sp2-0734,该报错无法识别,怪了。当时我怀疑可能是跟环境变量或shell有关系, 经过测试,我发现手工 vi test.sh 加入如下信息: sqlplus "/as sysdba" @ ?/rdbms/admin/spreport.sql 后,发现 @ 是无法显示的,这是何解? 当时使用了如下方式暂时解决了此问题: stty kill ^U 然后再次执行脚本即正常了。 晚上回家查了下MOS,发现了几个相关的文档,其中一个文档就提到了 stty kill ^U 的方法。 下面是相关的几个MOS文档: |
[crayon-67d9f2b35fefb8 […]
1 2 |
OTN Tour 是一个在业界算是比较出名的oracle 主题巡演活动,这次是北京举行,时间是 2011.10.20~21,共计两天,其中的演讲嘉宾中几个外国佬非常出名,期待一睹真容! |
[crayon-67d9f2b3614669 […]
1 2 3 |
上周给客户做了一个add node for single rac的操作,后来客户说主机有问题, 换了一台新的主机,于是今天又到现场了。在add操作之前,首先要将原node 信息从cluster中清除。 如下是简单的记录: |
[crayon-67d9f2b3629fd1 […]
1 2 3 |
Oracle速度还真够快,周末2天没关注,今天一看,11.2.0.3已经发布了。虽然大家都认为奇数版本只是 过渡性的版本,但是我想在该版本中应修复了11.2.0.2中的大量bug,还是很值得期待的。 目前仅仅发布了linux 平台而已(x86和x64),如下: |
[crayon-67d9f2b3666fb9 […]
1 2 3 4 5 6 7 8 9 10 |
我这里主要是想讲讲rac中关于node被驱逐进而导致reboot的情况。 首先说说rac中的心跳, 关于oracle clusterware中的心跳有两种,如下: 1. Disk heartbeat (voting device) - IOT 2. Network heartbeat (across the interconnect) - misscount 这里的disk hearbeat是指votedisk心跳,我们都知道votedisk是仲裁盘, 那么它到底有什么作用呢?Oracle文档有这样描述的: |
[crayon-67d9f2b36a62d0 […]
1 |
关于字符集的一点测试,由于某客户的一套rac需要更改字符集,所以我这里再次进行测试。 |
[crayon-67d9f2b36eac98 […]
1 2 3 4 5 |
今天给一个客户做rac添加节点的操作,可谓是一波三折啊,折煞死人。需要说明一下的是, 客户这套环境以前是双节点rac,其中一个坏了以后,将其信息删除变成单节点RAC了,今天 要做的就是把那个坏的节点添加进来(客户已经把以前损坏的主机重装了系统). 如下是最开始未到客户之前, 我自己写的一个大概的实施步骤: |
[crayon-67d9f2b372fad2 […]
1 2 3 4 5 6 |
昨天同事遇到一个有些怪异的问题,使用了outlines,但是SQLID执行仍然出现执行计划错误的情况, 导致大量的read by other session等待,严重影响业务,最后通过revoke和grant来解决了。 下面的问题就是如何去找到当时的问题所在?换句话说,当时的那个sql语句为什么不走index scan而 选择低效的full table scan呢? 错误的执行计划如下: |
[crayon-67d9f2b37888d6 […]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
68049b45 关于library cache pin和library cache lock, 是一个让人比较疑惑的问题. 我这里主要是指的event, 首先来说下其原理: lock主要有三种模式: Null, share(2), Exclusive(3). 在读取访问对象时, 通常需要获取Null(空)模式以及share(共享)模式的锁定. 在修改对象时,需要获得Exclusive(排他)锁定. pin操作跟lock一样, 也有三种模式: Null, shared(2)和exclusive(3). 只读模式时获得shared pin, 修改模式获得和exclusive pin. 模式为shared(2)的pin会阻塞任何exclusive(3)的pin请求. 模式为shared(3)的pin也会阻塞任何exclusive(2)的pin请求. 所有的DDL都会对被处理的对象请求排他类型的lock和pin 当要对一个过程或者函数进行编译时,需要在library cache中pin该对象. 在pin该对象以前,需要获得该对象 handle的锁定,如果获取失败,就会产生library cache lock等待. 如果成功获取handle的lock,则继续在library cache中pin该对象, 如果pin对象失败, 则会产生library cache pin等待. 如果是存储过程或者函数,存在 library cache lock等待,则一定存在library cache pin等待;反过来则不一定;但如果是表引起的的等待, 通常出现的等待事件都是library cache lock等待, |
[crayon-67d9f2b37c96e0 […]
什么是os block header?它有哪些作用?如果它损害了怎么办? 下面是关于os block head […]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
SQL> conn roger/roger Connected. SQL> create table ht01 as select owner,object_id,object_name from dba_objects; Table created. SQL> create index idx_id on ht01(object_id); Index created. SQL> show user USER is "SYS" SQL> alter index roger.IDX_ID monitoring usage; Index altered. SQL> select index_name,monitoring,used,start_monitoring,end_monitoring from v$object_usage; no rows selected SQL> conn roger/roger Connected. SQL> select index_name,monitoring,used,start_monitoring,end_monitoring from v$object_usage; INDEX_NAME MON USE START_MONITORING END_MONITORING ------------------------------ --- --- ------------------- ------------------- IDX_ID YES NO 09/04/2011 14:29:44 '-- 为何这里只能在当前模式下查询呢?sys为啥查询不到?' SQL> select text 2 from dba_views 3 where owner='SYS' and view_name=upper('v$object_usage'); TEXT -------------------------------------------------------------------------------- select io.name, t.name, decode(bitand(i.flags, 65536), 0, 'NO', 'YES'), decode(bitand(ou.flags, 1), 0, 'NO', 'YES'), ou.start_monitoring, ou.end_monitoring from sys.obj$ io, sys.obj$ t, sys.ind$ i, sys.object_usage ou where io.owner# = userenv('SCHEMAID') and i.obj# = ou.obj# and io.obj# = ou.obj# and t.obj# = i.bo# '从上面v$object_usage定义就能看出了,这里userenv为SCHMEAID,故只能查询当前模式的情况。' SQL> delete from ht01 where object_id >1000 and object_id <1500; 499 rows deleted. SQL> commit; Commit complete. SQL> delete from ht01 where object_id >10000 and object_id < 11000; 895 rows deleted. SQL> commit; Commit complete. SQL> select * from v$object_usage; INDEX_NAME TABLE_NAME MON USE START_MONITORING END_MONITORING --------------- -------------------- --- --- ------------------- ------------------- IDX_ID HT01 YES YES 09/04/2011 14:29:44 SQL> show user USER is "ROGER" SQL> alter index idx_id rebuild; Index altered. SQL> select * from v$object_usage; INDEX_NAME TABLE_NAME MON USE START_MONITORING END_MONITORING --------------- -------------------- --- --- ------------------- ------------------- IDX_ID HT01 NO YES 09/04/2011 14:29:44 |
从上面我们可以发现,如果index被重建,那 […]
该特性是11gR1就引入了,只是在11gR1中限制太多,本文主要是讲解11gR2中关于该特性 所增加的一些功能 […]
该特性是在oracle 11gR2 引入,其目的不言而喻。在11gR2之前,也就是在11gR1中, 如果当你发 […]
1 |
刚刚整理好的列表,分享给大家,方便及时查看以及更新patch。 |
[crayon-67d9f2b38e0367 […]