Cách sử dụng oracle sql developer là quy trình dùng công cụ miễn phí của Oracle để kết nối Oracle Database, viết SQL Worksheet, duyệt schema, kiểm tra PL/SQL, so sánh cấu trúc database và xuất báo cáo. Cập nhật tháng 5/2026, người mới nên bắt đầu từ kết nối, chạy SELECT, quản lý transaction và kiểm tra object trước khi sửa dữ liệu thật.
Cần Chuẩn Bị Gì Trước Khi Mở SQL Developer?
Bạn cần có Oracle Database đang chạy, thông tin connection hợp lệ và đúng phiên bản SQL Developer. Với người mới, bộ dễ học nhất là Oracle XE hoặc database nội bộ có user riêng để tránh thao tác nhầm trên môi trường production.

Theo trang tải chính thức của Oracle, SQL Developer Desktop hiện vẫn là công cụ miễn phí; bản tải Windows 64-bit 24.3.1 có gói ZIP khoảng 585 MB và đã kèm JDK 17. Điểm này quan trọng vì nhiều lỗi mở phần mềm trên Windows đến từ việc dùng bản cũ không tương thích Java.
| Thành phần cần có | Giá trị khuyến nghị 2026 | Dùng để làm gì | Lỗi thường gặp |
|---|---|---|---|
| SQL Developer Desktop | 24.3.1 | Viết SQL, duyệt object, debug PL/SQL | Tải nhầm bản không kèm JDK |
| JDK | 17 nếu dùng bản mới | Chạy ứng dụng desktop | Máy chỉ có Java cũ |
| Oracle Database | 19c, 21c, 23ai hoặc XE | Nơi chứa schema và dữ liệu | Listener chưa chạy |
| Hostname | localhost hoặc IP server | Xác định máy chủ DB | Nhầm host VPN và host local |
| Port | 1521 phổ biến | Cổng listener Oracle | Firewall chặn port |
| Service name | XEPDB1, ORCLPDB1 hoặc tên service nội bộ | Kết nối đúng pluggable database | Dùng SID thay service name |
| Username | HR, SYSTEM hoặc user dự án | Xác thực schema | User bị lock |
| Password | Mật khẩu user | Đăng nhập database | Sai ký tự đặc biệt |
| SQL Worksheet | Ctrl + Enter, F5 | Chạy câu lệnh SQL/script | Dùng F5 khi chỉ muốn chạy 1 câu |
| Transaction | COMMIT, ROLLBACK | Kiểm soát thay đổi dữ liệu | Quên commit hoặc bật autocommit |
| Schema Browser | Tables, Views, Indexes, Packages | Tra cứu object nhanh | Không filter theo owner |
| Reports | Invalid Objects, Object Grants | Kiểm tra trạng thái database | Chỉ xem bảng, bỏ qua quyền |
⚠️ Lưu ý: Nếu bạn đang học trên database công ty, hãy xin user riêng chỉ có quyền SELECT hoặc quyền trên schema test. Không dùng tài khoản DBA để thử UPDATE, DELETE, DROP.
Oracle SQL Developer: công cụ giao diện đồ họa của Oracle giúp chạy SQL, quản lý object, debug PL/SQL, xuất dữ liệu và tạo báo cáo.
Schema: không chỉ là “thư mục bảng”; trong Oracle, schema thường gắn với một user và chứa tables, views, indexes, packages, procedures, functions, triggers, sequences, synonyms.
Service name: tên dịch vụ database mà client kết nối vào, thường quan trọng hơn SID khi làm việc với Oracle XE, PDB hoặc database cloud.
Chúng tôi thường thấy người mới cài đúng SQL Developer nhưng không kết nối được vì nhập SID thay cho service name. Khi kiểm tra, database vẫn chạy bình thường, port 1521 mở, nhưng form connection báo lỗi do chọn sai kiểu nhận diện. Cách xử lý nhanh là hỏi DBA service name chính xác hoặc dùng thông tin từ file `tnsnames.ora`.
Đọc thêm: Bài Lenormand: Hướng Dẫn Chọn Deck, Đọc Cặp Lá Và Học Đúng Cách 2026
Tạo Connection Và Chạy Câu SQL Đầu Tiên
Connection là bước xác định bạn đang truy cập database nào, bằng user nào và có quyền gì. Sau khi kết nối thành công, hãy chạy SELECT trước, chưa vội sửa dữ liệu bằng INSERT, UPDATE hoặc DELETE.

