Oracle 12c DG管理-分離SYS特權使用者
Oracle 資料庫日常運維中的對於使用者的管理,我們堅持合理授權,安全第一,許可權最小,按需授予,責任分離的原則進行合理授權。基於安全考慮大多使用者在不影響現有生產環境的前提下回收了非必要的 SYS 特權,本文主要介紹使用非 sys 使用者進行 DG 管理。我們使用 12c 的 SYSDG 角色和設定 REDO_TRANSPORT_USER 引數可以實現 SYS 特權使用者的分離。
在建立 Oracle12c 資料庫時,為了方便資料庫管理員的分工,會自動建立如下使用者 :SYSBACKUP 、 SYSDG 、 SYSKM 。
SYSDG 便於資料保護操作。使用者可以使用 Data Guard Broker 或 DGMGRL 命令列介面執行操作。
SYSDG 使用者,具有 SYSDG 管理員許可權,可以執行 Data Guard 操作。
您可以在 Data Guard Broker 或 DGMGRL 命令列介面上使用此特權。為了使用密碼以 SYSDG 的身份連線資料庫,您必須為它建立一個密碼檔案。不能將 SYSYSDG 管理員許可權授予建立時沒有身份驗證的使用者。
SYSDG 許可權可以執行以下操作 :
·
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
·
SELECT
·
X$
tables (that is, the fixed tables)
·
V$
and
GV$
views (that is, the dynamic performance views)
·
APPQOSSYS.WLM_CLASSIFIER_PLAN
·
DELETE
·
APPQOSSYS.WLM_CLASSIFIER_PLAN
·
EXECUTE
·
SYS.DBMS_DRS
通過設定REDO_TRANSPORT_USER引數調整DG同步使用者。 REDO_TRANSPORT_USER 指定當遠端登入密碼檔案用於重做傳輸身份驗證時,使用其密碼驗證器的使用者名稱。該使用者必須具有 SYSOPER 許可權,並且在啟動重做傳輸會話的資料庫和重做傳輸會話的目標資料庫中必須具有相同的密碼。
該引數值區分大小寫,必須與 V$PWFILE_USERS 檢視中 USERNAME 列的值完全匹配。該行的 SYSOPER 列的值也必須為 TRUE 。
如果未指定此引數,則當使用遠端登入密碼檔案進行重做傳輸身份驗證時,將使用 SYS 使用者的密碼驗證器。
以下是實施步驟:
1、 確認資料庫版本 SQL> select BANNER from v$version; BANNER ---------------------------------------------------------------------- Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production PL/SQL Release 12.2.0.1.0 - Production CORE 12.2.0.1.0 Production TNS for Linux: Version 12.2.0.1.0 - Production NLSRTL Version 12.2.0.1.0 – Production SQL> select name,cdb from v$database; NAME CDB --------- --- CDB122 YES 2、 在主庫新建DG維護使用者。 12c多租戶環境下DG是基於CDB的搭建並進行管理的,所以這裡我們建立公共使用者。 SQL> create user c##dgadmin identified by Oracle_123 2 password expire; User created. SQL> col username for a20 SQL> col account_status for a20 SQL> col common for a20 SQL> col con_id for 99999 SQL> select USERNAME,ACCOUNT_STATUS,COMMON,CON_ID from cdb_users where username='C##DGADMIN'; USERNAME ACCOUNT_STATUS COMMON CON_ID --------------- -------------------- ---------- ------- C##DGADMIN EXPIRED YES 1 C##DGADMIN EXPIRED YES 3 3、 給使用者授權 SQL> grant sysoper,sysdg,connect to C##DGADMIN; Grant succeeded. 4、 確認v$pwfile_users 在主庫執行以下語句,確保C##DGADMIN的SYSDG和SYSOPER為true。 SQL> select username,sysdba,sysoper,sysdg from v$pwfile_users; USERNAME SYSDBA SYSOPER SYSDG -------------------- -------------------- -------------------- ---------- SYS TRUE TRUE FALSE SYSDG FALSE FALSE TRUE SYSBACKUP FALSE FALSE FALSE SYSKM FALSE FALSE FALSE C##DGADMIN FALSE TRUE TRUE SQL> 5、 確認主庫口令檔案位置 srvctl config database -db cdb122 Password file: +data/cdb122/orapwdcdb122 6、 將主庫的密碼檔案複製到備庫 主庫: su -grid asmcmd ASMCMD>cp +data/cdb122/orapwdcdb122 /home/grid 以grid使用者將密碼檔案從主庫傳輸到備庫 scp orapwdcdb122 grid@stdb:/home/grid 備庫: asmcmd ASMCMD>cp /home/grid/orapwdcdb122 +data/stdbcdb122/orapwdcdb122 7、 確認密碼檔案是否生效 在主庫執行以下語句,確保C##DGADMIN的SYSDG和SYSOPER為true。 SQL> select username,sysdba,sysoper,sysdg from v$pwfile_users; USERNAME SYSDBA SYSOPER SYSDG -------------------- -------------------- -------------------- -------------------- SYS TRUE TRUE FALSE SYSDG FALSE FALSE TRUE SYSBACKUP FALSE FALSE FALSE SYSKM FALSE FALSE FALSE C##DGADMIN FALSE TRUE TRUE 8、修改REDO_TRANSPORT_USER引數 主庫 SQL>sqlplus / as sysdba SQL>alter system set redo_transport_user= C##DGADMIN scope=both; 備庫 SQL>sqlplus / as sysdba SQL>alter system set redo_transport_user= C##DGADMIN scope=both; 8、 重啟mrp程式 備庫: SQL>alter database recover managed standby database cancel; SQL>shutdown immediate sqlplus C##DGADMIN/Oracle_123 as sysdg SQL>startup SQL>alter database recover managed standby database using current logfile disconnect from session; 主庫: 切歸檔 SQL>alter system archive log current; 檢查歸檔日誌是否應用 SQL> select NAME,THREAD#,SEQUENCE#,REGISTRAR,APPLIED,COMPLETION_TIME from v$archived_log where name is not null and COMPLETION_TIME>sysdate-3 order by 6,3; -The end-
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28373936/viewspace-2757105/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle DG管理Broker配置Oracle
- Oracle使用者角色許可權管理Oracle
- Oracle DG管理Redo Transport服務Oracle
- Disable the Evolve Job SYS_AUTO_SPM_EVOLVE_TASK in Oracle 12cOracle
- Oracle linux 7.5安裝oracle 12c dg一直提示ORA-01017OracleLinux
- Oracle DG Broker配置的管理週期Oracle
- Oracle DG管理資料庫屬性Oracle資料庫
- Oracle 12C TDE問題引發DG不同步案例分析Oracle
- Oracle 12c DG備庫啟動報錯standby database requires recoveryOracleDatabaseUI
- Oracle 12c CDB&PDBs管理Oracle
- 5分鐘,徹底精通Oracle DG切換Oracle
- Oracle DG 管理Broker配置成員的狀態Oracle
- Oracle 12c rac ocr和votedisk管理Oracle
- Oracle 如何恢復sys使用者歷史密碼Oracle密碼
- Oracle:DG 的 switchoverOracle
- oracle dg報錯Oracle
- openGauss-控制權和訪問權分離
- jumpserver 使用者,系統使用者和管理使用者 普通使用者和特權使用者 區別Server
- oracle 使用者管理Oracle
- Oracle DG備庫手動管理新增資料檔案Oracle
- [20190107]12c以上版本配置dg注意.txt
- Oracle 12c系列(三)|儲存資源隔離 Flex DiskgroupOracleFlex
- Oracle RAC+DG搭建Oracle
- Oracle DG 日常點檢Oracle
- Oracle建立使用者和授權Oracle
- 許可權管理之多租戶隔離授權
- 【DG】Oracle之級聯DG--(cascade dg) --(一主一備一級聯)Oracle
- 3分鐘短文:任命管理員,給Laravel普通使用者提權Laravel
- Oracle 12c的DG自動同步密碼檔案--ASM 新特性:共享密碼檔案Oracle密碼ASM
- ORACLE DG之備庫角色Oracle
- Oracle DG運維常用SQLOracle運維SQL
- oracle dg切換操作示例Oracle
- ORACLE 11.2.0.4 DG(Broker) for linux 部署OracleLinux
- Oracle DG Standby Database型別OracleDatabase型別
- Oracle DG建立Physical Standby DatabaseOracleDatabase
- Oracle DG建立Logical Standby DatabaseOracleDatabase
- 【DG】Oracle 19c使用dbca來搭建物理DGOracle
- 11gR2 rac中使用者角色分離及常見oracle bin程式及ASM磁碟許可權問題彙總OracleASM