- Giới thiệu về kiểm soát hệ thống Oracle
- Kích hoạt chế độ kiểm soát chuẩn
- Thiết lập Audit với tham số DB
- Thiết lập Audit với tham số DB,EXTENDED
- Thiết lập Audit với tham số XML
- Thiết lập Audit với tham số XML,EXTENDED
- Xem các tham số liên quan
- Sử dụng các điều kiện kiểm soát
- Tham số WHENEVER NOT SUCCESSFUL
- By Session và By Access
- Sử dụng lệnh Audit
- Audit Session
- AUDIT NOT EXIST
- Sử dụng Audit trên các đối tượng
- Kiếm soát trên các đối tượng chưa tạo ra
- Kiểm soát Views
- Sử dụng Audit trên đặc quyền
- Kiểm soát các lỗi không mong muốn trên lớp Network
- Đọc bản ghi kiểm soát
- Hiển thị những gì đang được kiểm soát
- Sử dụng NoAudit
- Thảo luận kiểm soát và hiệu suất
- Những quan điểm quan trọng cần nhớ
1- Giới thiệu về kiểm soát hệ thống Oracle
Kiểm soát (Auditing) là giám sát và ghi lại (monitoring and recording) các hành động đã được cấu hình trong database. Bao gồm các hành động từ cả hai loại người dùng (user) database user và nondatabase user.
Nonedatabase Users:
Nondatabase Users: Đây là các người dùng của một ứng dụng nào đó. Ứng dụng này sử dụng cơ sở dữ liệu Oracle, và vì vậy họ có thể thực thi các hành động đối với cơ sở dữ liệu. Các người dùng này cần được nhận dạng trong cơ sở dữ liệu sử dụng thuộc tính CLIENT_IDENTIFIER. Việc kiểm soát các người dùng này phức tạp hơn so với việc kiểm soát các người dùng của cơ sở dữ liệu (Database users).
Kiểm soát (Auditing) là một công việc cần thiết và quan trọng với người quản trị cơ sở dữ liệu. Nó là một công cụ hiệu quả chống lại các việc làm sai trái. Và luôn được thực hiện đầu tiên trong bất kỳ sáng kiến nào về an ninh trong Oracle.
Ngoài ra còn một số lý do khác cần kiểm soát:
- Kiểm soát viên kiểm soát người dùng sử dụng đặc quyền tiếp cận các đối tượng nhạy cảm.
- Kiểm soát lần theo vết (Audit Trail) ngăn chặn rất hiệu quả người dùng thực hiện những điều sai trái.
- Audit Trail là việc làm bắt buộc nếu bạn phải điều tra để tìm hiểu vấn đề gì thực hiện sai trái.
- Audit Trail cảnh báo bạn các hoạt động đáng ngờ, bạn có thể thực hiện phân tích những gì bạn chưa rõ.
- Audit Trail là rất quan trọng khi định nghĩa điều khiển việc truy nhập, đặc biệt trong các ứng dụng hiện có.
- Rất khó xác định "chính sách kiểm soát việc truy cập" sẽ không phá vỡ quy trình nghiệp vụ, trừ khi bạn biết tình trạng hiện tại và họ đang làm những gì.
Audit Trail (Kiểm soát lần theo dấu vết)
- Các hành động kiểm soát tạo ra một Audit Trail, bao gồm các bản ghi cho phép tìm những gì đã được thực hiện trong cơ sở dữ liệu.
- Căn cứ vào đó để biết những gì các user đã làm, và những đặc quyền nào đã sử dụng…
- Đối với mỗi bản ghi có các thông tin quan trọng như:
- Ai đã thực hiện
- Thực hiện ở đâu (Schema nào hay Object nào)
- Thực hiện khi nào.
- Thực hiện như thế nào (Các câu lệnh SQL nào được thực hiện).
- Cũng như các thông tin hữu ích khác trong việc điều tra giám sát.
Standard Audit (Kiểm soát chuẩn) là cơ sở kiểm soát toàn diện và đầy đủ nhất trong cơ sở dữ liệu Oracle. Nó cho phép kiểm soát hành động (Action), loại hành động, đối tượng, đặc quyền (Privilege), user truy cập..
Có 2 giai đoạn liên quan đến sử dụng Standard Audit.
- Kích hoạt cơ chế kiểm soát (Audit).
- Xác định các chuyên mục (category) cần kiểm soát, tức là xác định các hành động nào sẽ được ghi lại dấu vết (Tạo ra Audit Trail).
Để kích hoạt chế độ kiểm soát cơ sở dữ liệu, bạn cần truy cập vào Oracle với user có đặc quyền sysdba.
Các dấu vết kiểm soát (Audit trail) có thể là một bảng dữ liệu hoặc 1 tập tin trên hệ điều hành. Nếu kiểm soát viên không có đặc quyền (privilege) DBA, tốt nhất nên lưu trữ các thông tin kiểm soát trên các tập tin. Có 4 cách để thiết lập cách thức lưu trữ "các dấu vết kiểm soát".
Tham số | Giải thích |
DB | Dấu vết được lưu trữ trong bảng AUD$, chỉ chứa lệnh (statement) không phải văn bản đầy đủ. |
DB,EXTENDED | Dấu vết được lưu trữ trong bảng AUD$, văn bản đầy đủ (Giá trị các biến (variable) đối với mỗi bản ghi..) |
XML | Dấu vết được lưu trữ trên tập tin của hệ điều hành, theo định dạng XML, nội dung giống tham số DB. |
XML,EXTENDED | Dấu vết được lưu trữ trên tập tin của hệ điều hành, theo định dạng XML, nội dung giống tham số DB,EXTENDED. |
Trước hết, bạn cần kích hoạt chế độ kiểm soát với tham số là DB (audit_trail = DB), thực hiện các lệnh dưới đây:
* SQLPLUS *
Trong ví dụ này chúng ta sẽ thực hiện kiểm soát (audit) bảng cho Scott.EMP, với tham số DB, điều đó có nghĩa là các "dấu vết kiểm soát" (audit trail) sẽ được lưu trữ trong cơ sở dữ liệu (Cụ thể là lưu trữ vào bảng AUD$).
Sử dụng một user khác để thể thực hiện một vài hành động trên bảng Scott.EMP, chẳng hạn update. Các hành động này sẽ được lưu lại trên bảng AUD$.
Truy vấn (query):
Thiết lập chế độ kiểm soát với tham số audit_trail = DB,EXTENDED.
Thực hiện hành động update trên bảng Scott.EMP:
Sử dụng một user khác để thực hiện một hành động nào đó trên bảng Scott.EMP:
Sử dụng tham số audit_trail = xml các "dấu vết kiểm soát (audit trail)" sẽ được lưu trữ vào các tập tin có định dạng XML.
Các tập tin Audit thường nằm trong thư mục adump. Tuy nhiên để biết chính xác, bạn có thể sử dụng lệnh sau để kiểm tra tên thư mục chứa các tập tin Audit.
db12c_ora_2328_20171107022919280000831625.xml
Khi bạn thiết lập kiểm soát với tham số Audit_trail = xml,extended, kết quả thu được giống với sử dụng tham số Audit_trail = xml, tuy nhiên trong các tập tin XML sẽ có thêm thông tin về các lệnh (statement) đã được thực thi.
db12c_ora_3956_20171108021424022000979538.xml
Khi chế độ kiểm soát đã được thiết lập cho cơ sở dữ liệu. Bạn có thể kiểm tra tham số đang được sử dụng.
Kiểm tra tên thư mục chứa các tập tin Audit sẽ được tạo ra.
Tên thư mục chứa các tập tin Audit được lưu trữ trong tập tin spfile<SID>.ora.
Thay đổi thư mục chứa các tập tin Audit:
Với Oracle 11.1 hoặc cũ hơn. Bạn có thiết lập để có thể chỉ kiểm soát các hành động đã thực hiện thành công, hoặc chỉ kiểm soát các hành động đã thực hiện không thành công.
- WHENEVER SUCCESSFUL: Chỉ kiểm soát các hành động thực hiện thành công
- WHENEVER NOT SUCCESSFUL: Chỉ kiểm soát các hành động thực hiện không thành công
- Hoặc cả 2: Kiểm soát tất cả hành động thành công hoặc không thành công (Đây là giá trị mặc định khi không sử dụng thêm 1 trong 2 tham số trên)
Chú ý: Với Oracle 11.2 hoặc mới hơn, hai tham số trên không có tác dụng. Tất cả các hành động thành công hoặc không thành công đều được ghi lại.
Test:
Bản ghi trong Audit sẽ ghi lại chỉ trường hợp lỗi:
Có 2 lựa chọn khi thiết lập chế độ kiểm soát (Audit):
- BY ACCESS: Tạo các bản ghi kiểm soát mỗi lần có các hành động, điều này có nghĩa các hành động giống nhau (Các lệnh) vẫn sẽ được ghi lại.
- BY SESSION: Khi người dùng đăng nhập vào Oracle một phiên làm việc (session) được tạo ra, phiên làm việc kết thúc khi người dùng thoát ra. Oracle sẽ ghi lại các hành động (Các lệnh) của người dùng nhưng không trùng lặp.
By Access
Kiểm soát trên bảng Scott.EMP và ghi lại tất cả các hành động mỗi khi nó xẩy ra.
Kết quả bản ghi kiểm soát:
By Session
Kết quả kiểm soát vết có vẻ rất khác lần trước:
Chỉ có 1 bản ghi cho 2 hành động, và action name là SESSION REC. Bản ghi kiểm soát đại diện cho tất cả hoạt động trên đối tượng kiểm soát, SQL Text đơn giản chi ghi câu lệnh đầu tiên
Thông tin quan trọng hơn nằm tại cột SES_ACTIONS
SES_ACTIONS một dạng “bitmap” sắp xếp mỗi vị trí thể hiện 1 hành động (xem slide sau), trong ví dụ ta thấy vị trí thứ 10,11 đều hiển thị S
- S: viết tắt là thành công
- F: viết tắt không thành công
- B: viết tắt vừa có lệnh thành công vừa có lênh không thành công
SES_ACTION
Mỗi vị trí thể hiện 1 hành động
By Session
Thực hiện tiếp các lệnh :
Hiển thị Audit cho thấy S(thành công) đối với SELECT, B (có lệnh thành công lệnh không) với Update, F (không thành công) với INSERT
- Bạn có thể kiểm toán dựa trên ba loại riêng biệt
- Câu lệnh thực hiện
- Các đặc quyền – Các đối tượng
- Khi sử dụng lệnh Audit bạn chỉ định trong câu lệnh bạn muốn kiểm soát những gì
- AUDIT SESSION cho phép kiểm soát việc tạo các session. Một bản ghi kiểm soát được tạo đối với mỗi kết nối đến instance, nó bản ghi vào audit trail tại thời điểm kết nối và cập nhật bản ghi tại thời điểm ngắt kết nối.
- Khi ghi trong CSDL bản ghi bao gồm: thời gian kết nối, thời gian ngắt kết nối, số lần xử lý I/O,..
- Có thể phân loại AUDIT_SESSION theo user:
Ghi lại đoạn lệnh lỗi xảy ra khi đối tượng không tồn tại:
Thực hiện lệnh truy nhập đối tượng không tồn tại:
Kết quả bản ghi tạo ra ví dụ sử dụng XML_EXTENDED
- Có thể kiểm soát trên 3 loại: câu lệnh, đặc quyền, và đối tượng
- Khi sử dụng loại đối tượng, chỉ ra rằng bản ghi kiểm soát được tạo ra dựa trên thực tế một hành động nào đó tác động lên một đối tượng nhất định
Câu lệnh ví dụ:
Chỉ phân loại theo chuần (access, session) không phân loại theo người dùng:
Làm thế nào để kiểm soát đối tượng chưa được tạo ra, vấn đề tạo ra kiểm toán đối với mỗi đối tượng tạo mới 1 cách thủ công không phải biện pháp khả thi, thay vào đó sử dụng DEFAULT
Ví dụ bất kỳ đối tượng nào đều được kiểm soát DEL,UPD,INS
Một Object mới sẽ được tạo ra với định nghĩa này, để xem thực hiện
Thay đổi Audit dạng by Session:
Có thể kiểm soát Views như kiểm soát bảng tạo ra nó.
Nếu sử dụng cả 2 khi đó truy cập vào view sẽ nhận được nhiều bản ghi kiểm soát. Ví dụ:
Nếu sử dụng cả 2 khi đó truy cập vào view sẽ nhận được nhiều bản ghi kiểm soát. Ví dụ:
Khi đó trong Audit trail ghi lại:
- Có thể kiểm soát trên 3 loại: câu lệnh, đặc quyền, và đối tượng
- Khi sử dụng kiểm soát trên đặc quyền, phải xác định đặc quyền đó, khi được sử dụng một bản ghi kiểm soát sẽ được tạo
- Ví dụ nếu kiểm toán quyền CREATE TABLE, khi thực hiện lệnh này ngoài schema của họ thì một bản ghi kiểm soát được tạo, còn nếu họ sử dụng đặc quyền CREATE TABLE chứ không phải quyền CREATE ANY TABLE trong schema của chính họ thì bản ghi kiểm toán sẽ không được ghi lại
Cột PRIV_USED trong DBA_AUDIT_TRAIL hiển thị quyền sử dụng
Để kiểm soát tất cả các đặc quyền sử dụng (sử dụng theo phân loại user):
Có thể sử dụng kiểm soát mạng để kiểm soát các lỗi
Đây là lỗi nội bộ trong CSDL hoặc trên lớp Oracle Network-lỗi không kết nối. Thường bao gồm: TNS-02507 thuật toan mã hóa không được cài đặt, TNS-12648-danh sách thuật toán mã hóa và toàn vẹn dữ liệu là trống, TNS-12650 thuật toán mã hóa và toàn vẹn dữ liệu không phổ biến…
Đây là lỗi nội bộ trong CSDL hoặc trên lớp Oracle Network-lỗi không kết nối. Thường bao gồm: TNS-02507 thuật toan mã hóa không được cài đặt, TNS-12648-danh sách thuật toán mã hóa và toàn vẹn dữ liệu là trống, TNS-12650 thuật toán mã hóa và toàn vẹn dữ liệu không phổ biến…
- Các file ngoài HĐH được tạo với mỗi session và bao gồm các bản ghi kiểm soát mô tả session đó, sử dụng XML format còn dạng Text sử dụng AUDIT_TRAIL= OS.
- Khi sử dụng DB, hoặc DB,EXTENDED có nhiều DB views để bạn hiển thị Audit một cách dễ ràng hơn
- Audit trail được lưu chính trong bảng AUD$, hầu như không đọc nó vì khó đọc, ta đọc thông qua các View được tạo từ nó
- Bạn có thể tạo nhiều view chi tiết để kiểm soát thông qua chạy script: $ORACLE_HOME/rdbms/admin/cataudit.sql
Script tạo ra các view sau:
- DBA_AUDIT_TRAIL-một phiên bản của AUD$ thân thiên người sử dụng và dễ đọc hơn:
- BA_AUDIT_TRAIL.OS_USER lấy từ AUD$.SPARE1
- DBA_AUDIT_TRAIL.ACTION_NAME mã lưu trong AUD$.ACTION#
- USER_AUDIT_TRAIL dựa trên DBA_AUDIT_TRAIL nhưng dành cho user kết nối hiện thời
- DBA_AUDIT_EXISTS dựa trên DBA_AUDIT_TRAIL hiển thị những hành động lỗi do đối tượng không tồn tại
- DBA_AUDIT_SESSION dựa trên DBA_AUDIT_TRAIL hiển thị các kết nối (bao gồm cả kết nối lỗi) và ngắt kết nối
- DBA_AUDIT_STATEMENT dựa trên DBA_AUDIT_TRAIL hiển thị các câu lệnh không truy cập dữ liệu đối tượng như là ALTER SYSTEM, GRANT,…
- DBA_AUDIT_OBJECT dựa trên DBA_AUDIT_TRAIL hiển thị các câu lệnh DO truy nhập đối tượng như là các lệnh DML
Có nhiều thông tin trong DBA_AUDIT_TRAIL, một vài cột có thể tự giải thích, còn các cột khác như sau:
- TERMINAL—trên Unix đây là pts, trên Windows đây là tên máy.
- ACTION-Mã số hành động được thực hiện bởi User (xem AUDIT_ACTIONS)
- ACTION_NAME-Tên hành động được thực hiện bởi User (xem AUDIT_ACTIONS)
- NEW_OWNER-Nếu đối tượng đổi tên, owner của đối tượng mới •NEW_NAME-Nếu đối tượng đổi tên, new name là tên mới của đối tượng
- OBJ_PRIVILEGE-nếu hành động được kiểm soát là Grant hoặc Revoke quyền một đối tượng, ghi lại các quyền đối tượng nào được thực thi
- SYS_PRIVILEGE-giống như OBJ_PRIVILEGE nhưng là quyền hệ thống
- ADMIN_OPTION-xác định các quyền được gán với lựa chọn ADMIN_OPTION
- GRANTEE-Nếu hành động được kiểm soát là grant hoặc privilege hoặc role tên của grantee là (user hoặc role)
- AUDIT_OPTION-khi hành động được kiểm soát là câu lệnh Audit thì lựa chọn này được ghi.
- SES_ACTIONS-Nếu hành đông được kiểm toán trên 1 đối tượng, thông tin kiểm soát được ghi nhận ở đây
- LOGOFF_TIME-Nếu việc kiểm soát là session, ghi lại thời gian logoff •LOGOFF_LREAD-các block logic được đọc bởi session
- LOGOFF_PREAD-các block vật lý được đọc bởi session
- LOGOFF_LWRITE-các block logic được ghi bởi session
- LOGOFF_DLOCK-số lượng deadlocks được xác định trong session.
- COMMENT_TEXT-thông tin xác thực chi tiết, liệu đã được CSDL chứng thực user, hoặc một vài chứng thực hệ thống server bên ngoài, thông tin client kết nối..
- SESSIONID-kiểm soát Session Id (khác Session Id trong V$Session) •ENTRYID-Nếu 1 câu lệnh có nhiều sự kiện kiểm soát , đây là số thứ tự
- STATEMENTID-Id duy nhất cho mỗi câu lệnh đối với mỗi session.=0 nếu sự kiện kiểm soát không liên quan đến 1 câu lệnh
- RETURNCOD-bằng 0 nếu không có lỗi, hoặc mã lỗi của Oracle
- PRIV_USED-chính xác quyền sử dụng được thực hiện cho hành động
- CLIENT_ID-nhận diện Client , có thể là đăng nhập qua ứng dụng
Có 3 view cho bạn biết nhũng gì đang được kiểm soát:
- DBA_STMT_AUDIT_OPTS: cho biết các câu lệnh đang được kiểm soát
- DBA_PRIV_AUDIT_OPTS : cho biết các đặc quyền (privilege) đang được kiểm soát
- DBA_OBJ_AUDIT_OPTS : cho biết các đối tượng đang được kiểm soát
Loại bỏ việc Audit bằng sử dụng câu lệnh với NOAUDIT, ví dụ nếu bạn thực hiện kiểm soát tất cả bằng AUDIT ALL va sau đó quyết định không kiểm soát chạy NOAUDIT ALL.
Bạn không sử dụng phân loại access/session khi sử dụng NOAUDIT
Bạn không sử dụng phân loại access/session khi sử dụng NOAUDIT
Có thể sử dụng WHENEVER để thay đổi việc kiểm soát :
Điều khó hiểu đối với người bắt đầu sử dụng kiểm soát chuẩn là đoạn lệnh Audit và NoAudit không tích lũy.Oracle không tạo 1 hồ sơ duy nhất sau đó điều chỉnh cho việc Audit và NoAudit. Rõ ràng nhất cho việc này là bạn sử dụng lệnh NOAUDIT ALL, ý bạn muốn dừng tất cả AUDIT nhưng nó vẫn không dừng tất cả mà chỉ dừng các Audit tạo ra từ lệnh toàn cục trước như là AUDIT ALL hoặc AUDIT NOT EXIST
Kiểm tra vẫn thấy Audit:
NoAudit All
Khi đó kết quả mới là No Audit All
- Câu hỏi đầu tiên của tất cả mọi người là ảnh hưởng của việc kiểm soát đến hiệu suất của CSDL.
- Hiểu được tác động của audit trails có trong CSDL là một trong những điều quan trọng nhất, nếu bạn có một môi trường hoạt động mạnh bạn có thể yêu cầu kiểm soát nghiêm ngặt
- Khó có thể có 1 con số hoặc 1 công thức để đánh đồng các với môi trường của bạn để biết trước ảnh hưởng này
- Theo bài diễn thuyết tại Oracle UK User Group năm 2006 thì tác động ảnh hưởng của việc kiểm soát VPD, FGA hoặc audit ảnh hưởng từ 8-200% tốc độ xử lý
- Bạn cần đánh giá kiểm soát những gì, cần chạy thử nghiệm thực tế thay đổi từng chế độ kiểm soát riêng của mình..
- Hiểu được yêu cầu chắc chắn cần kiểm soát, tác động của nó đến hoạt động của hệ thống ntn, cố gắng kiểm soát ít hơn (miễn sao không có tác động xấu đến an ninh CSDL)
- Nếu yêu cầu hoặc thực hiện thay đổi và bạn thay đổi chính sách kiểm soát một cách đáng kể, bạn phải thực hiện kiểm tra toàn diện trên môi trường Test trước khi đưa nên Product
- Nếu bạn muốn giảm chi phí tài nguyên(cả trên máy chủ và quan trọng hơn là việc triển khai các thay đổi trong chính sách)hoặc bạn yêu cầu kiểm soát mức cao bao gồm kiểm toán câu lệnh DML và SELECT, bạn phải chấp nhận ảnh hưởng đến khả năng thực hiện và xem xét giải pháp kiểm soát không dựa trên CSDL làm tăng I/O
- Tác động hiệu quả không phải chỉ chính Audit Trail, mà Audit trail cần được chuyển đến nơi khác, nó không thể ở CSDL hoặc HĐH. Nó cần chuyển để tách vai trò trách nhiệm=>cần quá trình lưu giữ đọc bản ghi, sao chép đến nơi khác, xóa chúng, dẫn đến tác đông thêm đến hiệu suất hoạt đông
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* 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
=============================
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, 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