昨天去某客户那里搭建RAC-DG的物理备库,这里把大致流程再列举一下,为不涉及泄露隐私,主要参数已替换名称,具体路径也不一致。由于客户那边的环境不允许本机用网络连接内网,因此无法截下故障时各种报警日志和trace文件的截图,只能凭回忆大致写出。 1.主库
昨天去某客户那里搭建RAC-DG的物理备库,这里把大致流程再列举一下,为不涉及泄露隐私,主要参数已替换名称,具体路径也不一致。由于客户那边的环境不允许本机用网络连接内网,因此无法截下故障时各种报警日志和trace文件的截图,只能凭回忆大致写出。1.主库在线修改spfile参数
alter database force logging;
alter system set log_archive_config='DG_CONFIG=(dg,dgdg)';alter system set log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dg';
alter system set log_archive_dest_2='SERVICE=dgdg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dgdg';
alter system set log_archive_dest_state_1='ENABLE';
alter system set log_archive_dest_state_2='ENABLE';
alter system set standby_file_management='AUTO';
alter system set fal_server='DGDG';
需重启参数:
alter system set db_file_name_convert='C:\app\administrator\oradata\dg','+data/dg/datafile' scope=spfile;alter system set log_file_name_convert='C:\app\administrator\oradata\dg','+data/dg/onlinelog' scope=spfile;
2.创建pfile
SQL> create pfile from spfile;
3.修改备库用的pfile
*.__db_cache_size=0
*.__java_pool_size=0*.__large_pool_size=0
*.__oracle_base='C:\app\administrator'#ORACLE_BASE set from environment
*.__pga_aggregate_target=0
*.__sga_target=0
*.__shared_io_pool_size=0
*.__shared_pool_size=0
*.__streams_pool_size=0
*.audit_file_dest='C:\app\administrator\admin\dg\adump'
*.audit_trail='db'
*.cluster_database=false --说明是单实例数据库,否则启动会报错
*.compatible='11.2.0.0.0'
*.control_files='C:\app\administrator\oradata\dg\control01.ctl','C:\app\administrator\oradata\dg\control02.ctl'
*.db_block_size=8192
*.db_create_file_dest='C:\app\administrator\oradata'
*.db_domain=''
*.db_name='dg'
*.db_recovery_file_dest='C:\app\administrator\flash_recovery_area'
*.db_recovery_file_dest_size=3908042752
*.diagnostic_dest='C:\app\administrator'
*.dispadghers='(PROTOCOL=TCP) (SERVICE=DGXDB)'
*.fal_server='dg'
*.instance_number=1
*.log_archive_config='DG_CONFIG=(dg,dgdg)'
*.log_archive_dest_1='LOCATION=c:\archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dgdg'
*.log_archive_dest_2='SERVICE=dg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dg'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_format='ARC%S_%R.%T'
*.memory_target=8577351680
*.nls_language='SIMPLIFIED CHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='exclusive'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.db_file_name_convert='+data/dg/datafile','C:\app\administrator\oradata\dg'
*.log_file_name_convert='+data/dg/onlinelog','C:\app\administrator\oradata\dg'
*.db_unique_name=dgdg --复制过来的pfile如果不设置这个参数,默认的值是dg
4.修改tnsnamesl.ora
# tnsnames.ora Network Configuration File: C:\app\administrator\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.dg =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dg-cluster-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dg)
)
)
DGDG =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = dgP)(HOST = dgdg)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = dg)
)
)
5.修改listener.ora(只给备库用,主库可以不配置静态监听)
# listener.ora Network Configuration File: C:\app\administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = dg)
(ORACLE_HOME = C:\app\administrator\product\11.2.0\dbhome_1)
(SID_NAME = dg)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dgdg)(PORT = 1521))
)
ADR_BASE_LISTENER = C:\app\administrator\product\11.2.0\dbhome_1\log
6.备库创建相关目录
c:\archivelog --指定一个本地归档路径,备库接收到的归档日志和自己生成的归档日志都放在这里c:\app\administrator\admin\dg\adump
c:\app\administrator\admin\dg\dpdump
c:\app\administrator\admin\dg\hdump
c:\app\administrator\admin\dg\pfile
c:\app\administrator\flash_recovery_area
c:\app\administrator\oradata\dg
7.主库做rman全备
RMAN> backup as compressed backupset full database format 'c:\bak\full_%d_%I_%T_%U'8.主库创建备库控制文件
SQL> alter database create standby controlfile as 'c:\control01.ctl';SQL> alter database create standby controlfile as 'c:\control02.ctl';
9.复制备份文件、密码文件、pfile文件、tnsnames.ora、listener.ora到备库相应位置
10.备库创建实例
oradim -new -sid dg -startmode manual -spfile;11.启动监听
lsntrctl start12.启动实例到mount
set oracle_sid=dgsqlplus / as sysdba
SQL> startup mount
13.恢复数据库
RMAN> catalog start with 'd:\bak'; --不指定会提示无法恢复数据库RMAN> restore database;
14.备库添加standby redo logfile
SQL> alter database add standby logfile 'C:\app\administrator\oradata\dg\std_05.log' size 50m;SQL> alter database add standby logfile 'C:\app\administrator\oradata\dg\std_06.log' size 50m;
SQL> alter database add standby logfile 'C:\app\administrator\oradata\dg\std_07.log' size 50m;
SQL> alter database add standby logfile 'C:\app\administrator\oradata\dg\std_08.log' size 50m;
SQL> alter database add standby logfile 'C:\app\administrator\oradata\dg\std_09.log' size 50m;
15.启用redo apply
SQL> alter database recover managed standby database disconnect from session;16.给备库创建spfile(可选)
SQL> create spfile from pfile;下面记录几个在整个配置过程中遇到的问题:
1.用opatch apply命令无法打patch
出现原因:11.2.0.3默认装完后的opatch版本是11.2.0.1.7,我要打的patch 27需要在这个版本之上才可以
解决方法:解压高版本的opatch安装包后覆盖原opatch目录
2.备库alert.log报警提示无法找到控制文件自动备份路径出现原因:RAC主库之前部署过自动RMAN备份脚本,指定了控制文件自动备份路径,但备库并没有此路径
解决方法:进入RMAN,修改该项参数为备库存在的目录3.参数设置错误而引起GAP,导致自动备份脚本停止运行
出现原因:之前在设置参数时,把主库的log_archive_dest_1参数设置了本地路径归档,如:alter system set log_archive_dest_1='LOCATION=C:\archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=dg';
作为RAC,归档路径在本地的话,其他节点就无法读取,发现后重新设置为USE_DB_RECOVERY_FILE_DEST后,那些在本地的归档日志就成为GAP而无法传递到备库
解决方法:手工复制所有提示缺失的xxx归档到指定位置,再手动执行RMAN自动备份脚本说明:由于RMAN自动备份脚本里配置了冗余7份,而之搭建DG时手动执行了全库备份,这些手动备份也是算在7份冗余之内的,为了不占用正常备份的配额,DG搭建完成后建议物理删除,然后再crossecheck并清理掉
4.主、备库的alert.log经常会出现TNS错误
fatal NI connect error 12547
TNS-12547 TNS : 丢失连接
ns secondary err code : 12560
ns main err code : 517
TNS-00517 TNS : 丢失连接
nt secondary err code : 54
nt OS err code : 0
出现原因:节点2没有配置tnsnames.ora,造成thread 2的归档日志无法传递到备库,同时也会造成主库日志能传递过去,但无法应用。
解决方法: 把节点1的tnsnames.ora直接复制一个到节点2说明:其实这个也是造成备库应用出现GAP的最大原因,由于节点2日志传递不到备库,虽然之前的几个归档日志序列相应的applied列的属性值都是YES,但是会造成节点1的日志也不应用,哪怕在节点1切了很多次归档,applied列始终会显示NO,但日志都是可以正常传递过去的

