Overcome ORA-600[4xxx] open database

Recovering a Dropped Table from a Full Database Backup using manual backup and recovery procedures (Doc ID 96197.1)

You cannot follow the note exactly as this note is for a valid full backup where you have all logs needed for point in time recovery – the changes you need to make are in the summary . . . → Read More: Overcome ORA-600[4xxx] open database

Maclean答网友问:深入进阶学习Oracle数据库的规划

网友关于深入学习Oracle高级技术的规划问题, Question:

 

原因是这样的,虽然使用ORACLE 从8.1.6就开始了,但是至今还是个半半瓶醋,究其原因我认为是学习方法和课程规划有问题,学的都是些点,整条线不融汇贯通. 首先介绍下我自己的成长过程

1.入门时读了《oracle 9i 编程指南》 2.后来精读过TOM的《export one on one》 3.设计过小型的数据库系统,编写调试过大概两年PLSQL 的东西,配合INFORMATIC工具和PLSQL编写过大量银行报表 4.对SQL优化不求甚解,基本靠陈旧的经验和运气。SQL很多新特性也很少用到,只知道一些 5.熟练使用TOAD,PLSQL DEVELOPER,INFORMATIC等工具 6.编写过近一年J2EE应用,这个是在进入ORACLE管理实施工作之前做的,所有J2EE组件都编写实施过 7.也看过一些ORACLE 官方文档及METALINK里的帖子(通常是google找不到合适解决方案才去找) 8.AIX,REDHAT LINUX上实施过多套RAC,从硬件存储、服务器等加电开始做起,到完成备份恢复测试,我的工作就算结束了,然后就是定期巡检,处理一些问题而已 9.HP 11IV3上配合veritas 卷管理实施10.2 RAC也熟悉(这个没有亲手实施,旁站) 10. 购D C B A 的AUL帮客户抽取过没有备份的崩溃库

工作经验关于ORACLE基本就这么多,但是直到今天感觉自己掌握的东西都是比较浅的,而且很不系统,自己想提高和从新夯实基础知识,请各位帮我规划个学习计划

 

Maclean Said :

 

1. 熟读 官方文档 concept 、 administrator guide 、backup restore、 performance tuning这几本是必须读的,可以尝试从9i版本开始读 , 9i 10g . . . → Read More: Maclean答网友问:深入进阶学习Oracle数据库的规划

Oracle Goldengate OGG 11g与各操作系统及数据库版本的兼容列表

Oracle Goldengate OGG 11g (11.1.1.0.0)与各操作系统及数据库版本的兼容列表如下,仅供参考:

 

Oracle GoldenGate Certification Matrix 11.1.1.0.0 Version Supported Processor Type OS Version OS 32/64 bit Oracle FM 32/64 bit JDK Vendor Version* JDK 32/64 bit Oracle Database* Exceptions and Additional Information 11gR1 (11.1.1.1+) x86 Red Hat EL 4 (UL7+) 32 NA NA NA Oracle 9.2.0.7+ Oracle 10.2.0.4+ Oracle 11.1+ Oracle . . . → Read More: Oracle Goldengate OGG 11g与各操作系统及数据库版本的兼容列表

快速部署RDA Remote Diagnostic Agent

RDA Remote Diagnostic Agent远程诊断代理是Oracle Support售后服务使用的标准工具之一,当用户在Metalink上提交SR(TAR)时可能Oracle GCS(Global Customer Service)支持会需要让用户从MOS上下载RDA工具,通过RDA收集丰富的数据库环境信息(如包含OS、DB、CRS等),以便原厂售后直接从RDA report中抓取诊断信息,避免了因诊断信息不足 而反复信息交互所浪费的时间 ; 此外Oracle的一些ACS高级客户服务的现场服务过程中也会利用到RDA,例如当用户要求ACS到现场进行月度或季度巡检是RDA就是标准的检查工具。

 

说了这么多, 你可能还是不太了解RDA。 这不要紧,你可以把RDA看成一套由oracle定义了很多模块的脚本工具盒, 用它可以收集到诊断过程复杂的Oracle产品问题的各种信息。 可以从My Oracle Support(metalink)的《Remote Diagnostic Agent (RDA) 4 – Getting Started [ID 314422.1]》专栏中下载到各个平台的最新版RDA。

 

 