Bấm dấu `+` ở khu vực Connections, nhập tên kết nối dễ nhận biết như `LOCAL_XE_HR` hoặc `DEV_ORDER_APP`. Đặt tên có môi trường giúp bạn tránh nhầm DEV, UAT và PROD khi mở nhiều tab.
Các trường quan trọng gồm Username, Password, Hostname, Port và Service Name. Với Oracle XE đời mới, service name thường gặp là `XEPDB1`; với database dự án, tên service cần lấy từ DBA hoặc tài liệu triển khai.
Bấm Test trước khi Connect. Nếu trạng thái báo Success, hãy mở SQL Worksheet và chạy:
“`
SQL
“`
SELECT username, account_status
FROM user_users;
“`
“`
Câu này an toàn vì chỉ đọc thông tin user hiện tại. Sau đó thử kiểm tra ngày giờ database:
“`
SQL
“`
SELECT SYSDATE AS server_time
FROM dual;
“`
“`
Khi viết từng câu lệnh, dùng `Ctrl + Enter` để chạy statement hiện tại. Dùng `F5` khi muốn chạy toàn bộ script nhiều câu; đây là khác biệt nhỏ nhưng ảnh hưởng lớn khi file có cả DDL, DML và COMMIT.
Khi nào dùng SID, khi nào dùng Service Name?
Hãy ưu tiên Service Name khi làm việc với Oracle XE, Pluggable Database hoặc hệ thống nhiều service. SID thường gặp ở mô hình cũ hơn hoặc cấu hình đặc thù.
Nếu kết nối local báo lỗi, kiểm tra theo thứ tự: database đã start chưa, listener có chạy không, port 1521 có bị chặn không, user có bị lock không, service name có đúng không. Đừng đổi nhiều tham số cùng lúc vì sẽ khó biết lỗi nằm ở đâu.
Có thể bạn quan tâm: Ý Nghĩa Lá Bài Ace of Swords: Sự Thật, Lý Trí Và Quyết Định
Duyệt Schema Nhanh Bằng Browser Và Object Search
Schema Browser giúp bạn tìm table, view, package, trigger hoặc sequence mà không cần nhớ chính xác tên. Đây là tính năng nên dùng ngay khi database có nhiều schema hoặc object đặt tên theo tiền tố giống nhau.

Trong cây Connections, mở user/schema rồi chọn nhóm object cần xem. Các nhóm hay dùng nhất là Tables, Views, Indexes, Packages, Procedures, Functions, Triggers, Types, Sequences, Materialized Views và Synonyms.
Khi bảng quá nhiều, dùng ô filter theo chuỗi chứa trong tên. Ví dụ hệ thống bán hàng có `ORDER_HEADER`, `ORDER_LINE`, `ORDER_PAYMENT`, bạn chỉ cần gõ `ORDER` để thu hẹp danh sách.
Tính năng Find DB Object hữu ích khi bạn muốn biết một cột, bảng hoặc package đang được gọi ở đâu. Trường hợp tìm `ORDER_ID`, kết quả có thể xuất hiện trong view, trigger, synonym, procedure hoặc package body.
Chúng tôi thường dùng Find DB Object trước khi đổi tên cột hoặc chỉnh package liên quan đơn hàng. Một lần kiểm tra trên schema có hơn 300 object, từ khóa tưởng chỉ nằm trong 2 view nhưng thực tế còn xuất hiện trong 1 trigger cập nhật audit log. Nếu bỏ qua trigger đó, dữ liệu lịch sử có thể sai mà unit test thông thường không phát hiện ngay.
Video minh họa quy trình cài Oracle XE, cài SQL Developer và tạo kết nối đầu tiên cho người mới học SQL.
Chủ đề liên quan: Cách Trải Bài Tarot Cho Người Mới: Quy Trình Chuẩn, Bảng Chọn Trải Bài Và Lỗi Cần Tránh 2026
Quản Lý Transaction Để Không Mất Dữ Liệu
Điểm dễ sai nhất khi dùng SQL Developer là nhầm giữa chạy câu lệnh và lưu thay đổi thật. Trong Oracle, INSERT, UPDATE, DELETE cần được kết thúc rõ bằng COMMIT hoặc ROLLBACK nếu bạn không bật autocommit.

