12C R2 new feature: 128 bytes for identifiers (表名长度可用128字节)

sys@pdborcl:orcl> CREATE table anbob_com_copyright_anbob_com_copyright_anbob_com_copyright_anbob_com_copyright_t(id int, col_name_col_name_col_name_col_name_col_name_col_name_col_name_col_name_col_name_largecolumn varchar2(5000));
Table created.
从12c r2 Release起表名和列名的长度限制为128 bytes.

Lots of Long transaction caused by database link, and undo hdr show DBA for that slot is 0x00000000

部署GOLDENGATE时发现,当前库中存在较多的长事务,在v$transaction中显示状态一直是ACTIVE, 对于长事务的对OGG的BR或启动抽取位置有较大影响, 奇怪的是这些长事务的起动时间甚至都有3天以上,而且当前会话状态已是INACITVE.而且查看UNDO SEGMENT HEADER上对应的SLOT 的DBA是0x00000000。

DBVerify report Corrupt block “Completely zero block found during dbv” when use RAW Device, but rman not.

因为raw device头上记录的是552959 个块数,但数据文件实际为540640个块数, 所以在oracle 未使用的block都未格式化,但是DBV如果不指定end 截至位置都会扫描, 所以DBV会提示那些都是勘误块, 使用RMAN未发现。

, , ,

DBV not always correct, as in an extreme case the use of raw device

RAW DEVICE可以在增加数据文件时不指定文件大小,可用空间这样通常是RAW Device的实际大小, 但是文件头上不会写入可用块数,表空间块大小会写入, 这种情况下DBV工具无法从文件头正确的获取blocks数,所以产生错误的扫描块数结果。在不指定大小的情况下,如果RAW Device曾经文件头上有记录之前的blocks,RAW device在新加入数据库时也不会擦写该位置,这样后期在使用DBV时的结果就不正确。

Scripts: format Library Cache Lock/pin wait event p3 value

SQL> exec lbc_p3(1571747577004035);
———————————————
……………………..Library cache P3 value: 1571747577004035
………………….Library cache P3 value HEX: 5957f00010003
…………………………………Object id: 365951
…………………………………Namespace: 1
……………………………….RequestMode: exclusive mode

EM agent 12.1 割接主机后重部署 agent is blocked, and “out-of-sync with repository”

ORACLE DB 有时出于硬件维护等情况需要更换主机操作,但IP,DB实例等都未改变, 这时在割接后的机器需要重新部署EM_AGENT , 我通常是离线安装, 离线安装EM ANGENT 12参考我之前的笔记Acquiring Management Agent Software for HPUX&AIX in the Offline Mode(离线安装EM agent),OMS 端原target 不需要删除在重新填加, 但是重部署后的EM_agent 通过emctl status agent 状态会是blocked,这时重新同步一下即可。

Oracle 11g r2 clusterware(集群软件) 启动顺序 (视频动画)

很久前在网上发现了一个很好的描述oracle 11g r2 集群软件(CLUSTERWARE)记录启动的视频, 不敢独项, 分享给大家。

如何修复ORA-01111, ORA-01110, ORA-01157 errors on Standby database

在oracle DATAGUARD环境,STANDBY_FILE_MANAGEMENT 参数控制standby […]

, , ,

goldengate 12.2 install and upgrade using Opatch

ogg 12.2 的安装方式和11是略有差别,之前是解压就OK, 现在是OGG提供了OUI 的安装方式,也可以静默方式,之前的升级是解压覆盖,现在多了一种选择可以像DB一样使用opatch安装,这里简单的记录下安装并给OGG安装PSU的过程。

三言两语Database 360 (DB360)

以后说起360可以脑子里除了闪过一个卖鞋的一个杀毒的,恐怕还要多个DB圈玩意了,360安全卫士相信你并不陌生,界面简捷扫描后打个分,简单说就是”傻瓜式”的操作, 如果数据库上出了这么个东东,你想不想要?还真有个DB360, but not free.

Little about partition segment

