Thứ Hai, 28 tháng 11, 2022

CÀI ĐẶT DATAGUARD PHYSICAL STANDBY DATABASE TRÊN 2 MÁY LINUX 10g/11g/12c/

CÀI ĐẶT DATAGUARD PHYSICAL STANDBY DATABASE TRÊN 2 MÁY LINUX

 

I. GIỚI THIỆU

 

Cài đặt Dataguard đã có nhiều tài liệu của ORACLE giới thiệu. Tuy nhiên tài liệu của ORACLE đọc không phải ai lần đầu cũng làm thành công được.

 

Bài này sẽ hướng dẫn các bạn các bước STEP BY STEP cài đặt Physical Standby Database trên 2 máy linux khác nhau.

Thứ Tư, 23 tháng 11, 2022

[VIP5] Gói giám sát tự động dba_monitor cho Oracle database nhỏ

Mục đích: Gói giám sát dba_monitor  cho Oracle database nhỏ

Cấu hình thêm 1 service nữa vào listener trong Oracle Database

Mục đích: Cấu hình thêm 1 service nữa vào listener trong Oracle Database

Tạo thêm Oracle service (dich vụ) trên Listener cổng khác 1521

Mặc dù số cổng mặc định của Oracle LISTENER 1521, sau đó cơ sở dữ liệu Oracle sẽ đăng ký tên dịch vụ (servcie) trong Listener , để thay đổi cổng 1521 chúng ta có thể thay đổi cổng hoặc listerner khác, bằng cách định cấu hình tham số khởi tạo “local_listener” , trong case này tôi sẽ demo tạo một Listener port 1551

Tạo Service Naming với NETMGR trong Oracle Database 12.2

Mục đích: Tạo Service Naming với NETMGR trong Oracle Database 12.2

Mã hóa Sao lưu bằng mật khẩu trong RMAN

Mục đích: Bảo vệ dữ liệu bản backup bằng cách mã hóa dùng mật khẩu, nếu mất bản backup cũng không thể recovery ra lấy dữ liệu được.

Chặn truy cập theo IP qua listener, sql*net trong Oracle Database

Mục đích: Chặn truy cập theo IP qua listener, sql*net trong Oracle Database

Thủ tục add đĩa vào Oracle ASM Diskgroup với multipath trên Linux

----- Check WWID của các disk thêm vào -----
multipath -ll |grep 360060160a1a14e0002498b61b1acd2ae --DATA04
multipath -ll |grep 360060160a1a14e0003498b617098fc4e --DATA05
multipath -ll |grep 360060160a1a14e00db91776361a304e1 --DATA06

Thứ Hai, 21 tháng 11, 2022

Oracle Database khủng với 32TB, 246 tỷ row Oracle quản lý như thế nào?

Mục đích: Show những bảng rất lớn của các database khủng (200TB online + 800TB Offline trên Tape), đây là database RDBMS lớn nhất tại Việt Nam và top lớn nhất trên thế giới. Thế thì chúng ta sẽ quản lý như nào cho hiệu quả. Nội dung này sẽ được chia sẻ khi bạn là học viên OAZ hoặc OAZ Mastery.

- Bảng lớn nhất dung lượng 32TB, nhiều bảng khác 10-30TB,... được báo cáo tự động hàng ngày:
- Những bảng > 1 tỷ row rất nhiều, trong đó bảng lớn nhất là 246 tỷ row, cực khủng, liệu Oracle có quản lý được không, khi cần có truy xuất được khô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: 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

=============================
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, 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

[VIP5] Gói báo cáo tự động DBA_RP

Mục đích: Gói báo cáo tự động DBA_RP

[VIP5] Gói cảnh báo hiệu năng DBA_WN

Mục đích: Gói cảnh báo hiệu năng DBA_WN

[VIP5] Gói tự động hóa vận hành DBA_OP

Mục đích: Gói tự động hóa vận hành DBA_OP

[VIP5] Gói chụp tải định kỳ DBA_CT


Mục đích: Gói chụp tải định kỳ DBA_CT 3-5 phút 1 lần khắc phục tình trạng AWR, ASH không chụp đầy đủ để trong bất kỳ trường hợp nào có thể nhanh chóng tra cứu nguyên nhân gây tải cao, active sesion cao, sesion cao, câu lệnh SQL chiếm tải, dung lượng user tăng đột biến, dung lượng tablespace tăng đột biến,...

Chủ Nhật, 20 tháng 11, 2022

Cột RowID trong Oracle Database