Theo Oracle SQL Language Reference, COMMIT làm thay đổi trong transaction hiện tại trở thành vĩnh viễn, còn ROLLBACK hủy thay đổi chưa commit. Vì vậy, đừng xem SQL Developer chỉ là nơi “gõ query”; nó là client có thể tác động trực tiếp đến dữ liệu thật.
Quy trình an toàn khi sửa dữ liệu:
- Chạy `SELECT` để xác nhận số dòng mục tiêu.
- Viết `UPDATE` hoặc `DELETE` kèm điều kiện khóa chính.
- Chạy lại `SELECT` trong cùng session để kiểm tra kết quả.
- Dùng `COMMIT` nếu đúng, `ROLLBACK` nếu sai.
- Lưu script đã chạy vào ticket hoặc ghi chú triển khai.
Ví dụ an toàn hơn khi cập nhật trạng thái đơn hàng:
“`
SQL
“`
SELECT order_id, status
FROM order_header
WHERE order_id = 1001;
UPDATE order_header
SET status = ‘CANCELLED’
WHERE order_id = 1001;
SELECT order_id, status
FROM order_header
WHERE order_id = 1001;
ROLLBACK;
“`
“`
Nếu đang luyện tập, hãy dùng ROLLBACK nhiều lần để hiểu cảm giác kiểm soát transaction. Khi đã quen, bạn sẽ ít mắc lỗi “chạy xong mới nhớ chưa kiểm tra WHERE”.
Ba sai lầm phổ biến nhất là bật autocommit trong lúc sửa dữ liệu, chạy F5 trên cả file script dài và viết DELETE thiếu điều kiện WHERE. Với bảng vài trăm dòng, lỗi còn có thể khôi phục nhanh; với bảng giao dịch hàng triệu dòng, bạn cần backup, flashback hoặc can thiệp DBA.
⚠️ Lưu ý: Autocommit là cài đặt phía công cụ client. Trên môi trường production, nên tắt autocommit và bắt buộc review điều kiện WHERE trước khi chạy DML.
Bài viết liên quan: Ý Nghĩa Lá Bài Knight Of Pentacles: Chậm Nhưng Chắc Trong Tarot
So Sánh Schema Và Kiểm Tra Report Trước Khi Deploy
Database Diff và Reports giúp phát hiện lệch cấu trúc, object invalid và quyền cấp sai trước khi đưa thay đổi lên môi trường cao hơn. Đây là phần nhiều người bỏ qua dù nó tiết kiệm rất nhiều thời gian debug sau deploy.

