Thứ Năm, 16 tháng 9, 2021

Kinh nghiệm phòng tránh các lỗi khi vận hành Oracle Database.

Tôi sẽ chia sẻ 1 số kinh nghiệm tránh lỗi cho anh/em:

1. VẤN ĐỀ CẬP NHẬT HỆ THỐNG:
- Các hệ thống quan trọng thường cập nhật vào ban đêm (chuẩn là sau 00h, nhưng có thể linh động nếu không quá ảnh hưởng làm tầm 22h00 là đẹp, làm sớm, nghỉ sớm). Để cập nhật được an toàn mình nên chuẩn bị sẵn thủ tục (các bước step by step + lường trước các lỗi có thể xảy ra, việc lường trước này sẽ ko được 100% nhưng như Khổng Tử đã dạy "Người không biết tính ra sẽ phải lo gần", nên cố gắng trong khả năng của mình + học hỏi kinh nghiệm của leader + kinh nghiệm của các anh/em khác để tránh các lỗi có thể phát sinh

- Luôn luôn có thủ tục rollback lại hệ thống, nếu không có nhất định không làm chứ làm xong lỗi tóe loe ra lúc đó lao vào fix nhiều khi không kịp, lại dây dưa gián đoạn đến buổi sáng hôm sau thì rất rách việc.

- Nhưng khi cập nhật nhiều quá (có những DB mỗi năm tác động 500-600 lần, chưa kể anh/em ôm thường 30-50DB 1 lúc) mà cứ làm đêm nhiều thì anh/em cũng oải --> Giải pháp: Những tác động nào không quá ảnh hưởng thì xin sếp làm ban ngày cho tiện theo dõi

- Khi cập nhật chú ý theo dõi tải xem có bất thường không, có bất thường phải xử lý luôn, việc cập nhật code, bảng nếu invalid object phải rebuild đầy đủ (nhiều nghiệp vụ cập nhật 1 bảng hay 1 package phải kill > 1000 session mới làm được và rất dễ treo do số lượng gọi vào object đó rất lớn)

- Sau khi cập nhật nghe ngóng nếu ảnh hưởng, việc cập nhật ngày hôm sau mới ảnh hưởng tải thì xem nhanh, không ổn rollback rồi tìm nguyên nhân sau
2.VẤN ĐỀ XÓA NHẦM FILE OS, TRUNCATE, DROP BẢNG
Có 2 loại xóa nhầm:

- File ở mức OS: Mới vào nghề anh/em hay gõ rm -rf *, đứng ở / là ăn cháo ngay nên xóa thường thêm string vào ví dụ rm -rf *trc*,....
Những datafile khi chuyển sang vùng khác cũng nên an toàn là đổi tên sau 3-7 ngày không phát sinh thì xóa

--> Nguyên tắc chung là ĐỔI TÊN sau thời gian 3-7 ngày không phát sinh thì mới xóa, log thì xóa được (trừ redo log nhé)

- Bảng/ Partition:

Thi thoảng DBA sẽ hỗ trợ nghiệp vụ xóa dữ liệu:

+ Truncate: Không khôi phục thông thường được, muốn khôi phục phải dùng tablespace point in time recovery, tức là khôi phục tablespace chứ partition, bảng đó chứ không cần cả DB hoặc có thể lấy từ nguồn khác vì các dữ liệu nó có mối liên hệ với nhau có thể tổng hợp từ nguồn khác về được

+ Delete: Chú ý tăng undo_rentention lên tầm 12h hoặc 24h và undo tablespace tăng thêm dung lương, chấp nhận tốn 1 chút dung lương vì mặc định là 900s (15p) là bị ghi đè rồi, không flashback được đâu.

+ Drop bảng: nên đổi tên thành XXX_table_name sau 3-7 ngày nếu nghiệp vụ không kêu có thể drop đi, mà drop lại có 2 kiểu là drop table_name (xóa vào thùng rác, vẫn flashback được do vẫn lưu ở tablespace lúc tạo bảng); và drop table_name PURGE (là xóa hẳn khỏi thùng rác, KHÔNG flashback nổi đâu anh/em nhé).

Còn ai làm rồi cũng có lỗi cả thôi, làm nhiều lỗi nhiều, làm ít lỗi ít, không làm không lỗi. Nhiều lúc làm cẩn thận tốt, sếp nghĩ là chúng mày chẳng làm gì cả toàn ngồi nhìn màn hình, nhưng ai biết để hệ thống an toàn, ổn định, hiệu năng cao anh/em phải đi học, áp dụng đủ mọi công nghệ, lab đủ mọi thứ mới ra được kết quả như vậy. Nhưng khi lỗi nhiều sếp mới nghĩ là DB đó quan trọng, mình mới quan trọng, nhưng lỗi nhiều quá cũng phạt KPI và đuổi việc sớm nên cũng phải cân bằng lỗi làm sao cho phù hợp. Hệ thống chạy mượt QUÁ đôi lúc cũng không phải tốt. DBA cứng là control được DB, lúc nhanh, lúc chậm, lúc bình thường mình biết được, control được.

Nếu chúng ta làm nhiều, học nhiều, đọc nhiều, học hỏi nhiều thì lỗi sẽ ít đi.

Lỗi là cơ hội anh/em trưởng thành cũng giống như cuộc đời của chúng ta, chúng ta làm những việc khó nhằn thì cuộc sống sẽ rất dễ dàng, còn chúng ta cứ chọn việc dễ thì cuộc sống của chúng ta lúc nào cũng khó khăn.

Đôi lời tâm sự, chia sẻ cùng anh/em.

Hy vọng sẽ hữu ích với anh/em.

=============================
* 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 weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, oracle oca, oracle ocp, oracle ocm

ĐỌC NHIỀU

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