前几天看了篇日志自己一直没注意的小细节,利用开会儿的功夫做了个测试,因为维护的环境数据库中存在数万数十万的分区表, 平时维护时确实应该注意。环境11.2.0.4 这里就展示两个内容
1, 表上不同的分区初始化segment大小,在split partition时的segment大小继承方式。
2, truncate partition 会使手动unusable的分区索引变为usable.

Using ‘opatch lsinventory’ show patched is real? (看到的补丁信息真的靠谱么?)

去年在排查SCN 天花板问题修改相关的几个参数时,发现了这个问题,尤其如果是从别人手中接手的数据库,通常从opatch lsinventory 检查数据库的版本和补丁信息,在12C 的版本中也可以使用DBMS_QOPATCH, 但是有一个库发现之前别人挖了个坑实际安装补丁时应试是出错了,但是从opatch lsinventory查看两节点并没有区别 .。。。

,

ora-600 [ktbdchk1: bad dscn] and ora-8103 corrupted block

前两天一同事的数据库alert log不停的在刷出ora-600 [ktbdchk1: bad dscn]错误,影响的是一张table上的insert语句, 前不久该数据库存储出现过故障,从已知BUG中没有找到相似案例,这里只是简单的记录一下问题的处理过程。

,

Troubleshooting ORA-07445 [intel_fast_memcpy.A()+18]

前不久有个朋友从遇到了个问题,在数据库启动过程种出现ora-7445, 然后数据库CRASH, 环境11.1.0.7 windows 版本, 临时禁用了smon tx recovery打开数据库, 没有再继续跟踪,这里记录一下.
ORA-07445: exception encountered: core dump [intel_fast_memcpy.A()+18] [ACCESS_VIOLATION] [ADDR:0x19DC0000] [PC:0x52B428E] [UNABLE_TO_WRITE] []

,

latch: undo global data(ktudba: KSLBEGIN) wait event when insert value

前几日有11.2.0.3套库出现了性能问题,这里简单记录, 当时只是表现几个会话的同一条INSERT SQL语句出现了较高的latch: undo global data 等待,latch miss是 ktudba: KSLBEGIN ,同时还有BBS 等待

ORA-00600 [ddfnetCFull-4], [Invalid Handle] when using shared dblink oracle 11.2.0.3

ORA-00600: internal error code, arguments: [ddfnetCFull-4], [Invalid Handle], [], [], [], [], [], [], [], [], [], []
—– Current SQL Statement for this session (sql_id=0wjqfgz9dqsjp) —–
select null from srp.interface_comm@srp1
where rowid = :plsqldev_rowid
for update nowait

Frequent generate a lot of cdmp* directories contain *bucket trace in bdump(二 ) root cause

之前记录过Frequent generate a lot of cdmp* directories contain *bucket trace in bdump , 当时根据现象与该bug 很相似,该bug解决的只是不生成cdump还是会生成trace 文件,所以要分析生成trace的根本原因。之前数据库在诊断问题时也启用过相关trace event(见下面) , 但是instance memroy 级别实例重启后不再生效

ORA-32701 error in alert.log M000 hang event ‘not in wait’ during flush AWR

环境是一套11.2.0.3 2nodes RAC on hpux-ia31, alert中出现ora-32701 hangmgr错误, 从trace文件中发现是m000进程是mmon的辅助进程,用于flush AWR相关数据,有一个wait event: enq: WF – contention, 这也是flush AWR数据时相关的enqueue等待,但是blocker进程是not in wait

, ,

Troubleshooting ORA-600 [kghstack_alloc] & ORA-600 [kponPurgeUnreachLoc-3]

ORA-00600: internal error code, arguments: [kghstack_alloc], [define handles], [], [], [], [], [], [], [], [], [], []
***** Current SQL Statement for this session (sql_id=5udxh0ykgshkb) *****
select location_name, max(r.reg_id) from reg$ r left outer join gv$subscr_registration_stats

,

Oracle 12c new Feature: pingtarget 小记

解决在虚拟环境中的RAC环境下,当虚拟物理机的public network 失败时,(虚拟主机网卡)virtual nic依然active, VIP 或 Scan IP未按预期发生Failover的问题。