暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

允许SQL逻辑备用事务

原创 CiciLee 2022-08-27
243

在今天的文章中,我们将讨论在逻辑待机中允许事务。

安装逻辑备用数据库后,除 SYS 之外的其他用户即使具有 dba 权限也不能进行 WRITE。 他们需要授权才能这样做。 该权限如下。

1.我们正在质疑数据库的GUARD状态。

 [Logical-1]
 SQL> column guard_status format a15
 SQL> select guard_status from v$database;
 
 GUARD_STATUS
 ---------------
 ALL

复制

这里;
ALL:除了SYS,没有用户可以写任何对象。
STANDBY:不允许对 SQL APPLY 进程处理的任何对象进行操作。
NONE:有正常的安全性。 谁有权采取行动,谁就做什么。

2.我们授予用户DBA授权。

 [Logical-1]
 SQL> grant dba to test;
 
 Grant succeeded.

复制
  1. 用户试图删除表中的一行。
 [Logical-1]
 SQL> conn test/test
 Connected.
 SQL> show user
 USER is "TEST"
 SQL> select * from test.regions_yedek;
 
 REGION_ID REGION_NAME
 ---------- -------------------------
          1 Europe
          2 Americas
          3 Asia
          4 Middle East and Africa
 
 SQL> delete test.regions_yedek where region_id = 1;
 delete test.regions_yedek where region_id = 1
             *
 ERROR at line 1:
 ORA-16224: Database Guard is enabled

复制
  1. 我们将 GUARD 状态拉到 STANDBY。
 [Logical-1]
 SQL> ALTER DATABASE GUARD STANDBY;
 
 Database altered.
 
 SQL> delete test.regions_yedek where region_id = 1;
 delete test.regions_yedek where region_id = 1
             *
 ERROR at line 1:
 ORA-16224: Database Guard is enabled

复制
  1. GUARD状态设置为NONE,保证交易完成。
 [Logical-1]
 SQL> ALTER DATABASE GUARD NONE;
 
 Database altered.
 
 SQL> delete test.regions_yedek where region_id = 1;
 
 1 row deleted.
 
 SQL> commit;
 
 Commit complete.
 
 SQL> select * from test.regions_yedek;
 
 REGION_ID REGION_NAME
 ---------- -------------------------
          2 Americas
          3 Asia
          4 Middle East and Africa

复制

原文标题:Allowing Transactions in Logical Standby
原文作者:Onur ARDAHANLI
原文地址:https://dbtut.com/index.php/2022/04/12/allowing-transactions-in-logical-standby/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论