Đối với mỗi row trong cơ sở dữ liệu, cột ROWID Pseudocolumn  trả về địa chỉ của row. Các giá trị rowid của Cơ sở dữ liệu Oracle chứa thông tin cần thiết để định vị một row:

  • Số đối tượng dữ liệu của đối tượng

  • Block dữ liệu trong datafile chứa row

  • Vị trí của row trong block dữ liệu (row đầu tiên là 0)

  • Datafile chứa row (tệp đầu tiên là 1). Số datafile có liên quan đến không gian bảng.

Thông thường, một giá trị rowid xác định duy nhất một row trong cơ sở dữ liệu. Tuy nhiên, các row trong các bảng khác nhau được lưu trữ cùng nhau trong cùng một cụm có thể có cùng một row.


Các giá trị của cột ROWID Pseudocolumn  có kiểu dữ liệu ROWID hoặc UROWID. Vui lòng tham khảo "Kiểu dữ liệu ROWID" "Kiểu dữ liệu UROWID" để biết thêm thông tin.

Các giá trị Rowid có một số công dụng quan trọng:

  • Chúng là cách nhanh nhất để truy cập vào một row.

  • Họ có thể chỉ cho bạn cách các row trong bảng được lưu trữ.

  • Chúng là các mã định danh duy nhất cho các row trong bảng.

Bạn không nên sử dụng ROWID làm khóa chính của bảng. Ví dụ: nếu bạn xóa và chèn lại một row bằng các tiện ích Import và Export, thì row của nó có thể thay đổi. Nếu bạn xóa một row, thì Oracle có thể gán lại row của nó cho một row mới được chèn sau.

Mặc dù bạn có thể sử dụng cột ROWID Pseudocolumn trong mệnh đề SELECT và của truy vấn, nhưng các giá trị cột giả này không thực sự được lưu trữ trong cơ sở dữ liệu. WHERE. Bạn không thể chèn, cập nhật hoặc xóa giá trị của cột ROWID Pseudocolumn.

Thí dụ 

Câu lệnh này chọn địa chỉ của tất cả các row chứa dữ liệu của nhân viên trong bộ phận 20:

SELECT ROWID, last_name  

   FROM employees

   WHERE department_id = 20;

Hy vọng hữu ích cho bạn.

=============================

* 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: 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

=============================
Cột rowid trong Oracle Database, 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, 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

Bảng DUAL trong Oracle Database

Trong Oracle, câu lệnh SELECT phải có mệnh đề FROM. Tuy nhiên, một số truy vấn (querry) không yêu cầu bất kỳ bảng (table) nào. Ví dụ như:

[VIP5] Bộ tiêu chuẩn cài đặt, vận hành, giám sát, kiểm soát truy cập của Oracle Database, MySQL/MariaDB, PostgreSQL, SQL Server

Mục đích: Bộ tiêu chuẩn cài đặt, vận hành, giám sát, kiểm soát truy cập của Oracle Database, MySQL/MariaDB, PostgreSQL, SQL Server

Thứ Bảy, 19 tháng 11, 2022

SQL là gì? Các lệnh cơ bản trong lập trình cơ sở dữ liệu SQL

Nếu bạn là người mới tìm hiểu về SQL thì đây chính xác là bài viết bạn nên tham khảo. Tôi sẽ trình bày tổng quan về SQL là gì, các lệnh cơ bản trong lập trình cơ sở dữ liệu và rất nhiều thứ khác về SQL.

13 câu lệnh SQL quan trọng Programmer/ SQL Beginner nào cũng cần biết

Cơ sở dữ liệu là một phần không thể thiếu của những trang web hiện đại. Trang web lớn hoặc web động đều sử dụng database theo một cách nào đó và khi được kết hợp với Structured Query Language (SQL) thì khả năng thao tác dữ liệu thực sự là vô tận. Nếu đã biết SQL mà lại còn là lập trình viên thì bạn hãy chắc chắn rằng mình đã nắm chắc 13 câu lệnh SQL quan trọng mà chúng tôi đề cập đến trong bài viết này nhé.

Các cơ chế thực thi lệnh join

Mục đích: Các cơ chế thực thi lệnh join trong SQL Server, các DB khác cũng giống cơ chế này.

Lợi ích Oracle và ứng dụng thực tế mà bạn nên biết

Quý bạn gõ vào trình duyệt web (web browser), chẳng hạn, Chrome, Firefox hay Safari, một địa chỉ hay web link. Sau đó, thông tin được hiển thị trên màn hình máy tính hoặc smart phone của bạn.

Các mô hình triển khai điện toán đám mây phổ biến nhất