虽然RDA是Oracle Support使用的工具 , 但是并不是说非原厂售后就看不懂RDA也不能利用到这款工具。 RDA从脚本、模块到最后生成的报告都是自然可读的。 譬如Maclean.Liu 我 在诊断较复杂的问题过程中也会用到RDA, 我甚至推荐在数据库巡检、健康检查过程中也使用RDA, 当然是配合其他工具一起使用。

 

在使用RDA之前我们需要完成配置工作,所谓配置就是选择我们要使用的RDA module和一些临时设置,先来认识一下有哪些module:

 

将下载到的rda zip包解压 [oracle@vrh8 ~]$ unzip /tmp/p9079828_418_LINUX.zip [oracle@vrh8 ~]$ cd rda . . . → Read More: 快速部署RDA Remote Diagnostic Agent

[转]著名安全专家Litchfield对Oracle开火

著名的数据库安全专家 Litchfield为自己赋予的使命就是告诉全世界数据库软件并不安全——特别是Oracle的数据库。Litchfield曾经公开批评Oracle,甚至要求Oracle首席安全官Mary Ann Davidson下台。

Litchfield认为,长期以来,Oracle及其用户在安全领域里一直象鸵鸟一样把头插在沙子中。 Oracle采用了错误的方式来解决安全问题。

英国下一代安全软件的合作创办人Litchfield正在进行一场圣战。今年一月,他出版了一本Oracle黑客手册。手册的封面上说为读者提供了完整的访问和防护Oracle系统的方法。

在批判Oracle的同时,Litchfield却对微软极力推崇。他曾经公开声称微软最新的数据库软件SQL Server 2005是安全的。这种声明一定严重的伤害到了微软的主要竞争对手Oracle。Oracle已经眼看着一大块数据库市场划归了华盛顿Redmond的软件巨人。

在上周召开的Black Hat DC大会上,Litchfield讨论到了一种新的袭击技术使Oracle数据软件的漏洞问题更加严重。他向ZDNet澳洲的姐妹网站CNET News.com解释了揭露漏洞的必要性。

问:为什么您对数据库安全如此关注?还有其他那么多软件。 Litchfield: 数据库安全对于任何组织机构来说就象是王冠上的珠宝。这个星球上的每家机构都有数据库,而这组织机构存在的活力之源。没有什么比从源头进行把握更有效的安全措施。我们能够在周边进行安全工作,但是如果软件本身带有SQL injection这样的漏洞,那么安全措施就前功尽弃了。

我与Oracle的关系已经有所缓和。

尽管有防火墙,尽管网络服务器已经被锁定,但是网络应用中的SQL injection缺陷就能让我们一路畅通的进入数据库服务器的后端。如果这个数据库没有采用最低权限,或者没有完全打好补丁,那么我们就能对数据库进行充分的访问并攫取全部数据。

数据库必须是安全的。问题是在最近以前,没有人真正的处理过数据库服务器的后端。也就是说过去人们采取的都不过是外围安全措施。

最近您对Oracle的数据库相当关注。是有什么特别的原因让您对Oracle倾注更多吗? Litchfield:是的。SQL Server 2005是安全的。因为微软解决了问题。Oracle正在解决问题。对于IBM,我研究过DB2和Informix,并为他们指出了从缓存溢出到权限增加等大约50个bug,IBM安全部门的反应是成熟的。

最近,Oracle安全部门的反应就没那么成熟。他们气势汹汹的,与“这个家伙在让我们的产品更安全”的想法完全相反。不过他们的态度现在有所好转。Oracle正在开始理解我和他们站在同一条战线上,只是彼此的看法不同。

当Oracle这样的厂家态度强硬时,您就会变得更加强硬? Litchfield:是的。很遗憾我正是这样行事的。但是如果你不得不保护自己,那么就保护自己吧。我更愿意去工作,就象我对微软和IBM那样,与他们的安全响应团队一起工作。我们与微软和IBM拥有良好的关系。有什么比良好的关系好的成事方法呢?我可不想站在浑水中互相指责。

