Nội dung tóm tắt
Ở bài viết này, tôi sẽ hướng dẫn bạn thủ tục để chuyển database của bạn về chế độ Archive log mode
Kiểm tra xem chế độ Archive log mode đã được bật hay chưa
Đầu tiên, bạn hãy login vào database bằng user SYS
sqlplus / as sysdba
Sau đó, bạn hãy kiểm tra xem database của bạn đang ở chế độ nào (No archive log mode hay Archive log mode)
archive log list
Kết quả như hình trên có nghĩa là database của bạn đang ở chế độ No archive log mode
Các bước tiến hành
Bây giờ tôi sẽ chuyển database về chế độ Archive log mode theo các bước như sau:
Đầu tiên, tôi sẽ cần tạo ra một thư mục (hay phân vùng) để lưu trữ archive log trên hệ điều hành.
# mkdir -p /backup/archive # chown oracle:oinstall /backup/archive
Như các bạn thấy, ở đây tôi sẽ sử dụng thư mục /backup/archive để lưu trữ archive log
Tiếp theo tôi sẽ thay đổi tham số để Oracle sẽ ghi archive vào thư mục này
SQL> alter system set log_archive_dest_1='location=/backup/archive/'; System altered. SQL> alter system set log_archive_dest_state_1=enable; System altered.
Tiếp tục, tôi sẽ shutdown instance và đưa database về trạng thái mount
SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down.
Đưa về trạng thái mount
SQL> startup mount ORACLE instance started. Total System Global Area 2483027968 bytes Fixed Size 8795808 bytes Variable Size 671091040 bytes Database Buffers 1795162112 bytes Redo Buffers 7979008 bytes Database mounted.
Bây giờ tôi sẽ kích hoạt chế độ Archive log mode lên bằng câu lệnh:
SQL> alter database archivelog; Database altered.
Và cuối cùng là open database.
SQL> alter database open; Database altered.
Kiểm tra lại kết quả
Như vậy là tôi đã cấu hình xong database về trạng thái Archive log mode, các bước kiểm tra như sau
Đầu tiên bạn dùng câu lệnh archive log list để xác nhận lại chế độ database đang hoạt động
Như các bạn thấy, database hiện đã ở chế độ Archive log mode và thư mục để chứa archive log đó là /backup/archive.
Bước tiếp theo các bạn kiểm tra xem archive log có ghi được xuống thư mục /backup/archive hay không bằng câu lệnh sau:
$ cd /backup/archive/ $ ls -l total 0
Như các bạn thấy, hiện vẫn chưa có archive log nào trong thư mục /backup/archive. Để có archive log trong thư mục này, Oracle phải ghi đầy 1 redo log group trước đã. Tôi sẽ thử dùng câu lệnh sau để ép Oracle ghi archive log như sau:
SQL> alter system switch logfile; System altered.
Và giờ tôi sẽ kiểm tra lại
$ ls -ltr total 54068 -rw-r-----. 1 oracle oinstall 55363072 Jun 8 22:44 1_400_1062435207.dbf
Kết quả như trên là OK rồi đó.
Chú ý:
Trên thực tế, người ta thường lưu trữ Archive log trên phân vùng Fast Recovery Area (hay FRA). Đây là 1 phân vùng được chỉ định cho Oracle Database để chuyên lưu các file backup, archive log hay flashback log,… những file có tác dụng khôi phục database.
Bạn có thể cấu hình để lưu Archive log vào phân vùng FRA bằng cách chỉnh sửa tham số như sau:
SQL> alter system set log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST';
Nếu bạn có thắc mắc gì, hãy comment ở phía dưới bài viết hoặc gửi cho tôi trong group “Kho tài liệu kiến thức Database” nhé. Trong đó tôi cũng post khá nhiều tài liệu về Database hay đấy.
Nguồn: https://dangxuanduy.com/
- Sử dụng Database link trong Oracle - 14/06/2022
- Restore database Oracle ở NOARCHIVELOG Mode - 08/06/2022
- Lộ trình trở thành DBA như thế nào? - 02/06/2022