Thứ Hai, 26 tháng 9, 2022

Tổng hợp câu hỏi thường gặp trong Quản trị CSDL Oracle

1. Có những cơ sở dữ liệu nào phổ biến hiện nay vậy Thầy Bình?
Trả lời: 

Cơ sở dữ liệu phổ biến hiện này các doanh nghiệp hay sử dụng gồm:
- Oracle Database
- SQL Server
- MySQL
- PostgreSQL
- IBM DB2
- MongoDB
...
Trong đó thông dụng nhất là Oracle Database

2. Khi học cơ sở dữ liệu Oracle em cần học những gì ạ?
Trả lời: 

Em cần học theo lộ trình sau trên các phiên bản 11g, 12c, 19c,...:
- Oracle Database Admin Workshop 1 (gọi tắt là Admin 1)
- SQL Fundamental 1, 2 (gọi tắt là SQL cơ bản)
- Thi chứng chỉ OCA (2 môn: SQL, Admin 1)
- Linux
- Oracle Database Admin Workshop 2 (gọi tắt là Admin 2)
- Thi chứng chỉ OCP (OCA + Admin 2)
- Oracle Database 12c, 19c New Features
- Oracle GoldenGate
- Oracle DataGuard
- Oracle Performance Tunning
- Oracle RAC
- Thi chứng chỉ OCE Tunning hoặc RAC
- Oracle Security
- Các hệ điều hành khác: Solaris, AIX

Và 1 điều quan trọng là hãy thực hành, làm thật nhiều vào nhé các em.

3. Công việc của DBA là gì ạ?

Trả lời:

1. Giám sát, vận hành, quản trị các CSDL của các hệ thống được giao:
- Cài đặt phần mềm CSDL, tạo CSDL, chuyển dữ liệu sang hệ thống mới phục vụ kiểm thử hoặc tối ưu kiến trúc hệ thống.
- Thực hiện nâng cấp cơ sở dữ liệu và phần mềm lên các cấp phát hành mới CSDL
- Bật và tắt instance cơ sở dữ liệu khi có yêu cầu cập nhật phần cứng máy chủ, định kỳ khởi động lại CSDL để giải phóng cache hoặc đảm bảo an toàn CSDL.
- Quản lý cấu trúc lưu trữ của CSDL: Quy hoạch lưu trữ dữ liệu của các user, cấp phát dung lượng tablespace, dọn dẹp các dữ liệu không cần thiết.
- Quản lý các đối tượng CSDL như: bảng, index, view, procedure, package, dblink…
- Sao lưu cơ sở dữ liệu (backup) và thực hiện các hoạt động khôi phục khi cần thiết (recovery), định kỳ kiểm thử bản chất lượng bản backup để đảm bảo an toàn cho dữ liệu.
- Giám sát tải CSDL: các session truy cập, các session bất thường, đặt ngưỡng an toàn cho CSDL; có  biện pháp phòng ngừa hoặc khắc phục theo yêu cầu đảm bảo hệ thống hoạt động online 24/7 với hiệu năng cao. Xây dựng thủ tục giám sát, báo cáo CSDL tự động nhằm phát hiện sớm bất thường đem lại an toàn cho HT.
- Tối ưu CSDL: tối ưu tham số; rà soát phát hiện và tối ưu câu lệnh, thủ tục chiếm tải cao hoặc theo yêu cầu của người dùng ứng dụng.
- Nghiên cứu các giải pháp giám sát tập trung giảm công sức giám sát thủ công, hướng tới tự động hóa.
- Khắc phục sự cố liên quan đến CSDL.
- Hỗ trợ yêu cầu từ ứng dụng liên quan đến database kịp thời (cấp/thu hồi quyền; tạo/thay đổi cấu trúc bảng, thủ tục và các object liên quan, kill tiến trình; tối ưu câu lệnh theo yêu cầu từ ứng dụng;…).
2. Chuyển dữ liệu lịch sử của các CSDL lớn lên SAN tốc độ thấp hoặc Tape.

3. Giám sát, vận hành, quản trị các tiến trình đồng bộ Golden Gate, DataGuard, Mview, CDC,…

4. Quản lý người dùng và bảo mật:
○ Tạo user truy cập vào cơ sở dữ liệu theo phê duyệt đảm bảo đúng quy trinh, quy định; Phân quyền đúng, đủ, kịp thời.
○ Đặt Firewall trên database để chặn IP theo user.
○ Che dấu dữ liệu “nhạy cảm” (thông tin khách hàng, thẻ tín dụng, tài khoản, thanh toán, công nợ,....), ghi log người dùng truy cập các dữ liệu này.
○ Audit tác động của người dùng (bằng Imperva, FGA,…)