Vào Tools → Database Diff để so sánh Source Connection và Destination Connection. Bạn có thể chọn loại object cần so sánh như tables, views, indexes, packages, procedures, functions, triggers hoặc sequences.
Khi so sánh DEV và UAT, đừng chỉ xem object có thiếu hay không. Hãy kiểm tra thêm thứ tự column, constraint, index, trigger và package body vì các khác biệt nhỏ này có thể tạo lỗi runtime.
| Nhu cầu kiểm tra | Tính năng nên dùng | Dữ liệu xem được | Khi nào dùng | Cảnh báo thực tế |
|---|---|---|---|---|
| Tìm bảng hoặc view thiếu | Database Diff | Object chỉ có ở Source/Destination | Trước deploy | Cần chọn đúng schema |
| So sánh package | Database Diff | Package spec/body khác nhau | Sau merge code PL/SQL | Body khác nhưng spec giống dễ bị bỏ sót |
| Kiểm tra object lỗi | Invalid Objects Report | View, package, trigger invalid | Trước release | Compile lại chưa chắc hết lỗi dependency |
| Kiểm tra quyền | Object Grants Report | GRANT theo object/schema | Trước bàn giao user | Thiếu SELECT gây lỗi app runtime |
| Tạo báo cáo riêng | User Defined Reports | Kết quả theo SQL tự viết | Khi cần checklist lặp lại | Cần lưu query có điều kiện rõ |
| Xem execution cơ bản | Explain Plan | Cách optimizer dự kiến chạy query | Khi query chậm | Plan ước lượng, không thay log thật |
| Xuất dữ liệu | Export Grid | CSV, INSERT, Excel tùy cấu hình | Khi gửi dữ liệu mẫu | Cẩn thận dữ liệu nhạy cảm |
| Giữ tab quan trọng | Pinning | Tab không tự đóng | Khi mở nhiều object | Pin quá nhiều làm rối workspace |
| Tìm dependency | Find DB Object | Object chứa chuỗi cần tìm | Trước đổi tên field | Tìm chuỗi không thay thế được phân tích impact đầy đủ |
| Xem lịch sử SQL | SQL History | Câu đã chạy trước đó | Khi cần truy vết thao tác | Không thay thế audit log database |
Mẹo chuyên gia: trước khi deploy package hoặc script DDL, tạo một User Defined Report kiểm tra `USER_OBJECTS` với điều kiện `STATUS = ‘INVALID’`. Sau deploy, chạy lại report này ngay; nếu số invalid tăng từ 0 lên 3, dừng bước kế tiếp và xử lý dependency trước.
SQL Developer Desktop phù hợp khi bạn cần giao diện đầy đủ, duyệt object trực quan và thao tác local. SQL Developer for VS Code phù hợp nếu nhóm của bạn đã làm việc trong VS Code, cần SQL Worksheet, schema navigation, SQLcl và tích hợp Liquibase gần quy trình code hơn.
| Tiêu chí | SQL Developer Desktop | SQL Developer for VS Code | Nên chọn khi |
|---|---|---|---|
| Kiểu cài đặt | Ứng dụng desktop riêng | Extension trong VS Code | Tùy thói quen IDE |
| Dung lượng | Bản Windows 24.3.1 khoảng 585 MB | Nhẹ hơn do chạy trong VS Code | Máy yếu nên cân nhắc VS Code |
| Người mới học | Dễ nhìn object tree | Cần quen VS Code | Desktop dễ bắt đầu hơn |
| PL/SQL | IDE đầy đủ, debug tốt | Có editor PL/SQL | Dự án PL/SQL nặng nên dùng Desktop |
| SQLcl | Không phải trọng tâm UI | Tích hợp command line | Dev thích CLI nên dùng VS Code |
| Liquibase | Có trong hệ sinh thái Oracle tools | Tích hợp qua SQLcl | Team versioning schema nên xem VS Code |
| Báo cáo GUI | Reports rõ ràng | Tùy tính năng extension | DBA/support nên dùng Desktop |
| Làm việc cloud/on-prem | Hỗ trợ cả hai | Hỗ trợ cả hai | Không khác biệt lớn về mục tiêu |
Tối Ưu Thói Quen Làm Việc Hằng Ngày
Dùng SQL Developer hiệu quả không chỉ là biết nút bấm, mà là giảm lỗi thao tác lặp lại. Hãy chuẩn hóa shortcut, format SQL, SQL History, DBMS\_OUTPUT và cách đặt tên connection ngay từ tuần đầu.

Các shortcut nên nhớ: `Ctrl + Enter` chạy statement hiện tại, `F5` chạy script, `F10` xem Explain Plan, `F11` commit, `F12` rollback, `Shift + F4` xem mô tả object, `Ctrl + Space` gợi ý code.
Bật DBMS\_OUTPUT khi chạy block PL/SQL có `DBMS_OUTPUT.PUT_LINE`. Nếu không bật panel này, code vẫn chạy nhưng bạn tưởng không có kết quả in ra.
Dùng format SQL trước khi gửi query cho đồng nghiệp review. Một câu SELECT dài 80 dòng không căn lề thường che mất lỗi join hoặc điều kiện WHERE thiếu ngoặc.
Chúng tôi thường yêu cầu junior đặt tiền tố connection theo môi trường: `LOCAL_`, `DEV_`, `UAT_`, `PROD_`. Màu sắc hoặc tên tab không đủ an toàn khi đang xử lý nhiều ticket; tên connection rõ giúp giảm nguy cơ chạy nhầm script trên production.
Có nên dùng SELECT \* khi kiểm tra bảng?
Có thể dùng `SELECT *` khi khám phá bảng nhỏ, nhưng không nên dùng cho bảng lớn hoặc view phức tạp. Hãy chọn cột cần xem và thêm `FETCH FIRST 20 ROWS ONLY`.
Ví dụ:
“`
SQL
“`
SELECT order_id, customer_id, status, created_at
FROM order_header
ORDER BY created_at DESC
FETCH FIRST 20 ROWS ONLY;
“`
“`
Cách này giúp giảm tải grid, dễ đọc dữ liệu và hạn chế kéo nhầm lượng lớn bản ghi qua mạng. Với bảng log hoặc giao dịch, thói quen này tạo khác biệt rõ về tốc độ phản hồi.
Lộ Trình 7 Ngày Để Dùng Thành Thạo Hơn
Người mới nên học theo tình huống thực tế thay vì đọc toàn bộ menu. Sau 7 ngày, mục tiêu hợp lý là kết nối được database, chạy query an toàn, tìm object, kiểm tra transaction và tự tạo report đơn giản.