Điện toán đám mây là mô hình cung cấp các tài nguyên máy tính cho người dùng thông qua Internet. Có bốn mô hình điện toán đám mây chính và phổ biến nhất hiện nay là Public Clouds, Private Clouds, Hybrid Clouds và Community Clouds.

Tổng quan về Kho dữ liệu – Data Warehouse

Kho dữ liệu ban đầu được định nghĩa là một tập dữ liệu được dùng để hỗ trợ quy trình ra quyết định. Theo quá trình phát triển, Kho dữ liệu được định nghĩa là một môi trường thông tin (information environment). Có thể thấy Kho dữ liệu được xem là một môi trường thông tin, điều này thể hiện nó không phải là một sản phẩm (product). Kho dữ liệu có các chức năng:

Sư khác biệt giữa Cơ Sở Dữ Liệu và Kho Dữ Liệu

Dữ liệu là tài sản của doanh nghiệp, là yếu tố vô cùng quan trọng được sử dụng để đưa ra quyết định kinh doanh chính xác, cải thiện các chiến dịch quảng bá, marketing, tối ưu hóa chi phí và tăng doanh thu. Giả sử doanh nghiệp có một khối lượng thông tin giao dịch khổng lồ, thì việc cần thiết là phải tiến hành nhập vào, lưu trữ, xử lý, phân tích và đưa ra báo cáo tinh gọn nhất. Từ đó hai khái niệm cơ sở dữ liệu (database) và kho dữ liệu (data warehouse) ra đời, nhưng vẫn khiến nhiều người nhầm lẫn. Hãy cùng tôi tìm hiểu xem chúng khác nhau ở những điểm nào

Thứ Sáu, 18 tháng 11, 2022

MasterNote_Câu lênh 12c/19c hay dùng để vận hành cơ bản

Mục đích: MasterNote_Câu lênh 12c/19c hay dùng để vận hành cơ bản

Cấu hình, quản lý mạng trong Oracle Database (Oracle Network) trong Oracle Database 12c, 19c với các thành phần listener.ora, tnsnames.ora, sqlnet.ora

Ở dạng cơ bản nhất, Oracle sử dụng ba file (listener.ora, tnsnames.ora & sqlnet.ora) để cấu hình mạng trong Oracle Database. Bài viết này đưa ra một ví dụ về mỗi tệp như một điểm khởi đầu cho cấu hình mạng đơn giản.

Thứ Năm, 17 tháng 11, 2022

TẠO CƠ SỞ DỮ LIỆU – THIẾT KẾ CƠ SỞ DỮ LIỆU

Trong bài Thiết kế Cơ sở dữ liệu, chúng ta đã thiết kế được cấu trúc của Cơ sở dữ liệu. Trong bài này chúng ta sẽ bàn về việc chuyển đổi cấu trúc cơ sở dữ liệu đó thành cơ sở dữ liệu lưu trữ được trong hệ quản trị cơ sở dữ liệu.

VẤN ĐỀ DƯ THỪA DỮ LIỆU TRONG THIẾT KẾ CƠ SỞ DỮ LIỆU

Trong hai bài học trước chúng ta đã đề cập đến vấn đề dư thừa dữ liệu trong thiết kế cơ sở dữ liệu, nhưng chưa làm rõ. Trong bài học này, chúng ta sẽ bàn về dư thừa dữ liệu và vấn đề mà nó gây ra khi sử dụng cơ sở dữ liệu.

CHUẨN HÓA CƠ SỞ DỮ LIỆU – BƯỚC QUAN TRỌNG TRONG THIẾT KẾ CSDL

Chuẩn hóa cơ sở dữ liệu là áp dụng các qui tắc cho thiết kế của cơ sở dữ liệu nhằm giúp giảm dư thừa dữ liệu trong quá trình thiết kế Cơ sở dữ liệu. Đây là bước quan trọng để giúp bạn kiểm tra tính đúng đắn của quá trình thiết kế cơ sở dữ liệu.

Bài viết này sẽ giúp bạn hiểu về các mức chuẩn hóa, quá trình thực hiện chuẩn hóa cũng như áp dụng việc chuẩn hóa vào thiết kế cơ sở dữ liệu.

THIẾT KẾ CƠ SỞ DỮ LIỆU – CÁC BƯỚC THỰC HIỆN

Thiết kế cơ sở dữ liệu là công việc vô cùng quan trọng trong các dự án, nếu thiết kế đúng CSDL sẽ giúp việc triển khai dự án thuận lợi và tiết kiệm. Tuy nhiên, rất nhiều bạn khi mới vào nghề thường gặp khó khăn về vấn đề thiết kế cơ sở dữ liệu như:

  • 1. Làm thế nào để thiết kế được Cơ sở dữ liệu?
  • 2. Làm thế nào để biết Cơ sở dữ liệu thiết kế đúng?