我与Oracle的关系有所缓解,他们理解这并不是一场意志上的对决。我努力使他们了解他们数据库所存在的问题,因为这些问题对我造成了直接的对影响。如果有人闯入数据库服务器然后窃取了我的信息,付出代价的是我,而不是Oracle

有人可能会认为这有点象敲诈。 Litchfield:我可从来没有向Oracle索要过财物。如果人们这么想,那么他们得到的信息可能有误。

 

 

那么微软也没有雇用你来说SQL Server 2005是安全的? Litchfield:我说微软的产品是安全的但是没有从微软那里得到什么报酬,如果任何人在SQL Server 2005中找到bug,那个人最好是我。如果别人找到什么bug,它会破坏我将来判断产品是否安全的能力。因此,如果在SQL Server 2005中的确存在bug,我希望是我首先发现。我很期待。

 

 

微软过去和现在是否是NGS软件的客户? Litchfield:NGS的确在微软工作,但我们并不是受雇来说他们是安全的——我们被雇来使他们的产品更安全。对于微软和NGS来说,现在以及将来的独立性都很重要。否则我们工作的正确性以及微软为使产品更安全所进行的努力就会遭到怀疑。这就是NGS 依然在为微软的产品提出安全建议的原因。

 

 

我听说您曾经担任SQL Server 2005的安全审计工作,是这样吗? Litchfield:我不能说具体的说到我们所做的项目。这样,如果有人对SQL Server是否比Oracle安全的问题存在疑问,他所要做的就是想想包括那么多顶级研究人员在内的很多人都曾经研究过两个产品,寻找过安全漏洞。而SQL Server已经很长时间没有被发现问题了。我再重复一遍,如果有人在SQL . . . → Read More: [转]著名安全专家Litchfield对Oracle开火

Script:找出ASM中的Spfile参数文件

以下脚本可以用于找出ASM存储中的Spfile参数文件,因为使用asmcmd去查找很不方便,而spfile丢失又是很头大的事情, 所以有一个脚本代劳可以省不少功夫呢!

 

 

— listspfiles.sql — Purpose: Sample script to list spfiles kept in ASM instance — Usage: This should be run against an ASM instance, — not a database instance. — — cut here –%<—-%<—-%<—-%<—-%<—-%<– –list all spfiles set lines 120 col full_path for a110 SELECT full_path, dir, sys FROM (SELECT CONCAT(‘+’||gname,SYS_CONNECT_BY_PATH(aname,’/')) full_path, . . . → Read More: Script:找出ASM中的Spfile参数文件

Oracle Internal Event:10235 Heap Checking诊断事件

10235 (check memory manager internal structures) event内部诊断事件,当oracle SGA内存堆heap 管理操作发生错误时会触发该检测事件(For the sga heap, the internal error is signaled only when heap checking (event 10235) is enabled),其级别列表如下:

 

[oracle@nas ~]$ oerr ora 10235 10235, 00000, “check memory manager internal structures” // *Cause: // *Action: List of Levels for Event 10235 Level 1: Check heap before heap is . . . → Read More: Oracle Internal Event:10235 Heap Checking诊断事件

如何诊断ASMLIB故障

虽然我并不推荐你使用ASMLIB绑定设备名, 详见这篇文章《Why ASMLIB and why not?》 。 但大概因为介绍ASMLIB的文章远多于UDEV的缘故, 导致有大量对RAC安装配置不太熟悉的朋友仍执意采用ASMLIB,又因为ASMLIB的配置不算太简单所以在实际安装RAC之前的ASMLIB实施过程中有不少人遇到了问题, 其次在ASMLIB的使用过程中麻烦也不少。

这里总结了一下ASMLIB的诊断思路, 如下脚本:

 

cat /etc/sysconfig/oracleasm 1) uname -a 2) rpm -qa | grep ^oracleasm 3) rpm -V oracleasmlib 4) multipath -ll 1) output of command line # rpm -V oracleasm-support # /etc/init.d/oracleasm scandisks # /etc/init.d/oracleasm listdisks # ls -l -R /dev/oracleasm/ # ls -l /etc/sysconfig/oracleasm . . . → Read More: 如何诊断ASMLIB故障