Ngày 1, cài SQL Developer, tạo connection local và chạy `SELECT SYSDATE FROM dual`. Ngày 2, duyệt Tables, Views, Indexes và dùng filter trong schema.
Ngày 3, viết SELECT có WHERE, ORDER BY, FETCH FIRST. Ngày 4, thử INSERT, UPDATE, DELETE trên bảng test rồi COMMIT và ROLLBACK để hiểu transaction.
Ngày 5, mở SQL History, format SQL và bật DBMS\_OUTPUT. Ngày 6, dùng Find DB Object để tìm dependency của một cột hoặc package. Ngày 7, chạy Invalid Objects Report và tạo một User Defined Report đơn giản.
Bài tập nhỏ đủ thực tế:
“`
SQL
“`
CREATE TABLE demo_customer (
customer_id NUMBER PRIMARY KEY,
full_name VARCHAR2(100),
created_at DATE DEFAULT SYSDATE
);
INSERT INTO demo_customer (customer_id, full_name)
VALUES (1, ‘Nguyen An’);
SELECT *
FROM demo_customer;
ROLLBACK;
“`
“`
Nếu sau `ROLLBACK` bảng không còn dòng vừa thêm, bạn đã hiểu đúng ranh giới transaction. Đây là nền tảng bắt buộc trước khi đụng tới dữ liệu nghiệp vụ.
Câu Hỏi Thường Gặp
Oracle SQL Developer có miễn phí không?
Có. Oracle SQL Developer là công cụ miễn phí do Oracle cung cấp để phát triển và quản lý Oracle Database. Bạn vẫn cần kiểm tra điều kiện license của database, cloud hoặc môi trường doanh nghiệp đang dùng.
SQL Developer khác SQL Plus như thế nào?
SQL Developer là giao diện đồ họa có worksheet, object browser, reports, export và nhiều thao tác trực quan. SQL Plus là công cụ dòng lệnh, nhẹ hơn nhưng ít hỗ trợ người mới khi cần duyệt object hoặc xem kết quả dạng grid.
Vì sao SQL Developer kết nối được nhưng không thấy table?
Thường do bạn đang đăng nhập bằng user khác schema chứa table. Hãy kiểm tra owner, quyền SELECT và synonyms; nếu cần, thử truy vấn dạng `OWNER.TABLE_NAME` hoặc hỏi DBA đã grant quyền chưa.
Nên dùng SQL Developer Desktop hay bản VS Code?
Nếu bạn mới học hoặc cần Reports, Database Diff và giao diện quản lý đầy đủ, hãy bắt đầu với Desktop. Nếu nhóm phát triển đã chuẩn hóa VS Code, SQLcl và Liquibase, bản VS Code sẽ hợp quy trình làm việc hơn.
Chạy UPDATE xong nhưng người khác chưa thấy dữ liệu là vì sao?
Khả năng cao bạn chưa COMMIT. Trong Oracle, thay đổi DML chỉ trở thành vĩnh viễn sau COMMIT; nếu ROLLBACK hoặc session kết thúc bất thường trước khi commit, thay đổi có thể bị hủy.
Nắm vững cách sử dụng oracle sql developer giúp bạn làm việc với Oracle Database an toàn hơn: kết nối đúng, chạy SQL có kiểm soát, tìm dependency, so sánh schema và kiểm tra report trước khi deploy. Hãy luyện trên schema test trước khi thao tác dữ liệu thật.

