alter system switch logfile和alter system archive log current的区别

alter system switch logfile 是强制日志切换,不一定就归档当前的重做日志文件(若自动归档打开,就归档前的重做日志,若自动归档没有打开,就不归档当前重做日志。)
alter system archive log current 是归档当前的重做日志文件,不管自动归档有没有打都归档。
主要的区别在于:
ALTER SYSTEM SWITCH LOGFILE对单实例数据库或RAC中的当前实例执行日志切换;
而ALTER SYSTEM ARCHIVE LOG CURRENT会对数据库中的所有实例执行日志切换。

为什么执行热备后要执行alter system archive log current 这个语句,看到很多脚本都是这样写的。
是不是必须的?

一般的RMAN脚本都是这样写的,因为RMAN是可以备份归档日志的。alter system archive log current 这样后就可以将所有的归档都备份出来了。这样做是为了保证数据的完整和一致。

ALTER SYSTEM SWITCH LOGFILE ;
SWITCH LOGFILE Clause
The SWITCH LOGFILE clause lets you explicitly force Oracle to begin writing to a new redo log file group, regardless of whether the files in the current redo log file group are full. When you force a log switch, Oracle begins to perform a checkpoint but returns control to you immediately rather than when the checkpoint is complete. To use this clause, your instance must have the database open.

ALTER SYSTEM ARCHIVE LOG CURRENT ;
CURRENT Clause
Specify CURRENT to manually archive the current redo log file group of the specified thread(instance), forcing a log switch. If you omit the THREAD parameter, then Oracle archives all redo log file groups from all enabled threads(instances), including logs previous to current logs. You can specify CURRENT only when the database is open.

ALTER SYSTEM ARCHIVE LOG CURRENT NOSWITCH;
NOSWITCH
Specify NOSWITCH if you want to manually archive the current redo log file group without forcing a log switch. This setting is used primarily with standby databases to prevent data divergence when the primary database shuts down. Divergence implies the possibility of data loss in case of primary database failure.

You can use the NOSWITCH clause only when your instance has the database mounted but not open. If the database is open, then this operation closes the database automatically. You must then manually shut down the database before you can reopen it.

修复STANDBY_MANAGEMENT设置成MANUAL,创建datafile导致的错误的步骤如下: 1. 首先,检查错误日志以获取更多信息。你可以使用以下命令访问错误日志: ```sql SELECT name, value FROM v$parameter WHERE name LIKE '%background_dump_dest%'; ``` 在返回的结果中,找到包含 "alert" 字样的目录,并打开其中的 alert.log 文件。在文件中搜索包含 "ORA-" 或 "error" 字样的行,以查看有关错误的详细信息。 2. 确认数据库是否处于归档模式。如果是,则可以尝试执行以下步骤: - 在主数据库上运行以下命令: ```sql ALTER SYSTEM SWITCH LOGFILE; ``` - 在备用数据库上运行以下命令: ```sql ALTER DATABASE RECOVER MANAGED STANDBY DATABASE; ``` 3. 如果数据库未处于归档模式,则需要在主数据库上手动备份控制文件和日志文件,然后将它们复制到备用数据库。执行以下步骤: - 在主数据库上运行以下命令: ```sql ALTER SYSTEM SWITCH LOGFILE; ALTER SYSTEM CHECKPOINT; ALTER SYSTEM ARCHIVE LOG CURRENT; ``` 这将创建一个新的归档日志文件,并将它们备份到控制文件和日志文件中。 - 将备份的控制文件和日志文件复制到备用数据库,并将其替换为现有的控制文件和日志文件。 - 在备用数据库上运行以下命令: ```sql ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT; ``` 这将使备用数据库启动自动恢复过程并将其带到与主数据库同步的状态。 请注意,如果你不熟悉执行此类操作,最好联系专业人员进行支持和帮助,以避免可能的数据丢失或其他问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值