Đổi NLS_CHARACTERSET trong Oracle

Khi chuyển đổi dữ liệu Oracle từ máy này sang máy khác. Tôi gặp một số trường hợp bị lỗi font Tiếng Việt trên máy đích.

Có một nguyên nhân sinh lỗi font đó là do NLS_CHARACTERSET trên máy nguồn và máy đích khác nhau.

1, Kiểm tra NLS_CHARACTERSET trên mỗi máy.

$sqlplus /nolog

$conn / as sysdb

>SELECT value$ FROM sys.props$ WHERE name = ‘NLS_CHARACTERSET’ ;

2, Nếu NLS_CHARACTERSET trên mỗi máy khác nhau, cách khả thi nhất là chuyển NLS_CHARACTERSET

máy đích về AL32UTF8

2.1 Đăng nhập tài khoản quản trị sysdba giống như bước 1

2.2 Tắt hệ thống,  sao lưu dữ liệu.

> SHUTDOWN IMMEDIATE;

2.3 Bật dưới chế độ RESTRICT

> STARTUP RESTRICT;

2.4 Chuyển các tham số về mặc định:

> ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 0;
> ALTER SYSTEM SET AQ_TM_PROCESSES=0;

2.5 Chuyển NLS_CHARACTERSET

> ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;

2.6 Tắt CSDL và khởi động lại CSDL ở chế độ bình thường:

> SHUTDOWN IMMEDIATE;
> STARTUP;

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: