您好,欢迎访问一九零五行业门户网

Oracle 11g Data Guard搭建过程中问题解决两例

oracle安装配置过程中,是与操作系统、存储、网络密切相关的。特别是在linux、aix环境中,配置过程相对复杂,一个环节错误可能就
oracle安装配置过程中,是与操作系统、存储、网络密切相关的。特别是在linux、aix环境中,配置过程相对复杂,一个环节错误可能就会引起后续一系列的问题故障。
此外,随着oracle版本的变化,相同安装项目执行的步骤方法有很大变化。比如data guard,发展到11g有三种安装方法,每种方法的配置都有所差异不同。我们很多朋友在安装过程中,往往不在意版本差异,只是简单从网络上搜索一些文章就去实验使用。网络资源的确丰富了我们解决问题的思路和广度,,但是网络中一些只言片语、张冠李戴的说法做法,也的确会给我们造成麻烦。
本篇记录了笔者安装data guard过程中遇到的两个小问题解决方法,记录下来留待需要的朋友不时之需。
相关参考:
oracle data guard 重要配置参数
基于同一主机配置 oracle 11g data guard
探索oracle之11g dataguard
oracle data guard (rac+dg) 归档删除策略及脚本
oracle data guard 的角色转换
oracle data guard的日志fal gap问题
oracle 11g data guard error 16143 heartbeat failed to connect to standby 处理方法
1、环境背景介绍
使用oracle 11.2.0.4进行实验,项目是进行active data guard搭建过程。由于环境条件所限,笔者实现在一台物理机上实现primary和standby。
sql> select * from v$version;
banner
--------------------------------------------
oracle database 11g enterprise edition release 11.2.0.4.0 - production
pl/sql release 11.2.0.4.0 - production
core    11.2.0.4.0      production
tns for linux: version 11.2.0.4.0 - production
nlsrtl version 11.2.0.4.0 - production
2、/dev/shm过小引起故障
其他配置过程和官方推荐安装active dataguard方法相同。进行参数配置、密码文件创建、oracle net文件配置和standby端参数文件创建后,使用rman进行duplicate过程,脚本如下:
run {
duplicat target database for standby from active database
spfile
    parameter_value_convert 'ora11g','ora11gsy'
set db_unique_name='ora11gsy'
set log_archive_max_processes='5'
set fal_client='ora11gsy'
set fal_server='ora11g'
set standby_file_management='auto'
set log_archive_config='dg_config=(ora11g,ora11gsy)'
set log_archive_dest_2='service=ora11g async valid_for=(online_logfile,primary_role) db_unique_name=ora11g';
}
此时primary和standby实例都在启动状态,运行rman连接并执行脚本。
[oracle@simplelinux dbs]$ rman nocatalog
recovery manager: release 11.2.0.4.0 - production on thu apr 10 11:21:49 2014
copyright (c) 1982, 2011, oracle and/or its affiliates.  all rights reserved.
rman> connect target sys/oracle@ora11g
connected to target database: ora11g (dbid=4239941846)
using target database control file instead of recovery catalog
rman> connect auxiliary sys/oracle@ora11gsy
connected to auxiliary database: ora11gsy (not mounted)
执行脚本:
rman> @cr_phy_standby
rman> run {
2>  duplicate target database for standby from active database
3>  spfile
4>      parameter_value_convert 'ora11g','ora11gsy'
5>      set db_unique_name='ora11gsy'
(篇幅原因,有省略……)
sql statement: alter system set  log_archive_config =  ''dg_config=(ora11g,ora11gsy)'' comment= '''' scope=spfile
sql statement: alter system set  log_archive_dest_2 =  ''service=ora11g async valid_for=(online_logfile,primary_role) db_unique_name=ora11g'' comment= '''' scope=spfile
oracle instance shut down
connected to auxiliary database (not started)
rman-00571: ===========================================================
rman-00569: =============== error message stack follows ===============
rman-00571: ===========================================================
rman-03002: failure of duplicate db command at 04/10/2014 11:51:19
rman-05501: aborting duplication of target database
rman-03015: error occurred in stored script memory script
rman-04014: startup failed: ora-00845: memory_target not supported on this system
duplicate过程报错,执行失败。
从分析看,应该是oracle运行和内部共享内存分配有关。linux中的/dev/shm对应tmpfs,也就是临时共享内存结构。当前大小为:
其它类似信息

推荐信息