Đăng bởi: daoquanghuynh | 18/01/2010

PFILEs and SPFILEs

Giới thiệu bài viết:

Bài viết về PFILEs và SPFILEs là một trong những bài viết được nhiều người đánh giá cao thông qua comments của người viết – admin OracleFaq.
Nguyên gốc:
Initialization Parameter files: PFILEs vs SPFILEs

Bài dịch

Khi một Oracle Instance được khởi tạo, các đặc tính của nó cũng được thiết lập bởi các tham số chỉ định bên trong các tham số khởi tạo (Initialization Parameter files). Các tham số khởi tạo này được lưu trong SPFILEs hoặc PFILEs. SPFILEs chỉ có từ phiên bản 9 trở lên, các phiên bản trước đó sử dụng PFILEs.

SPFILEs có các đặc tính thuận lợi hơn PFILEs như sau:

– Có thể sử dụng RMAN để backup (RMAN không backup PFILEs)
– Giảm thiểu lỗi do người sử dụng.
– Quản trị bởi Server, các tham số trước phải được kiểm tra trước khi thay đổi.
– Loại trừ các vấn đề cấu hình.
– Dễ dàng lưu trữ, tìm thấy tại nơi trọng tâm.

Sự khác nhau giữa SPFILEs và PFILEs:

Một PFILE là một file text, tĩnh và được cập nhập bởi một trình soạn thảo như Notepad. File này thường được đặt tại Server, tuy nhiên, nên có một bản copy của nó nếu như bạn muốn khởi động Oracle tại một máy khách từ xa. DBA thường tham khảo PFILEs ở một file có tên là INIT.Ora

Một SPFILE (Server Parameter File) thường chỉ để ở Server, nó là một file có dạng nhị phân, và do vậy, để chỉnh sửa nó phải bằng câu lệnh – ALTER SYSTEM SET. Nếu thay đổi SPFILE không đúng sẽ gây ra lỗi Database.

Làm thế nào để biết DB của bạn đang sử dụng PFILE hay SPFILE?

Mã:
SQL> SELECT DECODE(value, NULL, ‘PFILE’, ‘SPFILE’) “Init File Type”
FROM sys.v_$parameter WHERE name = ‘spfile’;

Câu lệnh trên sẽ thông báo cho bạn biết DB của bạn đang chạy SPFILE hay PFILE.
Hoặc bạn có thể query view V$SPPARAMETER để kiểm tra DB của bạn có sử dụng PFILE hay không. Giá trị NULL trong cột VALUE sẽ cho bạn biết DB của bạn đang chạy PFILE

Sử dụng câu lệnh để xem giá trị:

Để biết được giá trị (VALUE column) của SPFILE, thực chất chính là location của nó, bạn có thể sử dụng câu lệnh sau:

Mã:
SQL> Show parameter SPFILE

Một số các view thông dụng để xem kết quả giá trị của các tham số:
V$PARAMETER view, V$PARAMETER2 view và V$SPPARAMETER view

Khởi động Database với PFILE:

Mã:
SQL> STARTUP PFILE=’/oradata/spfileORCL.ora’

Chú ý rằng sẽ không có câu lệnh “STARTUP SPFILE=..”.

Thay đổi các giá trị tham số trong SPFILE

Vì SPFILE là một file nhị phân, do đó, chúng ta sử dụng câu lệnh
ALTER SYSTEM SET hoặc ALTER SYSTEM RESET để thay đổi giá trị tham số của SPFILE

Ví dụ:

Mã:
SQL> ALTER SYSTEM SET open_cursors=300 SCOPE=SPFILE;
SQL> ALTER SYSTEM SET timed_statistics=TRUE
COMMENT=’Changed by Vnoug.Org on 25 May 2007′
SCOPE=BOTH
SID=’*’;

Với SCOPE có các giá trị:
MEMORY, SPFILE và BOTH
MEMORY: Thiết lập giá trị chỉ cho Instance hiện tại
SPFILE: Thiết lập giá trị bằng cách cập nhập trực tiếp SPFILE.
BOTH: Thiết lập cho cả 2.

SID chỉ có tác dụng đối với môi trường RAC, chỉ ra Instance nào được cập nhập giá trị. * là cho tất cả các Instance.

Thay đổi từ PFILE sang SPFILE:

SQL> CREATE PFILE FROM SPFILE;
SQL> CREATE SPFILE FROM PFILE;

2 câu lệnh trên chỉ thực hiện với user có quyền SYSDBA hoặc SYSOPER
Ví dụ:
SQL> CREATE SPFILE=’/oradata/spfileORCL.ora’ from PFILE=’/oradata/initORCL.ora’;

Backup Parameter Files:

Sử dụng RMAN, thay đổi câu lệnh sau để backup controlfile
RMAN>CONFIGURE CONTROLFILE AUTOBACKUP;
Thiết lập này được thay đổi thì RMAN cũng tự động backup SPFILE

Restore lại SPFILE:

Mã:
RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP;

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

Danh mục

%d bloggers like this: