Hướng dẫn cài đặt và cấu hình database Oracle 12c
Công ty Vĩnh Cửu tuyển dụng lập trình viên Java

1- Giới thiệu

Tài liệu hướng dẫn này được viết dựa trên:
  • Oracle 12c R1 (Release 1)  (64 bit)

  • Window Server 2012 (64 bit)

Việc cài đặt trên các hệ điều hành Window khác cũng không có nhiều khác biệt.

2- Download Oracle 12c

Oracle cho phép download miễn phí. Bạn có thể vào trang chủ của Oracle để download phần mềm này.
Hãy kiểm tra xem hệ điều hành của bạn 32 hay 64bit để download cho đúng.
Sau khi download xong bạn có 2 file zip. Hãy giải nén chúng ra 2 thư mục khác nhau hoặc giải nén trộn vào cùng một thư mục.

3- Sự khác biệt về cấu trúc Oracle 11g và Oracle 12c

  Trước hết chúng ta cần hiểu một chút về cấu trúc của Oracle:
Cấu trúc Oracle bao gồm:
  1. Phần mềm Oracle
  2. Và các Database
Oracle 11gOracle 12c có sự khác biệt về cấu trúc. Chúng ta cần làm rõ vấn đề này trước khi bắt đầu cài đặt

ORACLE 11G

Sau khi cài đặt phần mềm Oracle Database 11g bạn có thể tạo một hoặc nhiều Database (Thông thường bạn chỉ cần tạo một Database). Trong mỗi Database bạn có thể tạo một hoặc nhiều SCHEMA, mỗi SCHEMA là hệ thống các bảng, và các đối tượng như hàm, thủ tục, package, ... Cấu trúc của Oracle 11g giống hình minh họa dưới đây:
 

ORACLE 12C

Oracle 12c thực sự có sự thay đổi căn bản về cấu trúc so với Oracle 11g. Oracle 12c thực sự là một cơ sở dữ liệu đám mây.

Khái niệm database trong 11g tương ứng với khái niệm Container Database (CDB) trong 12c. Cụ thể sau khi cài đặt phần mềm Oracle 12c bạn có thể tạo 1 hoặc nhiều Container Database (CDB). (Thực tế là chỉ cần 1).

Trong Oracle 12C có một khái niệm mới là CDB$ROOT (Hoặc gọi là CDB Root), CDB$Root là một Plugin Database đặc biệt), là một đối tượng nằm trong CDB. Các SCHEMA có thể gắn vào trên CDB$ROOT. Hoặc có các Plugin Database (PDB) thông thường khác có gắn vào CDB$ROOT. Mỗi Plugin Database chứa 0 hoặc nhiều SCHEMA.
Trong quá trình cài đặt Oracle 12C. Bộ cài đặt sẽ hỏi bạn tạo Plugin hay không, sẽ có 2 trường hợp tại đây:
  1. Nếu bạn chọn không tạo plugin: Lúc đó bộ cài đặt sẽ tạo một Container Database có chứa Root và các SCHEMA sẽ gắn trên Root.
  2. Nếu bạn chọn tạo plugin: Bạn cần phải nhập tên plugin, lúc đó bộ cài đặt sẽ tạo một Container Database có chứa Root và một tạo luôn 1 Plugin gắn vào Root, các SCHEMA sẽ gắn trên Plugin này.

4- Cài đặt Oracle 12c trên Windows

Chúng ta sẽ cài cả phần mềm Oracle và tạo luôn một Database có tên db12c (hay SID = db12c).
Cài đặt một database:
Oracle sẽ được cài đặt vào 1 user của window, mà user này phải không có quyền Administrator, vì lý do bảo mật. Nếu trong máy tính của bạn chưa có window user như vậy bạn có thể chọn tạo mới một window user.
Bước này, bộ cài đặt hỏi bạn có tạo Plugin hay không, hãy chọn:
  • Create as Container Database.
Nhập vào tên Plugin Database:
  • pdbdb12c
Nếu bạn chọn "Create as Container Database" mô hình database của bạn sẽ như hình minh họa dưới đây:

Chú ý: Schema SYSTEM, SYS luôn được tạo sẵn khi bạn tạo Container Database hoặc Plugin Database.

Để có thể lưu trữ được nhiều loại ngôn ngữ (bao gồm cả tiếng Việt), bạn nên chọn: Unicode (AL32UTF8)
  • Character Set: Unicode (AL32UTF8)
Oracle có một vài user quản trị hệ thống (sys, system,....)  bạn cần phải sét đặt mật khẩu cho chúng. Bạn có thể sét đặt tất cả các user này cùng một mật khẩu.
Và chờ đợi cho tới khi việc cài đặt thành công.
Bước tiếp theo bộ cài đặt sẽ tạo Database có tên db11g như bước trước chúng ta đã đặt tên.
Tới đây việc cài Oracle thành công. Các thông số liên quan tới cơ sở dữ liệu được tổng kết lại, bạn nên nhớ các thông tin này.

5- Kiểm tra việc cài đặt và các cài đặt mở rộng

Sau khi cài đặt thành công, các service của Oracle tự động được Start. Chúng ta có thể vào Service của Windows để kiểm tra.
Có 6 service của Oracle, để chạy thông thường chỉ cần có 3 service là đủ:
  • OracleOraDB12Home1TNSListener
  • OracleServiceDB12C
  • OracleVssWriterDB12C

5.1- SQL Plus

SQL Plus là một cửa sổ giao tiếp dạng Console đơn giản cho phép bạn gõ lệnh SQL lên đó. Thông thường chúng ta làm việc với một công cụ trực quan hơn (Không có sẵn khi bạn cài xong Oracle) mà bạn cần cài đặt thêm, có thể là các phần mềm do một công ty thứ 3 cung cấp.
Để vào SQLPlus bạn có thể vào từ CMD:
Đăng nhập vào user system:
Xem lại mô hình Database mà bạn vừa cài đặt:

SYSTEM, SYS là các schema của hệ thống, nó được tạo ra tự động khi bạn tạo Container Database. Nhập system/<password> cho phép bạn đăng nhập vào schema system của Container. Các schema system, sys cũng được tạo sẵn khi bạn tạo một Plugin Database.

Kiểm tra xem bạn đang đứng tại Container nào.
SHOW CON_NAME
Đứng tại Container Database, bạn có thể truy vấn để biết hiện tại có bao nhiêu Plugin Database.
SELECT name, pdb  FROM   v$services ORDER BY name;
Bạn đang đứng tại CDB$ROOT, bạn muốn tại một SCHEMA:

Chú ý: Trong Oracle khi bạn tạo ra một user database, một Scheme có tên tương ứng sẽ được tạo ra.

Tạo một User database:
-- Tạo user database có tên mytest, và password mytest001
create user mytest identified by mytest001;

-- Gán quyền Database Admin cho mytest.
grant dba to mytest;
Chú ý rằng với Oracle 12c trở lên, mặc định tên của user database phải bắt đầu bởi C##, C hoặc ##, nếu bạn cố tình đặt tên không có tiền tố trên sẽ bị thông báo lỗi ORA-65096.
ORA-65096: invalid common user or role name

Cause: An attempt was made to create a common user or role with a name that was not valid for common users or roles. In addition to the usual rules for user and role names, common user and role names must start with C## or c## and consist only of ASCII characters.

Action: Specify a valid common user or role name.
Khi tạo user database bạn có thể sét đặt lại giá trị cho tham số ẩn "_oracle_script"=true
-- Bạn đang sử dụng user có quyền DBA.
connect system/Abc#123

alter session set "_ORACLE_SCRIPT"=true;

-- Tạo user database có tên mytest, và password mytest001
create user mytest identified by mytest001;

-- Gán quyền Database Admin cho mytest.
grant dba to mytest;

-- Kết nối vào user mytest vừa được tạo ra.
connect mytest/mytest001
Các hướng dẫn liên quan tới tạo user database, kết nối vào các Plugin database, ... và các tính năng đám mây trong Database Oracle 12c bạn có thể xem chi tiết tại:

6- Công cụ trực quan làm việc với Oracle

Bạn có thể cài PL/SQL Developer. Một công cụ trực quan làm việc với Oracle.