Heim Datenbank MySQL-Tutorial 给客户搭建RAC-DG时碰到的一些问题总结

给客户搭建RAC-DG时碰到的一些问题总结

Jun 07, 2016 pm 04:01 PM
客户 总结 搭建 gestern 问题

昨天去某客户那里搭建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 start

12.启动实例到mount

set oracle_sid=dg
sqlplus / 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,但日志都是可以正常传递过去的
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Fassen Sie die Verwendung der Funktion system() im Linux-System zusammen Fassen Sie die Verwendung der Funktion system() im Linux-System zusammen Feb 23, 2024 pm 06:45 PM

Zusammenfassung der Funktion system() unter Linux Im Linux-System ist die Funktion system() eine sehr häufig verwendete Funktion, mit der Befehlszeilenbefehle ausgeführt werden können. In diesem Artikel wird die Funktion system() ausführlich vorgestellt und einige spezifische Codebeispiele bereitgestellt. 1. Grundlegende Verwendung der Funktion system() Die Deklaration der Funktion system() lautet wie folgt: intsystem(constchar*command);

Probleme bei der Bewertung des Clustering-Effekts in Clustering-Algorithmen Probleme bei der Bewertung des Clustering-Effekts in Clustering-Algorithmen Oct 10, 2023 pm 01:12 PM

Das Problem der Clustering-Effektbewertung im Clustering-Algorithmus erfordert spezifische Codebeispiele. Clustering ist eine unbeaufsichtigte Lernmethode, die ähnliche Stichproben durch Clustering von Daten in eine Kategorie gruppiert. Bei Clustering-Algorithmen ist die Bewertung des Clustering-Effekts ein wichtiges Thema. In diesem Artikel werden mehrere häufig verwendete Indikatoren zur Bewertung des Clustering-Effekts vorgestellt und entsprechende Codebeispiele gegeben. 1. Clustering-Effekt-Bewertungsindex Silhouette-Koeffizient Der Silhouette-Koeffizient bewertet den Clustering-Effekt, indem er die Nähe der Stichprobe und den Grad der Trennung von anderen Clustern berechnet.

Erfahren Sie, wie Sie häufige iPhone-Probleme diagnostizieren Erfahren Sie, wie Sie häufige iPhone-Probleme diagnostizieren Dec 03, 2023 am 08:15 AM

Das iPhone ist für seine leistungsstarke Leistung und seine vielseitigen Funktionen bekannt und ist nicht immun gegen gelegentliche Probleme oder technische Schwierigkeiten, ein häufiges Merkmal komplexer elektronischer Geräte. iPhone-Probleme können frustrierend sein, aber normalerweise ist kein Alarm erforderlich. In diesem umfassenden Leitfaden möchten wir einige der am häufigsten auftretenden Herausforderungen im Zusammenhang mit der iPhone-Nutzung entmystifizieren. Unser Schritt-für-Schritt-Ansatz soll Ihnen bei der Lösung dieser häufigen Probleme helfen und praktische Lösungen und Tipps zur Fehlerbehebung bieten, damit Ihre Geräte wieder einwandfrei funktionieren. Unabhängig davon, ob Sie mit einer Störung oder einem komplexeren Problem konfrontiert sind, kann Ihnen dieser Artikel dabei helfen, diese effektiv zu beheben. Allgemeine Tipps zur Fehlerbehebung Bevor wir uns mit den spezifischen Schritten zur Fehlerbehebung befassen, finden Sie hier einige hilfreiche Tipps

So lösen Sie das Problem, dass jQuery den Formularelementwert nicht abrufen kann So lösen Sie das Problem, dass jQuery den Formularelementwert nicht abrufen kann Feb 19, 2024 pm 02:01 PM

Um das Problem zu lösen, dass jQuery.val() nicht verwendet werden kann, sind spezifische Codebeispiele erforderlich. Für Front-End-Entwickler ist die Verwendung von jQuery eine der häufigsten Operationen. Unter diesen ist die Verwendung der .val()-Methode zum Abrufen oder Festlegen des Werts eines Formularelements eine sehr häufige Operation. In bestimmten Fällen kann jedoch das Problem auftreten, dass die Methode .val() nicht verwendet werden kann. In diesem Artikel werden einige gängige Situationen und Lösungen vorgestellt und spezifische Codebeispiele bereitgestellt. Problembeschreibung: Wenn Sie jQuery zum Entwickeln von Front-End-Seiten verwenden, treten manchmal Probleme auf

Das Problem der Generalisierungsfähigkeit maschineller Lernmodelle Das Problem der Generalisierungsfähigkeit maschineller Lernmodelle Oct 08, 2023 am 10:46 AM

