RAC环境下SYSDATE返回错误时间

某客户反馈说,在11.2.0.3的RAC下,使用sqlplus连接时查询sysdate返回的时间是正确的,但是使用PL/SQL等通过Listener方式连接的时候,则返回错误的时间。

其实造成这个问题的原因是11.2.0.2后的新特性:

11.2.0.1的时候TZ变量取决于grid和root用户的shell环境变量TZ。

但是从11.2.0.2开始,Oracle的集群(GI)开始拥有自己的时区和配置,即TZ参数存在$GRID_HOME/crs/install/s_crsconfig_<nodename>_env.txt中设置的time zone。

一般集群的时区是在安装GI时从系统获取的。经过沟通后,客户确实在前段时间更改过系统时区,至此造成的sysdate返回错误的原因就是因为当操作系统的时区发生改变时,但是GI的时区未改变。解决方:修改TZ值,重启节点。

具体修改可以参考MOS:How To Change Timezone for 11gR2 Grid Infrastructure (Doc ID 1209444.1)

RAC安装节点2执行root.sh报CRS-5005和CRS-2632错

在某客户处,AIX 6.1上安装11.2.0.3的RAC,在节点2执行root.sh时出现以下报错:

初期由于分配IP存在不确定因素,一致以为是IP导致,但是实际不是。

从正常的安装来说,OCR盘在节点1执行时已经创建成功,节点2只需要应用即可。从此思路推断,是存储问题导致安装失败。

验证节点1和节点2存储是否划盘一致:

节点1:

节点2:

果然两个节点的存储划盘是不一致的,至此问题已经很清楚,是由于存储划盘不一致导致节点2执行root.sh报CRS-5005和CRS-2632错。

11g R2 RAC上EMCA报错

在11g R2 RAC使用EMCA的时候

密码是正确,但是始终返回:

此错误

问题的根源是因为:ASM实例中没有注册SCAN listeners

lsnrctl services LISTENER_SCAN1

在db中注册监听实例

alter system set remote_listener=’JSCZDB-scan:1521′ scope=both;

alter system register;

11.2.0.3 RAC on Oracle Linux 5.4

从五月19号开始OCM考试环境变成使用,11.2.0.3的DB和Oracle Linux 5.4 32bit。

本篇描述使用VirtualBox在Oracle Linux 5.4 32bit上安装Oracle Database 11g release 2 (11.2.0.3 32-bit) RAC。默认认为已经安装好VirtualBox,只简单讲述相关的配置。

系统安装注意:最少需要4G的swap,需要关闭firewall, SELinux设置为permissive,且需要安装以下package:

Desktop Environments > GNOME Desktop Environment
Applications > Editors
Applications > Graphical Internet
Development > Development Libraries
Development > Development Tools
Development > Legacy Software Development
Servers > Server Configuration Tools
Base System > Administration Tools
Base System > Base
Base System > Legacy Software Support
Base System > System Tools
Base System > X Window System

——————————————————-

Oracle安装先决条件

在安装之前,必须要先配置Oracle安装相关配置,可以使用自动配置,或者手动配置。

自动配置

你可以通过使用oracle-validated来配置Oracle的安装先决条件,按照在http://public-yum.oracle.com上的说明设置你的OL yum,然后使用:

所有需要的先决条件都会被自动执行。

手动配置

如果没有使用oracle-validated,则你需要手动去设置,所以的安装先决条件。 Continue reading 11.2.0.3 RAC on Oracle Linux 5.4

Oracle 11g R2 RAC 日志目录

集群中的每个数据库实例都有其自己的警告日志,存储在$DIAG_DESTINATION/RDBMS/<dbname>/SID/trace目录中,只要报告有问题发生,这个日志就是首先要检查的内容。警告日志给出了有关数据库基本设置的详尽信息,其中包括所使用的非默认参数。
警告日志还包含有关启动与关节的信息,以及节点加入与离开的详尽信息,这些信息都附带有时间标记。
就像数据库实例的警告日志一样,每个集群节点都在$GRID_HOME/log/<hostname>目录中存储一个集群件警告日志(alert<hostname>.log)。如果数据库警告日志文件报告存在与Oracle集群件或ASM有关的症状/事故,那么这将是第一个要分析的日志文件。为了对Oracle RAC数据库的不同进程和组件进行诊断,需要获得一些调试文件,在深入了解如何进行故障排除的细节之前,知道所有这些调试文件的位置是非常重要的。

安装日志文件

Oracle的软件安装日志文件存储在Oracle中央库的日志目录中,中央库的位置由oraInst.loc文件制定。

    在Linux中,一般在/etc/oracle中。其他Unix系统中,一般在/var/opt/oracle中。
Oracle将“Oracle通用安装程序”所指向的所有操作记录在一个名为InstallActions<timestamp>.log的日志文件中。
root.sh配置脚本的调试日志文件存储在$GRID_HOME/cfgtools/crsconfig目录,所执行的操作记录在rootcrs_<hostname>.log调试日志文件中。
Oracle RDBMS中的日志目录结构
从11g开始,Oracle在一个名为“自动诊断仓库”(也称为ADR)的公共目录结构中存储所有诊断数据,如跟踪文件、核心文件和警告日志。ADR在多个数据库实例中采用统一的目录结构,Oracle RAC数据库中涉及的所有主要组件,如ASM、CRS和数据库实例,都将其诊断文件存储在ADR中自己的专用目录中。采用统一的目录结构在公共位置存储所有数据,可以让Oracle支持工具(如ADRCI)从多个数据库和ASM实例收集和分析诊断数据。
ADR的位置有数据库初始化参数diagnostic_dest指定。这个参数在默认情况下指向由操作系统环境变量$ORACLE_BASE指定的位置。如果环境变量和初始化参数均未定义,那么Oracle默认使用$ORACLE_HOME/log作为“自动诊断仓库”。ADR包含一个名为diag的顶层目录,还包含Oracle RAC数据库技术组件的子目录,用于存储它们的诊断文件。在典型11g安装中,可以在$ORACLE_HOME/diag目录中看到以下子目录:
asm
clients
crs
diagtool
lsnrctl
netcman
ofm
rdbms
tnslsnr
可以通过查询数据库试图V$DIAG_INFO来显示ADR位置。
在一个数据库实例上,rdbms/<dbname>/<SID>子目录有以下重要子目录,其中存储了各个数据库实例的诊断文件:
  • cdump 这个目录包含核心转储
  • trace 这个目录存储数据库警告日志和前台及后台数据库进程的跟踪文件
  • alert 这个目录存储XML警告日志
  • hm 这个目录存储健康检查输出文件
  • incident 这个目录存储由关键错误生产的事故目录,每个事故目录以该事故的ID进行命名。
  • metadata 这个目录包含诊断元数据
Oracle Grid Infrastructure 中的日志目录结构
oracle grid infrastructure日志目录结构
$GRID_HOME/log 这是每个集群节点上为oracle集群件以及ASM存储跟踪和诊断日志文件的主目录。
$GRID_HOME/log/<hostname> 仅包含本地节点上oracle集群件和ASM的跟踪和诊断日志文件。
$GRID_HOME/log/<hostname>/agent 包含CRSD和OHASD守护进程的跟踪和诊断日志文件。
$GRID_HOME/log/<hostname>/client 包含各种oracle grid infrastructure客户端的跟踪和诊断日志文件。
$GRID_HOME/log/<hostname>/crfmond 包含由oracle集群健康监控器提供的系统监控服务记录的跟踪和诊断日志文件。
$GRID_HOME/log/<hostname>/cssd 包含CSS日志,其中包括来自客户端CSS侦听器的操作。
$GRID_HOME/log/<hostname>/cvu 包含由oracle集群验证实用工具生成的跟踪和诊断日志文件。
$GRID_HOME/log/<hostname>/evmd 包含EVM守护进程的跟踪和诊断日志文件。
$GRID_HOME/log/<hostname>/gnsd 包含用户排除oracle网格命令服务相关问题的跟踪和诊断日志文件。
$GRID_HOME/log/<hostname>/mdnsd 包含用于排除多播域名服务故障的跟踪和诊断日志文件。
$GRID_HOME/log/<hostname>/racg 包含各个oracle racg可执行文件的跟踪和调试日志。
$GRID_HOME/log/<hostname>/crflogd 包含由oracle集群健康监控器提供的集群记录服务器服务记录的跟踪和调试日志。
$GRID_HOME/log/<hostname>/crsd 包含CRSD守护进程的跟踪和调试日志。
$GRID_HOME/log/<hostname>/ctssd 包含用户排除集群时间同步服务故障的跟踪和调试日志。
$GRID_HOME/log/<hostname>/diskmon 包含用于排除磁盘监控器守护进程故障的跟踪和调试日志。
$GRID_HOME/log/<hostname>/gipcd 包含用于排除oracle网格进程间通信守护进程的跟踪和调试日志。
$GRID_HOME/log/<hostname>/gpnpd 包含网格即插即用守护进程的跟踪和调试日志。
$GRID_HOME/log/<hostname>/ohasd 包含高可用性守护进程的跟踪和调试日志