Ở đây tôi đã chỉ cách thay đổi mật khẩu SYS trong Oracle data guard. Nếu bạn cần thay đổi mật khẩu nhiều lần trong cơ sở dữ liệu chính vì bất kỳ lý do bảo mật nào thì cách 2 sẽ là lựa chọn tốt.
Cách 1:
Sau khi thay đổi mật khẩu SYS trong cơ sở dữ liệu chính (primary database), hãy sao chép mật khẩu vào tất cả các vị trí dự phòng (standby database)
Các bước thực hiện:
1. Thay đổi mật khẩu sys trong cơ sở dữ liệu chính
2. Sao chép tệp mật khẩu từ cơ sở dữ liệu chính sang tất cả cơ sở dữ liệu dự phòng
-- Primary
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
238
SQL> alter system switch logfile;
System altered.
-- Alert log file ở Primary
Wed Aug 10 10:37:24 2016
Thread 1 advanced to log sequence 240 (LGWR switch)
Current log# 1 seq# 240 mem# 0: +REDO/stdb3_dg/onlinelog/group_1.267.908899489
Wed Aug 10 10:37:26 2016
LNS: Standby redo logfile selected for thread 1 sequence 240 for destination LOG_ARCHIVE_DEST_3
Wed Aug 10 10:37:40 2016
Archived Log entry 206 added for thread 1 sequence 239 ID 0xa806c167 dest 1:
SQL> select process, status from v$managed_standby;
PROCESS STATUS
--------------------------- ------------------------------------
ARCH CONNECTED
ARCH CONNECTED
ARCH CONNECTED
ARCH CLOSING
ARCH CLOSING
ARCH CLOSING
ARCH CLOSING
ARCH CLOSING
ARCH CLOSING
ARCH CLOSING
LNS WRITING
11 rows selected.
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
239
-- Standby
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
239
-- Primary
SQL> alter user SYS identified by test123;
User altered.
SQL> alter system set log_archive_dest_state_3=DEFER scope=both;
System altered.
SQL> alter system switch logfile;
System altered.
SQL> alter system set log_archive_dest_state_3=enable scope=both;
System altered.
-- Primady database alert log file
Error 1031 received logging on to the standby
PING[ARC2]: Heartbeat failed to connect to standby 'STDB4_DG'. Error is 1031.
-- Standby database
-- Copy Password file từ primary sang Standby
scp oracle@stagedb3:/opt/oracle/product/11.2.0.3/dbs/orapwSTDB3_DG /opt/oracle/product/11.2.0.3/dbs/
-- Thay đổi tên password file thành orapw<SID> of standby
mv /opt/oracle/product/11.2.0.3/dbs/orapwSTDB3_DG /opt/oracle/product/11.2.0.3/dbs/orapwSTDB4_DG
-- Alert log ở Primary Database
Wed Aug 10 12:14:48 2016
******************************************************************
LGWR: Setting 'active' archival for destination LOG_ARCHIVE_DEST_3
******************************************************************
Wed Aug 10 12:14:48 2016
ARC4: Standby redo logfile selected for thread 1 sequence 241 for destination LOG_ARCHIVE_DEST_3
LNS: Standby redo logfile selected for thread 1 sequence 242 for destination LOG_ARCHIVE_DEST_3
Vì vậy, chúng ta đã thấy ở đây sau khi sao chép tệp mật khẩu từ redo log chính sang dự phòng, việc vận chuyển redo log từ chính sang dự phòng bắt đầu hoạt động trở lại và lỗi ““Heartbeat failed to connect to standby 'STDB4_DG'. Error is 1031” đã biến mất.
Lựa chọn 2:
Đôi khi vì lý do bảo mật, chúng ta có thể cần phải thay đổi mật khẩu hệ thống nhiều lần trong cơ sở dữ liệu chính nhưng xét đến số lượng cơ sở dữ liệu dự phòng thì việc sao chép tệp mật khẩu từ cơ sở dữ liệu chính sang cơ sở dữ liệu dự phòng là rất phiền phức. Để giải quyết vấn đề này, Oracle giới thiệu một tính năng từ môi trường Data Guard 11.2.0.x trở lên. Sử dụng tham số REDO_TRANSPORT_USER, chúng ta phải tránh sao chép tệp mật khẩu vào cơ sở dữ liệu dự phòng sau khi thay đổi mật khẩu SYS. Ở đây tôi đã chỉ cho bạn cách thực hiện.
Các bước thực hiện:
1. Tạo một người dùng và cấp quyền sysoper cho người dùng đó hoặc bạn có thể cấp quyền sysoper cho người dùng hiện tại
2. Thay đổi tham số REDO_TRANSPORT_USER trong cả cơ sở dữ liệu chính và cơ sở dữ liệu dự phòng.
3. Sao chép tệp mật khẩu vào tất cả cơ sở dữ liệu dự phòng
-- Primary database
SQL> column USERNAME format a30
SQL> column SYSDBA format a25
SQL> column SYSOPER format a25
SQL> column SYSASM format a25
SQL> select * from V$PWFILE_USERS;
USERNAME SYSDBA SYSOPER SYSASM
------------------------------ ------------------------- -------------------------
SYS TRUE TRUE FALSE
SQL> create user redotrans identified by 123;
User created.
SQL> grant sysoper to redotrans;
Grant succeeded.
SQL> select * from V$PWFILE_USERS;
USERNAME SYSDBA SYSOPER SYSASM
------------------------------ ------------------------- -------------------------
SYS TRUE TRUE FALSE
REDOTRANS FALSE TRUE FALSE
SQL> ALTER SYSTEM SET REDO_TRANSPORT_USER = REDOTRANS scope=both;
System altered.
-- Standby
SQL> ALTER SYSTEM SET REDO_TRANSPORT_USER = REDOTRANS scope=both;
System altered.
--Bây giờ copy password file từ primary sang standby
-- Standby database
scp oracle@stagedb3:/opt/oracle/product/11.2.0.3/dbs/orapwSTDB3_DG /opt/oracle/product/11.2.0.3/dbs/
-- Thay đổi tên password file thành orapw<SID> ở standby
mv /opt/oracle/product/11.2.0.3/dbs/orapwSTDB3_DG /opt/oracle/product/11.2.0.3/dbs/orapwSTDB4_DG
-- Test thử lại
-- Primary
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
274
SQL> alter system switch logfile;
System altered.
-- Standby
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
275
-- Primary
SQL> alter user SYS identified by 456;
User altered.
SQL> alter system set log_archive_dest_state_3=DEFER scope=both;
System altered.
SQL> alter system switch logfile;
System altered.
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
276
-- Standby
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
275
-- Primary
SQL> alter system set log_archive_dest_state_3=enable scope=both;
System altered
-- Alert log file in Primary Database
Wed Aug 10 16:17:58 2016
******************************************************************
LGWR: Setting 'active' archival for destination LOG_ARCHIVE_DEST_3
******************************************************************
Wed Aug 10 16:17:58 2016
ARC4: Standby redo logfile selected for thread 1 sequence 276 for destination LOG_ARCHIVE_DEST_3
LNS: Standby redo logfile selected for thread 1 sequence 277 for destination LOG_ARCHIVE_DEST_3
Vì vậy, bạn đã thấy ở đây ngay cả khi tôi đã thay đổi nhật ký mật khẩu SYS từ chế độ chờ chính sang chế độ chờ hoạt động tốt mà không có bất kỳ lỗi nào.
Bây giờ bạn có thể thay đổi mật khẩu SYS nhiều lần tùy thích mà không cần sao chép tệp mật khẩu vào tất cả cơ sở dữ liệu dự phòng nhưng lưu ý rằng nếu bạn thay đổi mật khẩu của người dùng (ví dụ: người dùng REDOTRANS ở đây) bằng tham số REDO_TRANSPORT_USER thì bạn sẽ cần sao chép tệp mật khẩu vào mọi cơ sở dữ liệu dự phòng.
Website không bao giờ chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn muốn tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ kinh nghiệm, thủ tục, quy trình, bí kíp thực chiến mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin1_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty