Quản trị Oracle trên Window: DATABASE, SCHEMA, TABLESPACE, TABLE

Hệ quản trị Oracle là hệ quản trị hàng đầu trên thế giới hiện nay, vượt lên trên cả SQL Server, MySQL… Hầu hết các hệ thống lớn và quan trọng đòi hỏi tính toàn vẹn dữ liệu cao, tốc độ xử lý nhanh… đều sử dụng Oracle. Ví dụ các hệ thống của ngân hàng, chứng khoán, các công ty lớn… Do vậy việc quản trị cơ sở dữ liệu Oracle luôn là một ngành hot do đó Oracle có cả một hệ thống tài liệu, đào tạo cho các chuyên gia về Oracle. Oracle có thể được cài đặt cả trên Window và Linux, sau đây mình xin hướng dẫn một số thao tác cơ bản về quản trị Oracle trên Window.

Trong khuôn khổ bài viết mang tính ghi chú lại để có thể sử dụng sau này và chia sẻ với những người mới. Nên mình chỉ hướng dẫn những việc liên quan đến 4 đối tượng chính sau: Database, Schema, Tablespace, Table.

Tạo mới một Database mới

Do server test đã có 1 database backup là APEX, để học mình sẽ tạo một database mới để không ảnh hưởng đến database backup APEX này.
Hiện server của hệ điều hành là Windown, phiên bản Oracle là 11g.
Ta chạy file dbca.bat nằm trong thư mục cài đặt Oracle ban đầu của ta:
C:\app\oracle\product\11.2.0\dbhome_1\BIN
Phần tạo này giao diện trực quan nên ta nhìn vào có thể tự chọn được. Ta chỉ cần lưu ý khi tại bước 7 cần tích chọn vào Enable Archiving để sau này có thể sử dụng RMAN để backup hoặc restore GAP file.

Tạo mới một schema để thao tác

Với ORACLE thì 1 DATABASE có thể tạo được nhiều SCHEMA, SCHEMA được quản lý bởi USER. Ta sẽ tạo một SCHEMA để thao tác trên đó. Một USER có thể quản lý nhiều SCHEMA.
Ta có thể dụng SQL Developer đăng nhập với quyền SYSDBA với user SYS hoặc SYSDBA để tạo mới một SCHEMA.
Create user TESTSQL01 identified by 123456;
Phân quyền lớn nhất cho SCHEMA này(test thì để thế này, thật thì tùy theo từng SCHEMA).
grant dba to TESTSQL01;

Tạo mới một TABLESPACE mới của SCHEMA

Như ta đã biết, một TABLE sẽ được lưu trong một TABLESPACE nhất định. Mỗi TABLESPACE có thể có một hoặc nhiều TABLESPACE.
Để kiểm tra dung lượng TABLESPACE và danh sách các TABLESPACE của SCHEMA ta dùng câu lệnh:
select b.tablespace_name,
b.MEGS,
(b.MEGS - a.MEGS_FREE) as ALLOCATED_MEGS,
round(((b.MEGS - a.MEGS_FREE) / b.MEGS) * 100) PCT_USED,
a.MEGS_FREE, EXTENSIBLE_MEGS
from (select tablespace_name, round(sum(bytes / 1024 / 1024)) MEGS_FREE
from dba_free_space
group by tablespace_name) a,
(select tablespace_name, round(sum((bytes / 1024 / 1024)),0) MEGS,
round(
sum(
case when autoextensible = 'YES' then (maxbytes - bytes)/1024/1024
else 0
end
),0) EXTENSIBLE_MEGS
from dba_data_files
group by tablespace_name
) b
where a.tablespace_name(+) = b.tablespace_name
order by 4 desc;
Ta sẽ tạo mới một TABLESPACE bằng câu lệnh:
create tablespace TESTTABLESPACE
logging datafile 'D:/app/oracle/oradata/PKTUY01/testtbsp01.dbf'
size 32m
autoextend on
next 32m maxsize 50m
extent management local;
Ta có thể sửa để nới thêm dung lượng cho TABLESPACE bằng câu lệnh:
ALTER DATABASE
DATAFILE 'D:/app/oracle/oradata/PKTUY01/testtbsp01.dbf'
RESIZE 60M;
Hoặc nếu ổ đĩa hết dung lượng ta có thể thêm datafile bằng câu lệnh:
ALTER TABLESPACE TESTTABLESPACE
ADD DATAFILE ‘E:/PKTUY01/testtbsp02.dbf’
SIZE 200M;

Tạo mới một TABLE trên TABLESPACE

CREATE TABLE GIAHAN(
SMC NVARCHAR2(100),
datcre DATE
)
TABLESPACE TESTTABLESPACE
STORAGE ( INITIAL 50K);
Ta cần có một chiến lược hợp lý để tiến hành lưu trữ TABLESPACE sao cho hợp lý. Làm sao dung lượng trống của ổ đĩa phù họp, các TABLESPACE không bị đầy tránh gây ảnh hưởng đến vận hành hệ thống.

Quản trị Oracle nói chung và quản trị Oracle trên Window nói riêng đòi hỏi một kiến thức nhất định về kiến trúc của Oracle cũng như về hệ điều hành. Nhìn chung việc cài đặt và quản trị Oracle trên Window khá đơn giản nhưng vì Window không ổn định Linux nên đối với các công ty lớn thường cài đặt Oracle trên Linux.

Để đảm bảo tính ổn định của hệ thống, bạn có thể quan tâm đến một số bài viết sau: