Table of Contents
DDL và DML là gì
Ngôn ngữ SQL được phân loại ra 1 vài nhóm, chủ yếu là 2 nhóm chính: DDL (Data Definition Language) và DML (Data Manuplulate Language).
Hiểu 1 cách nôm na thì như sau:
Trước tiên, trong database nói chung có 2 khái niệm: Data và Metadata
Mình giải thích về metadata trước nhé:
Metadata là cấu trúc của các đối tượng trong database.
(VD: Schema bao gồm những bảng nào, bảng này bao gồm những cột gì, cột có data type thế nào,…). Những thứ như thế gọi là metadata.
Còn Data là dữ liệu thật sự.
Dựa trên metadata đã được khai báo trước đó, chúng ta sẽ cho data vào database.
Lấy 1 ví dụ thực tế để bạn dễ hình dung:
Metadata giống như 1 cốc nước, còn Data giống như nước trong cốc.
Đó, nếu bạn đã hiểu về 2 khái niệm metadata và data rồi thì bạn sẽ hiểu luôn về các câu lệnh DDL và DML là gì.
- DDL bao gồm các câu lệnh SQL để làm việc với metadata. VD: create table để tạo ra 1 table, alter table để sửa table, drop table để xóa table,…
- DML bao gồm các câu lệnh SQL để làm việc với data. VD: Insert để thêm dữ liệu, update để sửa dữ liệu và delete để xóa dữ liệu.
Chức năng DDL Logging là gì?
Mặc định Oracle không ghi nhận lại các câu lệnh DML và DDL của người dùng vào trong trace file hay alert log.
Nên trong trường hợp chúng ta muốn biết tại 1 thời điểm nào đó, ai đó đã chạy câu lệnh gì thì khá khó.
Trên thực tế, số lượng các câu lệnh DML chạy trên database nhiều hơn rất nhiều lần các câu lệnh DDL. (Người ta truy vấn data thì nhiều chứ chả mấy khi thay đổi metadata cả). Nên nếu bạn mà muốn Oracle ghi nhận lại hết các câu lệnh DML thì không khả thi vì nó sẽ ảnh hưởng rất lớn đến hiệu năng của database.
Còn với các câu lệnh DDL thì lại khác, Oracle có thể ghi nhận lại chúng khá dễ dàng mà không ảnh hưởng mấy đến database. Tính năng này mặc định được disable trên Oracle. Nó gọi là DDL Logging.
Enable DDL Logging
Để enable tính năng DDL Logging, bạn thực hiện theo các bước như sau:
Kiểm tra giá trị hiện tại của tham số enable_ddl_logging
$ sqlplus / as sysdba
SQL> show parameter ddl_logging
Thay đổi giá trị tham số
alter system set enable_ddl_logging=true;
Như vậy là tính năng DDL Logging đã được enable lên rồi đó. Tiếp theo chúng ta sẽ kiểm thử xem tính năng này hoạt động như thế nào nhé.
Kiểm thử DDL Logging
Tôi sẽ thử chạy 1 câu lệnh DDL trên database như sau:
create table test (id number);
Đây là một câu lệnh DDL và nó sẽ được Oracle ghi nhận lại vào file ddl_<instance_name>.log đặt tại thư mục: $ORACLE_BASE/diag/rdbms/<db_name>/<instance_name>/log/
VD: Database test của tôi cả db name và instance name đều là orcl thì đường dẫn của file ddl log sẽ là:
$ cd $ORACLE_BASE/diag/rdbms/orcl/orcl/log/
$ ls -ltr
Đây là file DDL log
Nội dung của nó như sau:
OK, kết quả như trên là các bạn đã cấu hình thành công tính năng DDL logging rồi đó.
Hẹn gặp lại các bạn ở các bài viết tiếp theo
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é.
-
Giảm giá!
Combo khóa học Oracle Admin và RAC
13.000.000 ₫10.000.000 ₫ Đăng ký -
Giảm giá!
TOP 1
[Khóa học Zoom] Quản trị chuyên nghiệp Oracle RAC
9.000.000 ₫7.000.000 ₫ Đăng ký -
Giảm giá!
TOP 1
Combo học và thi chứng chỉ OCP
Được xếp hạng 5.00 5 sao15.750.000 ₫15.000.000 ₫ Đăng ký -
Giảm giá!
Combo khóa học Oracle Data Guard và Multitenant
5.000.000 ₫2.149.000 ₫ Đăng ký -
Giảm giá!
TOP 1
Combo tất cả các khóa quản trị Oracle Database
17.930.000 ₫12.000.000 ₫ Đăng ký -
Giảm giá!
[Khóa học Video] Quản trị hệ thống Oracle Data Guard
Được xếp hạng 5.00 5 sao3.000.000 ₫1.590.000 ₫ Đăng ký -
Giảm giá!
Voucher thi chứng chỉ OCP của Oracle
Được xếp hạng 5.00 5 sao6.700.000 ₫4.800.000 ₫ Đăng ký -
Giảm giá!
[Khóa học Video] Linux thật là đơn giản dành riêng cho DBA
Được xếp hạng 5.00 5 sao300.000 ₫100.000 ₫ Đăng ký -
Giảm giá!
[Khóa học Video] Các khái niệm phải biết về Database
Được xếp hạng 5.00 5 sao200.000 ₫50.000 ₫ Đăng ký -
Giảm giá!
[Khóa học Video] Quản lý Oracle Database theo kiến trúc Multitenant
Được xếp hạng 5.00 5 sao2.000.000 ₫1.190.000 ₫ Đăng ký -
Giảm giá!
TOP 1
[Khóa học Zoom] Quản trị Oracle Database thật là đơn giản
Được xếp hạng 4.95 5 sao8.000.000 ₫6.000.000 ₫ Đăng ký