Bài này chúng ta sẽ bàn về những vấn đề đó.

CƠ SỞ DỮ LIỆU LÀ GÌ? CƠ SỞ DỮ LIỆU QUAN HỆ LÀ GÌ?

Cơ sở dữ liệu là môn học cơ sở của chuyên ngành CNTT, bất kỳ sinh viên CNTT nào cũng cần nắm vững và sử dụng thành thạo Cơ sở dữ liệu để sử dụng cho công việc sau này. Tuy nhiên, đây cũng là môn học khó hiểu với nhiều sinh viên, nhất là giai đoạn thiết kế Cơ sở dữ liệu. Do vậy tôi viết chuỗi bài viết này với hy vọng sẽ giúp các bạn dễ dàng hơn trong việc tiếp cận môn học này.

Bài 15 - PostgreSQL best practice

Bài viết cuối cùng trong series sẽ nói về một số lỗi hay gặp với PostgreSQL và các best practice để xử lý.

Let’s begin.

Bài 13 - Thực hành Vacuum với PostgreSQL

Phần trước đã tìm hiểu về một mớ lý thuyết của Vacuum, phần này sẽ xem qua về reindex và tập trung vào practice với vacuum để kiểm nghiệm thực tế thế nào. Let’s begin.

Bài 12 - PostgreSQL Vacuum là gì?

PostgreSQL multi-version cuncurrency control giúp giải quyết concurrent read/write nhưng sẽ nảy sinh vấn đề khác:

  • Bloating: UPDATE/INSERT/DELETE nhiều dẫn tới dư thừa số lượng lớn các dead tuple (old record version). Chúng không còn giá trị nhưng vẫn nằm đấy, làm tăng disk space.
  • Wraparound transaction id: số lượng transaction id vượt quá 2^32 có thể dẫn tới sai lệch data.

Bài viết này sẽ tìm hiểu PostgreSQL xử lý chúng thế nào. Let’s begin.

Bài 11 - PostgreSQL multi-version concurrency control

Việc concurrent read/write data tưởng chừng đơn giản nhưng với programming thì không ez tí nào. Chém thế chứ cũng không quá phức tạp khi sử dụng các cơ chế sync/lock, tuy nhiên nó làm giảm performance.

Vậy có cách nào không cần lock mà vẫn concurrent read/write không?

Let’s begin.

Bài 10 - Exclusive lock và Shared lock

Phía client, hay nói cách khác là application, chúng ta tương tác với database thông qua các câu lệnh DML (INSERT/UPDATE/DELETE)… và bản chất tất cả đều được thực thi như một transaction nếu không explicit khai báo và không auto commit.

Bài 09 - Optimistic lock và Pessimistic lock

Với series Multi-thread programming từ hardware đến software, ta biết rằng read/write data với multi-thread có thể dẫn đến data race, vấn đề nhỏ nhưng hậu quả lớn, khiến chương trình sai lệch trầm trọng.

Nghe hơi huy hiểm, nhưng cách giải quyết không có gì phức tạp, sử dụng các cơ chế mutual exclusion là giải quyết được vấn đề này.

Bài 07 - Partitioning data với PostgreSQL P2

Tiếp tục bài trước, cùng đi tìm hiểu về 2 loại partition còn lại là:
  • Partition by list
  • Partition by hash

Bài 06 - Partitioning data với PostgreSQL P1

Một hướng tiếp cận khác có thể tăng query performance là áp dụng partitioning: thay đổi data model implementation. Let’s begin.

Bài 05 - Hiểu về Join để tăng performance với PostgreSQL

Theo con số thống kê không tin cậy :joy: thì có trên 60% các query sử dụng join table để check điều kiện hoặc lấy thêm thông tin. Ngoài ra, các Senior cũng tâm sự join ảnh hưởng nhiều đến performance,làm chậm hệ thống. Cụ thể nó chậm thế nào, mình thiết kế kém hay do viết query lởm, cùng đi tìm hiểu để có câu trả lời cụ thể nhất.

Bài 04 - Hiểu về Index để tăng performance với PostgreSQL P3

Bài thứ 4 trong series tiếp tục bàn luận về Hash index còn dở dang ở bài trước.

Bài 03 - Hiểu về Index để tăng performance với PostgreSQL P2

Với bài trước, ta đã biết các loại index phổ biến trong Relational Database:

  • B-Tree index.
  • Bitmap index.
  • Hash index.

ĐỌC NHIỀU

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