从 Oracle 12c 开始,我们可以向用户授予“SYSDG”管理权限,以便他们可以执行与 Data Guard 相关的操作,包括使用 Data Guard Broker。
不再需要使用 SYS 或者 SYSDBA 进行 Data Guard 管理。
只需将此权限授予 SQL*PLUS 中的用户:
SQL> grant sysdg to [USER];
例子:
SQL> grant sysdg to scott;
由于这是一个管理权限,我们必须在授予成功后再次将 Oracle 密码文件复制到所有物理备用数据库。
这将确保用户能够在备用数据库未打开时访问它们。
我们可以使用此查询来验证和比较来自主数据库和每个已安装或者打开的备用数据库的 SYSDG 的当前密码文件内容:
SQL> select username from v$pwfile_users where sysdg='TRUE';
一旦获得授权,我们就可以通过 SQL*PLUS 或者 DGMGRL 连接到 Data Guard 配置。
例如:
SQL> connect scott/[Password]@[Database_TNS] as sysdg
或者
DGMGRL> connect scott/[Password]@[Database_TNS]
SYSDG 管理特权提供对以下 SQL 操作以及所有 DGMGRL 命令行操作的访问:
- STARTUP
- SHUTDOWN
- ALTER DATABASE
- ALTER SESSION
- ALTER SYSTEM
- CREATE RESTORE POINT (including GUARANTEED Restore Points)
- CREATE SESSION
- DROP RESTORE POINT (including GUARANTEED Restore Points)
- FLASHBACK DATABASE
- SELECT ANY DICTIONARY (DBA_ Views)
- SELECT
- X$ Tables
- V$ and GV$ Views
- APPQOSSYS.WLM_CLASSIFIER_PLAN
- DELETE
- APPQOSSYS.WLM_CLASSIFIER_PLAN
- EXECUTE
- SYS.DBMS_DRS
注意:如果未设置 SYSDG,则在使用 DGMGRL 时可能会在审计跟踪中记录 ORA-1017 和 ORA-1031 错误,因为它会尝试首先尝试使用 AS SYSDG。
日期:2020-09-17 00:11:28 来源:oir作者:oir