Cài đặt tự động sao lưu cho cơ sở dữ liệu DM8

Chỉ dẫn cài đặt và cấu hình tự động sao lưu cho hệ quản trị cơ sở dữ liệu DM8.

Các lệnh thường dùng

Danh sách các lệnh cần thiết để quản lý dịch vụ, khởi động và dừng cơ sở dữ liệu:
  • Dịch vụ DmServiceDAMENG: Thay đổi tên file trong thư mục bin.
  • Đảm bảo đăng nhập bằng tài khoản dmdba và quyền SYSDBA để thực hiện các thao tác cấu hình.

Lưu ý quan trọng

Trước khi bắt đầu:
  • Phải cấu hình chế độ lưu trữ nhật ký (archiving) trước khi tiến hành sao lưu định kỳ.
  • Sử dụng tài khoản dmdba để tạo thư mục lưu trữ nhật ký.
  • Luôn đăng nhập dưới quyền SYSDBA khi cấu hình thông qua công cụ quản lý.

Bước 1: Kích hoạt chế độ lưu trữ nhật ký

DM8 có thể chạy ở hai chế độ: với hoặc không có lưu trữ nhật ký. Để đảm bảo tính toàn vẹn của dữ liệu trong quá trình sao lưu trực tuyến, cần kích hoạt chế độ lưu trữ.

// Chuyển sang trạng thái MOUNT
ALTER DATABASE MOUNT;

// Cấu hình lưu trữ nhật ký
ALTER DATABASE ADD ARCHIVELOG 'DEST = /dm_data/dm5236/archdsc, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 2048';

// Bật chế độ lưu trữ
ALTER DATABASE ARCHIVELOG;

// Trở về trạng thái OPEN
ALTER DATABASE OPEN;

Bước 2: Kiểm tra và tạo bản sao lưu thử nghiệm

Sau khi bật chế độ lưu trữ, kiểm tra trạng thái của tiến trình DMAP và tạo một bản sao lưu hoàn chỉnh để kiểm tra:

// Kiểm tra trạng thái DMAP
service DmAPService status

// Tạo bản sao lưu hoàn chỉnh
SP_BACKUP_FULL('PATH=/dm_data/dm5236/bak');

Tiếp tục tạo một bản sao lưu tăng dần dựa trên bản sao lưu hoàn chỉnh:

// Tạo bản sao lưu tăng dần
SP_BACKUP_INCREMENTAL('BASE_PATH=/dm_data/dm5236/bak', 'INCREMENTAL_PATH=/dm_data/dm5236/inc_bak');

Bước 3: Thiết lập sao lưu định kỳ

Thiết lập ba nhiệm vụ sao lưu:

  • Sao lưu hoàn chỉnh vào Chủ Nhật lúc 23:30.
  • Sao lưu tăng dần từ Thứ Hai đến Thứ Bảy lúc 23:30.
  • Xóa các bản sao lưu cũ hơn 30 ngày mỗi ngày vào lúc 00:00.

Tạo môi trường nhiệm vụ:

SP_INIT_JOB_SYS(1);

Tạo nhiệm vụ sao lưu hoàn chỉnh:

SP_CREATE_JOB(
    JOB_NAME='FULL_BACKUP_SUNDAY',
    SCHEDULE='WEEKLY',
    DAY='SUNDAY',
    TIME='23:30',
    ACTION='SP_BACKUP_FULL(''PATH=/dm_data/dm5236/bak'')'
);

Tạo nhiệm vụ sao lưu tăng dần:

SP_CREATE_JOB(
    JOB_NAME='INCREMENTAL_BACKUP_WEEKDAYS',
    SCHEDULE='DAILY',
    DAYS='MONDAY TO SATURDAY',
    TIME='23:30',
    ACTION='SP_BACKUP_INCREMENTAL(''BASE_PATH=/dm_data/dm5236/bak'', ''INCREMENTAL_PATH=/dm_data/dm5236/inc_bak'')'
);

Tạo nhiệm vụ xóa bản sao lưu cũ:

SP_CREATE_JOB(
    JOB_NAME='DELETE_OLD_BACKUPS',
    SCHEDULE='DAILY',
    TIME='00:00',
    ACTION='CALL SF_BAKSET_BACKUP_DIR_ADD(''DISK'', ''/dm_data/dm5236/bak''); CALL SP_DB_BAKSET_REMOVE_BATCH(''DISK'', NOW()-30);'
);

Kết luận

Sau khi thiết lập xong, kiểm tra thư mục sao lưu để đảm bảo các bản sao lưu được tạo đúng lịch trình.

Thẻ: DM8 database-backup sql

Đăng vào ngày 2 tháng 7 lúc 09:50