.... (3 dấu chấm vậy thôi nhưng là rất nhiều việc đấy nhé)

4. Em muốn tự thực hành thì làm như thế nào ạ?

Trả lời: 

Em cài vmware hoặc virtual box xong lấy lab của thầy dựng sẵn về sử dụng hoặc tự cài:

5. Biến môi trường là gì ạ?

Trả lời: 

Khi mình gõ sqlplus không ra gì toàn báo command not found hay các lệnh khác cũng thế

Nguyên nhân do mình chưa setup biến môi trường

Giải pháp: Tạo biến môi trường trong file .bash_profile (với linux) và file .profile (với aix hoặc Solaris)
(từ root)# su  - oracle

(hoặc từ đường dẫn khác muốn về home thì gõ cd ~)

(đã sang oracle)$ vi .bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=dbaviet
export ORACLE_UNQNAME=dbaviet
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=dbaviet
export PDB_NAME=dbavietpdb
export DATA_DIR=/oradata
export PATH=/usr/sbin:/usr/local/bin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

- Cập nhật biến môi trường:
$ . .bash_profile (dấu chấm nhé)
hoặc
$ source .bash_profile

- Kiểm tra lại biến môi trường:
$ env |grep ORA

(yêu cầu phải có các biến ORACLE_SID, ORACLE_BASE, ORACLE_HOME,...)

(PATH=$ORACLE_HOME/bin để có lệnh sqlplus, dbca, lsnrctl,... hay các lệnh khác)

6. Thầy cho em xin biến môi trường của user oracle, grid mẫu?

Trả lời:
- Biến môi trường user oracle (thay đổi ORACLE_SID=dbn02, dbn03 là tên instance của các bạn):

[root@dbn01~]# su - oracle
[oracle@dbn01 ~]# vi .bash_profile
export PATH
export TMPDIR=$TMP
export ORACLE_HOSTNAME=dbn01
export ORACLE_UNQNAME=db0
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db
export ORACLE_SID=dbn01
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

- Biến môi trường user grid (thay đổi ORACLE_SID=+ASM2, +ASM3 tùy vào node của bạn):

[root@dbn01~]# su - grid
[grid@dbn01 ~]# vi .bash_profile
export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=dbn01
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_SID=+ASM1
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

- Biến môi trường user root khi thao tác stop, start grid:

[root@dbn01 ~]# vi .bash_profile
export GRID_HOME=/u01/app/11.2.0/grid
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db
export PATH=$GRID_HOME/bin:$GRID_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin

7. Em mới sử dụng Oracle Database 12c, 1 số lệnh hơi khác làm em lúng túng, thầy giúp em với ạ?

Trả lời:

Em tham khảo link này để học những lệnh cơ bản nhất: https://www.tranvanbinh.vn/2020/06/co-ban-ve-oracle-database-12c.html


8. 1 máy chủ chạy 2 database, làm sao để em chuyển qua lại được giữa các database này ạ?

Trả lời: 

Em chỉ cần đặt  biến môi trường cho ORACLE_SID là được (nếu ORACLE_HOME không đổi, còn nếu ORACLE_HOME thay đổi thì em export cả ORACLE_HOME)

-- Thao tác với dbaviet1
(oracle)$ export ORACLE_SID=dbaviet1
$ sqlplus / as sysdba
SQL> select INSTANCE_NUMBER, INSTANCE_NAME, status from gv$instance;
SQL> select inst_id,name, open_mode from gv$database;

-- Giờ muốn chuyển sang dbaviet2
(oracle)$ export ORACLE_SID=dbaviet2
$ sqlplus / as sysdba
SQL> select INSTANCE_NUMBER, INSTANCE_NAME, status from gv$instance;
SQL> select inst_id,name, open_mode from gv$database;

9. Bảng to, bảng vừa và bảng lớn thì bao nhiêu row ạ?

Trả lời:

- Bảng nhỏ: <= 5 triệu row
 
- Bảng vừa: 5 triệu - 50 triệu row
 
- Bảng lớn: 50 triệu row - 100 triệu row

- Bảng rất lớn: 100 triệu row - 500 triệu row

- Bảng KHỦNG: 500 triệu row - 1,2 tỷ row

- Bảng cực KHỦNG: >= 2 tỷ row


(..... đang cập nhật.....)

=============================
* 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: 0902912888
⚡️ Skype: tranbinh48ca
👨 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: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Đị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

=============================
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,khóa học pl/sql, 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 dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master