最常称为VSCode的VisualStudioCode是开发人员用于编码的工具之一。Intellisense是VSCode中包含的一项功能,可让编码人员的生活变得轻松。它提供了编写代码的建议或工具提示。这是开发人员更喜欢的一种扩展。当IntelliSense不起作用时,习惯了它的人会发现很难编码。你是其中之一吗?如果是这样,请通过本文找到不同的解决方案来解决IntelliSense在VS代码中不起作用的问题。Intellisense如下所示。它在您编码时提供建议。首先检

Vue框架下,如何快速搭建统计图表系统在现代网页应用中,统计图表是必不可少的组成部分。Vue.js作为一款流行的前端框架,提供了很多便捷的工具和组件,能够帮助我们快速搭建统计图表系统。本文将介绍如何利用Vue框架以及一些插件来搭建一个简单的统计图表系统。首先,我们需要准备一个Vue.js的开发环境,包括安装Vue脚手架以及一些相关的插件。在命令行中执行以下命

玩家在雾锁王国中进行游戏时可以收集不同的材料用来建造建筑,有很多玩家想知道野地搭建筑吗,雾锁王国能野地是不能搭建筑的,必须要在祭坛的范围内才可以搭建。雾锁王国能野地搭建筑吗答:不能。1、雾锁王国能野地是不能搭建筑的。2、建筑必须要在祭坛的范围内才可以搭建。3、玩家可以自行放置灵火祭坛,但一旦离开了范围,将无法进行建筑搭建。4、我们也可以直接在山上挖个洞当做我们的家,这样不用耗建筑材料。5、玩家自己搭建的建筑中,存在舒适度机制,也就是说,内饰越好,舒适度越高。6、高舒适度将为玩家带来属性加成,例如