Die Generalisierungsfähigkeit von Modellen für maschinelles Lernen erfordert spezifische Codebeispiele. Da die Entwicklung und Anwendung von maschinellem Lernen immer weiter verbreitet wird, wird der Generalisierungsfähigkeit von Modellen für maschinelles Lernen immer mehr Aufmerksamkeit geschenkt. Die Generalisierungsfähigkeit bezieht sich auf die Vorhersagefähigkeit eines maschinellen Lernmodells anhand unbeschrifteter Daten und kann auch als Anpassungsfähigkeit des Modells in der realen Welt verstanden werden. Ein gutes Modell für maschinelles Lernen sollte über eine hohe Generalisierungsfähigkeit verfügen und in der Lage sein, genaue Vorhersagen für neue Daten zu treffen. In praktischen Anwendungen stoßen wir jedoch häufig auf Modelle, die im Trainingssatz gut funktionieren, im Testsatz oder in der Realität jedoch versagen

Können im Mistlock Kingdom Gebäude in freier Wildbahn gebaut werden? Können im Mistlock Kingdom Gebäude in freier Wildbahn gebaut werden? Mar 07, 2024 pm 08:28 PM

Spieler können beim Spielen im Mistlock-Königreich verschiedene Materialien sammeln. Viele Spieler möchten wissen, ob Gebäude im Mistlock-Königreich nicht in der Wildnis gebaut werden können. . Können im Mistlock Kingdom Gebäude in freier Wildbahn gebaut werden? 1. In den wilden Gebieten des Mist Lock Kingdom können keine Gebäude gebaut werden. 2. Das Gebäude muss im Rahmen des Altars errichtet werden. 3. Spieler können den Geisterfeueraltar selbst errichten, aber sobald sie den Bereich verlassen, können sie keine Gebäude mehr errichten. 4. Wir können als Zuhause auch direkt ein Loch in den Berg graben, sodass wir keine Baumaterialien verbrauchen müssen. 5. In den von den Spielern selbst gebauten Gebäuden gibt es einen Komfortmechanismus, d. h. je besser die Innenausstattung, desto höher der Komfort. 6. Hoher Komfort bringt den Spielern Attributsboni, wie z

Welche Fragen gibt es in der Rulong 8 Wine Master-Prüfung? Welche Fragen gibt es in der Rulong 8 Wine Master-Prüfung? Feb 02, 2024 am 10:18 AM

Welche Fragen beinhaltet die Yulong 8 Wine Master-Prüfung? Wie lautet die entsprechende Antwort? Wie kann man die Prüfung schnell bestehen? Es gibt viele Fragen, die in den Prüfungsaktivitäten zum Master of Wine beantwortet werden müssen, und wir können auf die Antworten zurückgreifen, um sie zu lösen. Bei all diesen Fragen geht es um Weinkenntnisse. Wenn Sie eine Referenz benötigen, schauen wir uns die detaillierte Analyse der Antworten auf die Prüfungsfragen zum Yakuza 8 Wine Master an! Ausführliche Erklärung der Antworten auf Fragen in der Rulong 8 Wine Master-Prüfung 1. Fragen zum Thema „Wein“. Dies ist ein destillierter Likör, der von einer von der königlichen Familie gegründeten Brennerei hergestellt wird. Er wird aus dem Zucker von Zuckerrohr gebraut, das in großen Mengen auf Hawaii angebaut wird. Wie heißt dieser Wein? Antwort: Rum 2. Frage zu „Wein“. Das Bild zeigt ein Getränk aus trockenem Ginseng und trockenem Wermut. Es zeichnet sich durch die Zugabe von Oliven aus und ist als „Cockney“ bekannt.

Wie kann man in der Go-Sprache feststellen, ob ein Datum gestern ist? Wie kann man in der Go-Sprache feststellen, ob ein Datum gestern ist? Mar 25, 2024 am 09:45 AM

Wie kann man in der Go-Sprache feststellen, ob ein Datum gestern ist? In der Entwicklung sind häufig Datumsverarbeitung und -vergleich erforderlich. Manchmal muss festgestellt werden, ob ein Datum gestern ist. In der Go-Sprache können wir diese Funktion durch einige Methoden implementieren. Im Folgenden wird erläutert, wie Sie in der Go-Sprache feststellen können, ob das Datum gestern ist, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir das Zeitpaket importieren, um Datum und Uhrzeit zu manipulieren. In der Go-Sprache wird die Zeit durch den Typ time.Time dargestellt. Als nächstes müssen wir die aktuelle Zeit und die zu vergleichende Zeit ermitteln

See all articles