oracle lgwr async dg需要手动触发alter system switch logfile
时间: 2023-11-19 14:06:26 浏览: 60
在 Oracle 数据库中,启用异步日志传输 (async) 的 Data Guard 环境中,可能需要手动触发 "alter system switch logfile" 命令,以确保主库的日志能够及时传输到备库并应用到备库上。
异步日志传输是指主库将日志写入本地磁盘后,即可提交事务,而不需要等待日志传输到备库后再提交事务。这样可以减少主库的 I/O 延迟,提高主库的性能。但是,由于日志传输是异步的,因此备库上可能存在一些延迟,即备库上的日志可能不是最新的。
为了确保备库上的数据与主库同步,可以通过手动触发 "alter system switch logfile" 命令来强制主库切换日志,并将最新的日志传输到备库上。可以在主库上运行该命令,以确保主库上的日志传输到备库并应用到备库上。
需要注意的是,手动触发 "alter system switch logfile" 命令可能会影响主库的性能,并且可能会产生一些延迟。因此,在进行该操作之前,应该仔细评估其风险和影响,并根据具体情况进行调整。
相关问题
Oracle dg搭建步骤
Oracle Data Guard(DG)是一个高可用性解决方案,可以将主数据库的数据实时复制到一个或多个备用数据库中。以下是Oracle DG搭建的步骤:
1. 在主数据库上启用归档模式。在主机上运行以下命令:
```
SQL> alter database archivelog;
SQL> alter system switch logfile;
```
2. 在主数据库上创建归档目标路径。在主机上运行以下命令:
```
SQL> alter system set log_archive_dest_1='LOCATION=/u01/archivelog';
```
3. 在主数据库上创建一个备用控制文件。在主机上运行以下命令:
```
SQL> alter database create standby controlfile as '/u01/controlfile/control01.ctl';
```
4. 在备用数据库上创建一个PFILE文件。在备用主机上运行以下命令:
```
SQL> create pfile='/u01/pfile/init_standby.ora' from spfile;
```
5. 修改PFILE文件。在备用主机上编辑PFILE文件,并添加以下参数:
```
# 指定数据库名称
db_name='database_name'
# 指定主数据库的连接信息
standby_file_management='AUTO'
log_archive_dest_1='LOCATION=/u01/archivelog'
log_archive_dest_2='SERVICE=database_name LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=database_name'
# 指定主数据库的IP地址和端口号
remote_login_passwordfile='EXCLUSIVE'
fal_client='database_name'
fal_server='database_name'
standby_archive_dest='/u01/archivelog'
db_file_name_convert='/u01/oradata/DB','/u01/oradata/STANDBY'
log_file_name_convert='/u01/oradata/DB','/u01/oradata/STANDBY'
```
6. 启动备用数据库并连接到SQL Plus。在备用主机上运行以下命令:
```
SQL> startup nomount pfile='/u01/pfile/init_standby.ora';
SQL> alter database mount standby database;
```
7. 在主数据库上创建一个备用日志传输服务。在主机上运行以下命令:
```
SQL> alter system set log_archive_dest_2='SERVICE=database_name LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=database_name';
SQL> alter system switch logfile;
```
8. 在备用数据库上启动日志传输服务。在备用主机上运行以下命令:
```
SQL> alter system set log_archive_dest_2='SERVICE=database_name LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=database_name';
SQL> alter system switch logfile;
```
9. 在主数据库上启用DG。在主机上运行以下命令:
```
SQL> alter database add standby logfile group 4 ('/u01/oradata/DB/redo04a.log', '/u01/oradata/STANDBY/redo04b.log') size 50m;
SQL> alter database add standby logfile group 5 ('/u01/oradata/DB/redo05a.log', '/u01/oradata/STANDBY/redo05b.log') size 50m;
SQL> alter system switch logfile;
SQL> alter system switch logfile;
SQL> alter system switch logfile;
SQL> alter database force logging;
SQL> create user sysdg identified by password;
SQL> grant sysdg to sysdba;
SQL> alter database set standby database to maximize performance;
```
10. 在备用数据库上启用DG。在备用主机上运行以下命令:
```
SQL> alter database add standby logfile group 4 ('/u01/oradata/DB/redo04a.log', '/u01/oradata/STANDBY/redo04b.log') size 50m;
SQL> alter database add standby logfile group 5 ('/u01/oradata/DB/redo05a.log', '/u01/oradata/STANDBY/redo05b.log') size 50m;
SQL> alter system switch logfile;
SQL> alter system switch logfile;
SQL> alter system switch logfile;
SQL> alter database force logging;
SQL> create user sysdg identified by password;
SQL> grant sysdg to sysdba;
SQL> alter database set standby database to maximize performance;
```
11. 启动DG。在备用主机上运行以下命令:
```
SQL> alter database recover managed standby database disconnect from session;
```
这些是搭建Oracle DG的基本步骤。但是在实际应用中,还需要根据特定的需求进行一些调整和优化。
oracle 11g dg的搭建步骤
以下是在 Oracle 11g 中搭建 Data Guard 的基本步骤:
1. 在主库上启用归档模式:
```
ALTER DATABASE ARCHIVELOG;
```
2. 创建备库的控制文件,并将其复制到备库:
```
ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/u01/app/oracle/oradata/standby/control01.ctl';
```
3. 在备库上创建一个备库参数文件,其中包括主库的连接信息和备库的名称和路径:
```
DB_NAME='standby'
DB_UNIQUE_NAME='standby'
LOG_ARCHIVE_CONFIG='DG_CONFIG=(PRIMARY,STANDBY)'
LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/oradata/standby/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=standby'
REMOTE_LOGIN_PASSWORDFILE='EXCLUSIVE'
STANDBY_FILE_MANAGEMENT='AUTO'
```
4. 在备库上创建一个静态服务名,以便主库和备库之间进行通信:
```
ALTER SYSTEM SET SERVICE_NAMES='standby' SCOPE=BOTH;
```
5. 在备库上启动实例并连接到主库:
```
STARTUP NOMOUNT;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=primary LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=primary';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
ALTER DATABASE MOUNT STANDBY DATABASE;
```
6. 在主库上启用归档模式并启用归档日志传输:
```
ALTER DATABASE ARCHIVELOG;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=standby LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
```
7. 在备库上启动应用服务:
```
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
```
8. 在主库上创建一个 Data Guard broker 配置文件(可选):
```
DGMGRL> CREATE CONFIGURATION 'dgconfig' AS PRIMARY DATABASE IS 'primary' CONNECT IDENTIFIER IS primary;
DGMGRL> ADD DATABASE 'standby' AS CONNECT IDENTIFIER IS standby MAINTAINED AS PHYSICAL;
DGMGRL> ENABLE CONFIGURATION;
```
以上是在 Oracle 11g 中搭建 Data Guard 的基本步骤,您可以按照上述步骤进行操作。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)