Tải bản đầy đủ (.pdf) (14 trang)

Đào tạo Oracle cơ bản - Giáo trình kiến trúc và quản trị Oracle 8i - Phần 6 pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (172.71 KB, 14 trang )

Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 64

16 Quản trị ngời sử dụng
Một ngời sử dụng muốn truy cập vào cơ sở dữ liệu có thể đợc xác nhận bởi một trong những điều
sau:
- Cơ sở dữ liệu
- Hệ điều hành
16.1 Tạo một ngời sử dụng mới
Cú pháp để tạo ra một user mới:
CREATE USER user
IDENTIFIED [ BY PASSWORD/ EXTERNALITY]
[DEFAULT TABLESPACE tablespace}
{TEMPORARY TABLESPACE tablespace}
{Quota [interger [K/M] UNLIMITED ] ON TABLESPACE
{Quota [interger [K/M] UNLIMITED ] ON TABLESPACE] }
PASSWORD EXPIRE}
ACCOUNT {LOCK/UNLOCK}]
PROFILE [ profile/default}]
Trong đó:
User: Là tên của ngời sử dụng. Tên này là duy nhất trong cơ sở dữ liệu
by password: Chỉ ra rằng ngời sử dụng đợc xác nhận bằng các có sở dũ liệu và nhu cầu để
cung cấp password trong khi truy xuất
Externality: Chỉ ra rằng ngời sử dụng đợc xác định bởi hệ điều hành
Identified: Mật khẩu của user
Default tablespace: Chỉ định tablespace dùng cho user (ngầm định là system tablespace)
Temporary tablespace: Chỉ tablespace tạm cho user khi thao tác (ngầm định là system
tablespace)
Quote: Cho phép user sử dụng khỏang trống trên tablespace là bao nhiêu


Profile: Thiết lập môi trờng của user.
Ví dụ: Tạo một ngời sử dụng Khanh với mật khẩu ktx30
CREATE USER Khanh IDENTIFIED BY ktx30 DEFAULT TABLESPACE users
QUOTA 10M ON users QUOTA 5M ON system PROFILE DEFAULT

Để tạo ra một User mới có thể dùng công cụ enterprise
16.2 Thay đổi thuộc tính của user
Cú pháp:
ALTER USER user
IDENTIFIED [ BY PASSWORD/ EXTERNALITY]
[DEFAULT TABLESPACE tablespace}
{TEMPORARY TABLESPACE tablespace}
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 65
{Quota [interger [K/M] UNLIMITED ] ON TABLESPACE
{Quota [interger [K/M] UNLIMITED ] ON TABLESPACE] }
PASSWORD EXPIRE}
ACCOUNT {LOCK/UNLOCK}]
PROFILE [ profile/default}]
[DEFAULT role1,role2 |ALL|NONE EXCEPT role1,role2 ;
Trong đó:
User: Là tên của ngời sử dụng. Tên này là duy nhất trong cơ sở dữ liệu
by password: Chỉ ra rằng ngời sử dụng đợc xác nhận bằng các có sở dũ liệu và nhu cầu để
cung cấp password trong khi truy xuất
Externality: Chỉ ra rằng ngời sử dụng đợc xác định bởi hệ điều hành
Identified: Mật khẩu của user
Default tablespace: Chỉ định tablespace dùng cho user (ngầm định là system tablespace)
Temporary tablespace: Chỉ tablespace tạm cho user khi thao tác (ngầm định là system

tablespace)
Quote: Cho phép user sử dụng khỏang trống trên tablespace là bao nhiêu
Profile: Thiết lập môi trờng của user.
DEFAULT chỉ ra các role mặc định cho user
16.3 Xoá user
Cú pháp:
DROP USER user [cascade]
trong đó:
Cascade: Xóa tất cả đối tợng trong user's schema trớc khi xóa user. Bạn phải chỉ định option
này trong khi xóa user mà schema còn có chứa một đối tợng nào đó.
Các User có quyền quản trị ngầm định đợc tạo trong quá trình cài đặt cơ sở dữ liệu Oracle là User
sys và system
Lựa chọn CASCADE drop toàn bộ những đối tợng trong các schema trớc khi drop ngời sủ dụng.
Điều này phải đợc chỉ ra nếu schema chứa bất cứ một đối tợng nào.
Một ngời sử dụng hiện đang đợc kết nối với ORA server không thể bị drops
17 Quản trị các Privilege
17.1 Quyền hạn Privileges
Quyền hạn là khả năng truy nhập vào các đối tợng cơ sở dữ liệu. Trong Oracle mỗi ngời sử dụng
(user) sẽ đợc gán một số quyền nhất định đối với các đối tợng trong CSDL. Việc gán quyền có thể
đợc thực hiện bởi ngời quản trị.
Có hai loại quyền hạn cần quan tâm là: System privilege và Object privilege.
Cho phép ngời dùng có thể thao tác trên một đối tợng CSDL cụ thể. Ví dụ: quyền đợc tạo, xoá,
sửa các table, view, rollback segment, procedure,
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 66
Cho phép ngời dùng có thể truy cập và thực hiện một thao tác trên một đối tợng cụ thể nh:
table, view, sequence, procedure,
17.2 System privilege

Cho phép ngời dùng có thể thao tác trên một đối tợng CSDL cụ thể. Ví dụ: quyền đợc tạo, xoá, sửa
các table, view, rollback segment, procedure,
Có khoảng 126 quyền hệ thống (số lợng sẽ tăng lên ở các phiên bản sau). Chúng đợc phân thành
ba loại chính:
Quyền cho phép thực hiện các thao tác hệ thống. Ví dụ: CREATE SESSION, CREATE
TABLESPACE,
Quyền cho phép quản lý các đối tợng sở hữu. Ví dụ: CREATE TABLE
Quyền cho phép quản lý các đối tợng trong các schema khác. Ví dụ: CREATE ANY TABLE.
Các privilege có thể đợc điều khiển bởi các lệnh DDL nh: GRANT và REVOKE.
Ví dụ: một số quyền hệ thống
Phân loại Ví dụ
INDEX CREATE ANY INDEX, ALTER ANY INDEX, DROP
ANY INDEX
TABLE CREATE TABLE, CREATE ANY TABLE, ALTER
ANY TABLE, DROP ANY TABLE, SELECT ANY
TABLE, UPDATE ANY TABLE, DELETE ANY
TABLE
SESSION CREATE SESSION, ALTER SESSION,
RESTRICTED SESSION
TABLESPACE CREATE TABLESPACE, ALTER TABLESPACE,
DROP TABLESPACE, UNLIMITED TABLESPACE

SYSDBA và SYSOPER privilege
SYSDBA và SYSOPER là hai quyền hệ thống quan trọng trong việc quản trị hệ thống. SYSDBA cho
phép ngời quản trị có thể thực hiện các thao tác trên bất kỳ một đối tợng nào trong database.
SYSOPER cho phép thực hiện một số thao tác vận hành trên database.
Ví dụ:
Phân loại Ví dụ
SYSOPER STARTUP, SHUTDOWN, ALTER DATABASE
OPEN | MOUNT, ALTER DATABASE BACKUP

CONTROLFILE,
SYSDBA SYSOPER privilege WITH ADMIN OPTION,
CREATE DATBASE, RECOVER DATABASE
UNTIL

17.2.1 Thông tin về system privilege
Thông tin về các system privilege đợc đặt trong view DBA_SYS_PRIVS. Ví dụ:
SQL> SELECT * FROM DBA_SYS_PRIVS;
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 67
GRANTEE PRIVILEGE ADM

SUMMIT SELECT ANY TABLE NO
SYS DELETE ANY TABLE NO
SYS EXECUTE ANY TYPE NO
SYS INSERT ANY TABLE NO
SYS SELECT ANY SEQUENCE NO
SYS SELECT ANY TABLE YES
SYS UPDATE ANY TABLE NO
SYSTEM UNLIMITED TABLESPAC YES

Thông tin về session hiện thời đợc lu trong view SESSION_PRIVS. Ví dụ:
SQL> SELECT * FROM session_privs;
PRIVILEGE
CREATE
SESSION
ALTER SESSION
CREATE TABLE

SELECT ANY TABLE
CREATE CLUSTER
CREATE SYNONYM
CREATE VIEW
CREATE SEQUENCE
CREATE DATABASE LINK
CREATE PROCEDURE
CREATE TRIGGER
CREATE TYPE
12 rows selected.

17.2.2 Gán quyền hệ thống
Sử dụng câu lệnh
Cú pháp:
GRANT {system_priv|role}
[, {system_priv|role} ]
TO {user|role|PUBLIC}
[, {user|role|PUBLIC} ]
[WITH ADMIN OPTION]
System_priv: quyền đợc gán
Role: tên role đợc gán
PUBLIC: gán quyền hệ thống cho tất cả các user
WITH ADMIN OPTION: cho phép ngời đợc gán quyền có thể gán quyền này cho ngời khác.
Ví dụ:
GRANT CREATE SESSION, CREATE TABLE TO managers;

Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 68

GRANT CREATE SESSION TO scott
WITH ADMIN OPTION;

Sử dụng Oracle Enterprise Manager
- Chọn tên username hay role muốn gán quyền
- Chọn các quyền muốn gán cho username hay role đó trong page System privilege.
- Bấm apply để hoàn tất công việc

17.2.3 Thu hồi quyền hệ thống
Cú pháp:
REVOKE {system_priv|role}
[, {system_priv|role} ]
FROM {user|role|PUBLIC}
[, {user|role|PUBLIC} ]
Lu ý: lệnh REVOKE chỉ thu hồi các quyền đợc gán trực tiếp bởi lệnh GRANT.
Ví dụ:
REVOKE CREATE TABLE FROM karen;

REVOKE CREATE SESSION FROM scott;

17.2.4 Ví dụ minh hoạ về gán và thu hồi quyền
Ban đầu:
1. DBA gán quyền hệ thống CREATE TABLE cho karen với tuỳ chọn ADMIN OPTION.
2. karen tạo bảng.
3. karen gán quyền CREATE TABle cho scott
4. DBA thu hồi quyền của karen
Kết quả:
Table của karen vẫn tồn tại nhng karen không có quyền tạo mới bảng. Sau khi karen bị thu hồi
quyền, table của scott vẫn tồn tại. Scott vẫn co quyền hệ thống CREATE TABLE.


17.3 Object privilege
Object privilege cho phép ngời dùng có thể truy cập và thực hiện một thao tác trên một đối tợng cụ
thể nh: table, view, sequence, procedure,
Một số quyên đối tợng Object privilege cơ bản:
Object privs Table View Sequence Procedure
ALTER + +
DELETE + +
EXECUTE +
INDEX +
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 69
INSERT + +
REFERENCTE +
SELECT + + +
UPDATE + +

17.3.1 Thông tin về Object privilege
Thông tin về các Object privilege gán cho một user cụ thể có thể lấy đợc từ view DBA_TAB_PRIVS.
Ví dụ:
SQL> SELECT * FROM dba_tab_privs
2 WHERE GRANTEE=SUMMIT
GRANTEE OWNER TABLE_NAME GRA PRIVILEGE GRA

SUMMIT SYS RESUMES SYS READ NO
1 row selected.
Thông tin về quyền hạn của mỗi user đối với mỗi column đợc lu trong DAB_COL_PRIVS. Ví dụ:
SQL> SELECT * FROM dba_col_privs;
GRANTEE TABLE_NAME COLUMN_NAME GRANTOR PRIVILEGE GRA


SYSTEM EMPLOYEE ID SUMMIT INSERT NO
SYSTEM EMPLOYEE SALARY SUMMIT UPDATE NO
2 rows selected.


17.3.2 Gán Object privilege
Cú pháp:
GRANT { object_priv [(column_list)]
[, object_priv [(column_list)] ]
|ALL [PRIVILEGES]}
ON [schema.]object
TO {user|role|PUBLIC}
[, {user|role|PUBLIC} ]
[WITH GRANT OPTION]
Ví dụ:
GRANT EXECUTE ON dbms_pipe TO public;
GRANT UPDATE(first_name, salary) ON
employee TO karen WITH GRANT OPTION;

17.3.3 Thu hồi Object privilege
Cú pháp:
REVOKE { object_priv
[, object_priv ]
|ALL [PRIVILEGES] }
ON [schema.]object
FROM {user|role|PUBLIC}
[, {user|role|PUBLIC} ]
[CASCADE CONSTRAINTS]
Công ty cổ phần ti ngân - BFC

Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 70
- CASCADE CONSTRAINTS: xoá luôn cả các tham chiếu toàn vẹn có liên quan.
Ví dụ:
REVOKE execute ON dbms_pipe FROM scott;

17.3.4 Ví dụ minh hoạ về thu hồi Object privilege
Việc thu hồi Object privilege đợc tiến hành theo kiểu lây truyền (cascade) khi quyền đó đợc gán
kèm theo mệnh đề WITH GRANT OPTION. Ví dụ:
Ban đâu:
1. SCOTT gán quyền SELECT đối tợng EMP cho USER1 kèm theo mệnh đề WITH GRANT OPTION
2. USER1 tiếp tục gán quyền SELECT đối tợng EMP cho USER2.
3. SCOTT thu hồi quyền SELECT của USER1
Kết quả:
Quyền SELECT đối tợng EMP của USER2 cũng bị thu hồi lây truyền.
18 Quản lý Roles
18.1 Roles
Oracle cho phép quản lý quyền thông qua các roles. Roles đại diện cho một nhóm quyền đợc cấp
phát cho các user hay cho các roles khác. Roles đợc đa ra nhằm làm đơn giản cho việc quản trị
database.
Roles có một số tính chất sau:
Việc gán và thu hồi role cho user cũng tơng tự nh gán và thu hồi các quyền hệ thống.
Role có thể đợc gán cho các user hay các role khác, ngoại trừ chính nó.
Có thể kích hoạt (enable) hay ngng kích hoạt (disable) role của mỗi user
Các role khác nhau cần có các tên khác nhau.
Role độc lập với user, role không bị sở hữu bởi user. Có thể gán role cho user.
18.1.1 Lợi ích của việc sử dụng role
Giảm bới việc gán quyền. Thay vì việc phải gán cùng một số quyền cho các user. Ta chỉ cần gán
các quyền này cho một role. Sau đó, gán role tơng ứng cho các user.

Quản lý quyền một cách linh động. Khi các quyền gắn với role thay đổi thì các user đợc gán role
tơng ứng cũng sẽ bị thay đổi các quyền.
Việc gán quyền có thể đợc tiến hành thông qua các lệnh của hệ điều hành hay các tiện ích khác.
Các Object privilege có thể đợc thu hồi mà không gây hiệu ứng lây truyền (cascade)
Nâng cao hiệu suất. Với việc ngng kích hoạt role, có thể làm giảm bớt việc kiểm tra và xác nhận
quyền.
18.1.2 Một số role định sẵn (predefined)
Tên role Diễn giải
CONNECT, RESOURCE Hai role này đợc đa ra để tơng thích với các phiên bản trớc của
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 71
Oracle server.
DBA Tất cả các quyền hệ thống với cả tuỳ chọn WITH ADMIN OPTION
EXP_FULL_DATABASE Cho phép export database
IMP_FULL_DATABASE Cho phép import database
DELETE_CATALOG_ROLE Quyền DELETE các bảng trong từ điển dữ liệu
EXECUTE_CATALOG_ROLE Quyền EXECUTE các package trong từ điển dữ liệu
SELECT_CATALOG_ROLE Quyền SELECT dữ liệu tron từ điển dữ liệu
Bên cạnh những role đó, Oracle Server còn có các role khác cho phép ngời dùng quản trị databse.
Các role này đợc gọi là OSOPER và OSDBA. Tên của các role này tuỳ thuộc vào từng hệ điều hành
cụ thể.
18.2 Quản lý role
18.2.1 Tạo roles
Sử dụng câu lệnh
Cú pháp:
CREATE ROLE role [NOT IDENTIFIED | IDENTIFIED
{BY password | EXTERNALLY }]
- Role: tên role

- NOT IDENTIFIED: không cần phải xác nhận lại role khi role đợc kích hoạt
- IDENTIFIED: yêu cầu xác nhận role
- BY password: mật khẩu tơng ứng khi xác nhận role
- EXTERNALLY: user cần đợc xác nhận bởi dịch vụ bên ngoài (ví dụ: dịch vụ của hệ điều
hành) trớc khi kích hoạt role.
Ví dụ:
CREATE ROLE sales_clerk;

CREATE ROLE hr_clerk
IDENTIFIED BY bonus;

CREATE ROLE hr_manager
IDENTIFIED EXTERNALLY;

Sử dụng Oracle Enterprise Manager
- Kích hoạt ứng dụng Security Manager
- Chọn role folder, bấm chuột phải rồi chọn Create
- Nhập vào tên role và phơng thức xác nhận quyền tơng ứng.
- Bấm nút Create.

18.2.2 Thay đổi role
Sử dụng câu lệnh
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 72
Cú pháp:
ALTER ROLE role {NOT IDENTIFIED | IDENTIFIED
{BY password | EXTERNALLY }};
Ví dụ:

ALTER ROLE sales_clerk
IDENTIFIED BY commission;

ALTER ROLE hr_clerk
IDENTIFIED EXTERNALLY;

ALTER ROLE hr_manager
NOT IDENTIFIED;

Sử dụng Oracle Enterprise Manager
- Chọn Role folder tơng ứng
- Chọn role
- Xác định phơng thức tơng ứng của role
- Bấm apply

18.2.3 Gán role
Sử dụng câu lệnh
Cú pháp:
GRANT role [, role ]
TO {user|role|PUBLIC}
[, {user|role|PUBLIC} ]
[WITH ADMIN OPTION]
Ví dụ:
GRANT sales_clerk TO scott;

GRANT hr_clerk,
TO hr_manager;

GRANT hr_manager TO scott
WITH ADMIN OPTION;



Sử dụng Oracle Enterprise Manager
- Chọn User foleder hoặc Role folder tơng ứng
- Chọn user hoặc role cần gán quyền
- Chọn role muốn gán trong trong tab role, system privilege
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 73
- Bấm apply

18.2.4 Điều khiển role
Role mặc định: Một user có thể đợc gán nhiều role. Role mặc định là các role đợc tự động gán cho
user ngay khi user đó truy nhập vào database.
Cú pháp gán role mặc định:
ALTER USER user DEFAULT ROLE
{role [,role] | ALL [EXCEPT role [,role] ] | NONE}
- ALL: gán tất cả role cho user
- EXCEPT: các role không gán mặc định cho user
Ví dụ:
ALTER USER scott
DEFAULT ROLE hr_clerk, sales_clerk;

ALTER USER scott DEFAULT ROLE ALL;

ALTER USER scott DEFAULT ROLE ALL EXCEPT
hr_clerk;

ALTER USER scott DEFAULT ROLE NONE;


18.2.5 Kích hoạt và ngng kích hoạt role
Khi một role đợc kích hoạt, user có thể sử dụng các quyền gán cho role đó. Ngợc lại, user sẽ không
sử dụng đợc các quyền gán cho role nếu role ở trạng thái ngng kích hoạt (disable). Role có thể đợc
kích hoạt đối với mỗi session.
Việc kích hoạt và ngng kích hoạt role đợc thực hiện theo cú pháp
SET ROLE {role [ IDENTIFIED BY PASSWORD ]
[, role [ IDENTIFIED BY PASSWORD ]]
| ALL [ EXCEPT role [, role ] ]
| NONE }
- ALL: kích hoạt tất cả các role
- NONE: ngng kích hoạt tát cả các role

18.2.6 Thu hồi role
Sử dụng câu lệnh
Cú pháp:
REVOKE role [, role ]
FROM {user|role|PUBLIC}
[, {user|role|PUBLIC} ]
- Role: tên role thu hồi
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 74
- User: có role muốn thu hồi
- PUBLIC: thu hồi quyền, role của tất cả các user
Ví dụ:
REVOKE sales_clerk FROM scott;

REVOKE hr_manager FROM PUBLIC;


Sử dụng Oracle Enterprise Manager
- Chọn user hoặc role tơng ứng
- Chọn tab Roles hoặc System privilege
- Chọn role cần thu hồi. Bỏ role tơng ứng ra khỏi bảng các role cấp phát
- Bấm apply

18.2.7 Drop role
Sử dụng câu lệnh
Cú pháp:
DROP ROLE role
Ví dụ:
DROP ROLE hr_manager;

Sử dụng Oracle Enterprise Manager
- Chọn role muốn drop
- Bấm chuột phải, chọn Remove
- Bấm Yes để Drop role

18.3 Hiển thị thông tin về các role
Thông tin về các role có thể lấy đợc từ các view sau
Role view Diễn giải
DBA_ROLES Các role có trong database
DBA_ROLE_PRIVS Các role gán cho user hay role
ROLE_ROLE_PRIVS Các role gán cho role
DBA_SYS_PRIVS Các quyền hệ thống gán cho user hay role
ROLE_SYS_PRIVS Các quyền hệ thống gán cho role
ROLE_TAB_PRIVS Các table privilege gán cho role
SESSION_ROLES Các role đang đợc kích hoạt bởi ngời sử dụng
Ví dụ: Xem các role có trong database

SQL> SELECT role, password_required FROM dba_roles;
ROLE PASSWORD
C«ng ty cæ phÇn tμi ng©n - BFC
Gi¸o tr×nh kiÕn tróc vμ qu¶n trÞ Oracle 8i

§μo t¹o kiÕn tróc vμ qu¶n trÞ ORACLE 8i Trang 75

CONNECT NO
RESOURCE NO
DBA NO

SELECT_CATALOG_ROLE NO
EXECUTE_CATALOG_ROLE NO
DELETE_CATALOG_ROLE NO
IMP_FULL_DATABASE NO
EXP_FULL_DATABASE NO
SALES_CLERK YES
HR_CLERK EXTERNAL
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 76

19 Sử dụng hỗ trợ ngôn ngữ quốc tế (NLS)
19.1 NLS
NLS là tính năng đợc tích hợp vào trong Oracle để đảm bảo các ứng dụng, thông báo lỗi, sắp xếp ký
tự, tiền tệ, có thể đợc chuyển đổi tự động giữa các ngôn ngữ thuộc các quốc gia khác nhau.
Hiện tại, Oracle hỗ trợ 45 ngôn ngữ khác nhau thuộc 60 khu vực khác nhau trên thế giới.
Các ngôn ngữ độc lập với hệ thống đợc điều khiển bởi một số các tham số hệ thống và biến môi
trờng giữa client và server. Khi đó server và client có thể đợc chạy tại các địa điểm khác nhau, sử

dụng các tập ngôn ngữ khác nhau. Oracle tự động thực hiện việc chuyển đổi tập các ký tự cho phù
hợp với quá trình xử lý.
19.2 Chọn tập ký tự
19.2.1 Các loại tập ký tự
Oracle hỗ trợ nhiều tập ký tự thuộc các quốc gia khác nhau. Dới đây là một số tập ký tự tiêu biểu:
Tập ký tự 1 byte
Đối với tập ký tự này, mỗi ký tự đợc biểu diễn bởi 1 byte. Tập các ký tự tiếng anh chuẩn thuộc loại
này. Có hai tập ký tự 1 byte đợc sử dụng: tập ký tự 7-bit và tập ký tự 8-bit.
Tập ký tự 7-bit: ASCII 7-bit American (US7ASCII)
Tập ký tự 8-bit:
- ISO 8859-1 West European (WE8ISO8859P1)
- EBCDIC Code Page 500 8-bit West European (WE8EBCDIC500)
- DEC 8-bit West European (WE8DEC)
Tập ký tự có độ rộng nhiều byte biến đổi
Đối với tập ký tự này cần phải có nhiều byte mới có thể biểu diễn đợc một ký tự. Số byte biểu diễn
cho một ký tự có thể thay đổi.
Ví dụ:
- Tập ký tự tiếng nhật: Japanese Extended UNIX Code (JEUC)
- Tập ký tự tiếng trung: Chinese GB2312-80 (CGB2312-80)
Tập ký tự có độ rộng cố định
Với tập ký tự này, số byte biểu diễn cho các ký tự khác nhau là nh nhau. Điều này tạo nên sự đồng
nhất trong tập ký tự, thuận tiện cho việc sắp xếp, chuyển đổi và so sánh.
Ví dụ:
- JA16EUCFIXED,16-bit Japanese (a fixed-width subset of JA16EUC)
- JA16SJISFIXED,16-bit Japanese (a fixed-width subset of JA16SIJS)
Tập ký tự quốc tế (Unicode)
Công ty cổ phần ti ngân - BFC
Giáo trình kiến trúc v quản trị Oracle 8i

Đo tạo kiến trúc v quản trị ORACLE 8i Trang 77

Unicode là tập ký tự tuân theo chuẩn mã hoá ký tự quốc tế cho phép biểu diễn đợc tất cả các ký tự
khác nhau trong máy tính. Đối với phiên bản Unicode version 2.0 có thể biểu diễn đợc 38,885 ký tự
khác nhau.
19.2.2 Chọn tập ký tự
Việc chọn tập ký tự tơng ứng trong database có thể đợc thực hiện thông qua mệnh đề: NATIONAL
CHARACTER SET trong lệnh CREATE DATABASE. Khi tạo database, cần quan tâm tới sự khác
nhau giữa tập ký tự database và tập ký tự quốc gia.
Tập ký tự database là tập ký tự sử dụng để lu trữ các mã nguồn SQL và PL/SQL. Do đó, nó chỉ có thể
là tập ký tự EBCDIC hoặc 7-bit ASCII.
Các kiểu dữ liệu: NCHAR, NVARCHAR2, NCLOB cho phép sử dụng với tập ký tự quốc gia. Trong khi
các kiểu dữ liệu: CHAR, VARCHAR2, CLOB chỉ đợc sử dụng với tập ký tự database.

×