Mục lục
1. Giới thiệu
Ở 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
2. 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
3. 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.
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.
4. 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/
Hiện tại, tôi có tổ chức đều đặn các khóa học về quản trị Oracle Database, tôi sẽ để thông tin ở đây, để bạn nào quan tâm về lịch học cũng như chương trình học có thể theo dõi nhé.
KHOÁ DÀNH CHO NGƯỜI MỚI
KHÓA HỌC: QUẢN TRỊ ORACLE DATABASE THẬT LÀ ĐƠN GIẢN (ADMIN 1)
CÁC KHOÁ NÂNG CAO:
KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ KIẾN TRÚC MULTITENANT 12c
KHÓA HỌC ORACLE NÂNG CAO: QUẢN TRỊ HỆ THỐNG DATA GUARD
CÁC KHOÁ COMBO:
COMBO 1: ADMIN 1 + MULTITENANT 12c
COMBO 3: ADMIN 1 + MULTITENANT 12c + DATA GUARD
LỊCH HỌC:
Mời bạn xem tại đây: LỊCH HỌC CÁC LỚP ORACLE
ĐĂNG KÝ:
https://forms.gle/MtCAoRQFenP886y79
Hãy tham gia group “Kho tài liệu kiến thức database” để cùng học hỏi và chia sẻ nhé.
Anh ơi cho em hỏi
Nếu dung lượng của DB có giới hạn và mình muốn tắt chế độ Archive Log thì làm sao ạ?
Em có thể làm theo các bước sau nhé:
shutdown immediate
startup mount
alter database noarchivelog;
alter database open;