作为一门快速发展的编程语言,Go语言在开发速度和性能方面都具备了优秀的表现,越来越多的开发者也在使用它开发自己的项目。而在Go开发中,使用框架可以极大地提高开发效率和代码质量,而Xorm框架是其中受欢迎的一种。然而,在使用Xorm框架过程中,可能会遇到一些问题。本文就是针对一个常见的问题,即“为什么我的Go程序无法正确使用Xorm框架?”,提出一些解决方案和

CentOS7下搭建web服务器的网络安全加固技巧web服务器是现代互联网的重要组成部分,因此保护web服务器的安全性非常重要。通过加固网络安全,可以减少风险和避免潜在的攻击。本文将介绍在CentOS7上搭建web服务器时常用的网络安全加固技巧,并提供相应的代码示例。更新系统和软件首先,确保你的系统和软件是最新版本。可以使用以下命令更

Microsoft今天宣布了Dynamics365客户服务中SharePoint与Copilot集成的早期预览版。这种集成将使客户服务代理能够访问更广泛的知识来源,从而提高生产力并改善客户互动。目前,Dynamics365客户服务中的Copilot利用内部知识库为客户服务代理提供指导。通过建议聊天和草稿电子邮件内容,Copilot已成为提高客户服务团队生产力的关键工具。但是,客户反馈表明该工具需要利用来自外部资源(如SharePoint)的知识。SharePoint协同驾驶集成为了响应这些反馈,

在当下信息充斥的时代,社交媒体平台已经成为人们获取和分享信息的主要途径。对于个人和企业而言,建立一个有效的账号网络以实现信息的最大传播和提升影响力,已成为亟需解决的挑战。一、账号矩阵怎么搭建?1.明确目标人群在构建账号矩阵之前,关键是明确目标受众,深入了解他们的需求、兴趣和消费习惯,这样才能制定更具针对性的内容策略。2.选择合适的平台根据目标人群的特点,选择适合的社交媒体平台进行布局。目前主流的社交媒体平台有微博、微信、抖音、快手等,每个平台都有其独特的用户群体和传播特点,需要根据实际情况进行选

CentOS7下搭建web服务器的最佳实践及注意事项引言:在当今互联网时代,web服务器是构建和托管网站的核心组件之一。CentOS7是一个强大的Linux发行版,广泛应用于服务器环境。本文将探讨在CentOS7上搭建web服务器的最佳实践和注意事项,并提供一些代码示例以帮助您更好地理解。一、安装ApacheHTTP服务器Apache是使用最广泛的w


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ホットトピック



