Những cải tiến trong ASM
Giới thiệu ASM nâng cao khả năng thực thi cung cấp từ các đĩa thô, giúp việc quản trị các đĩa này không còn khó khăn như trước. Ngoài ra, ASM còn cung cấp chính sách ánh xạ lưu trữ, có thể được cấu hình ở mức file thay vì mức ổ theo cách truyền thống của ...
Giới thiệu
ASM nâng cao khả năng thực thi cung cấp từ các đĩa thô, giúp việc quản trị các đĩa này không còn khó khăn như trước. Ngoài ra, ASM còn cung cấp chính sách ánh xạ lưu trữ, có thể được cấu hình ở mức file thay vì mức ổ theo cách truyền thống của trình quản lý đĩa. Các file ánh xạ hoặc không ánh xạ trong một nhóm đĩa ASM đều có thể cùng tồn tại.
ASM “phát tán” file dữ liệu Oracle qua tất cả ổ đĩa logic trong cùng một nhóm, do đó loại bỏ được mọi Hotspot (là các vùng lưu trữ có nhiều bảng được dùng thường xuyên nhất). Nhưng tuyệt vời nhất là nó cho phép thêm hoặc xoá ổ đĩa trực tuyến. Tất cả chức năng mới được bổ sung trong khi người dùng không phải trả thêm chi phí phụ nào. Bất cứ khi nào cần sử dụng hệ thống file theo nhóm, ASM luôn là thành phần quan trọng, như chính tài nguyên của nó (ổ đĩa, file). ASM có thể chia sẻ và phù hợp với kiến trúc lưu trữ chia sẻ, cho dù nó là clusterware RAC hay non-RAC.
ASM được triển khai trên diện rộng ở các công ty có dữ liệu lớn và tăng lên không ngừng như các hãng di động và viễn thông, trên nhiều thị trường bán lẻ lớn như Amazon và cả trong một số ứng dụng ngân hàng. Cá nhân tôi nghĩ rằng, tương lai ASM có thể thay thế tất cả sản phẩm quản lý lưu trữ dữ liệu của các hãng sản xuất bây giờ.
Trong bài này, chúng ta sẽ được biết đến một số thành phần mới của ASM phiên bản 10G R2 và thảo luận chi tiết hơn về một số thành phần chúng ta mới khám phá gần đây.
Thành phần mới
1, Release 2 mở rộng tính năng cho ASM, cho phép hỗ trợ đa phiên bản cơ sở dữ liệu. Nhưng hãy thận trọng, vì ASM chỉ sử dụng tính năng của phiên bản thấp nhất. Có nghĩa là, nếu bạn đang chạy cơ sở dữ liệu 10.2 trên một phiên hoạt động ASM v10.1, ASM sẽ không dùng tính năng của 10.2, và ngược lại.
Khi truy vấn bảng ảo v$ASM_CLIENT, bạn có thể thấy hai cột phụ: compatible_Version và software_version. Chúng có chức năng kết hợp chặt chẽ thành phần này.
SQL> select * from v$asm_client; GROUP_NUMBER INSTANCE_NAME DB_NAME STATUS ------------ ----------------------------------------- -------- ------------ SOFTWARE_VERSION ------------------------------------------------------------ COMPATIBLE_VERSION ------------------------------------------------------------ 1 +ASM1 QPRV CONNECTED 10.1.0.2.0 10.2.0.0.0
2, Release 2 cũng hỗ trợ chức năng hợp nhất các cơ sở dữ liệu trên một nút đơn. Có nghĩa là, với các phiên bản 10G trước, bạn không thể quản lý cơ sở dữ liệu trên phiên đơn và các phiên RAC của cơ sở dữ liệu trên một nút đơn dùng ASM. Nhưng trong 10G R2, một phiên ASM trên một nút có thể quản lý lưu trữ kết hợp các hoạt động cơ sở dữ liệu khác nhau đang diễn ra trên nút. Chức năng mới này giúp việc quản trị lưu trữ của DBA (quản trị viên cơ sở dữ liệu) trở nên đơn giản hơn nhiều. Nếu đã sử dụng hai chương trình ASM để quản trị đa cơ sở dữ liệu làm việc trên một nút, bạn cần chuyển một sang chương trình đơn ASM có các số nhị phân 10G R2 mới. Nếu không có bản nâng cấp này, bạn sẽ không có cơ hội đơn giản hoá công tác quản trị trên một phiên làm việc ASM đơn.
3, Oracle Database 10G Release 2 cung cấp tiện ích giao diện dòng lệnh ASM (ASMCMD) để có thể truy cập và quản lý file từ cửa sổ lệnh Command Prompt. Các phiên bản trước phải sử dụng SQL/PL *Plus hoặc OEM.
Một số ví dụ về giao diện dòng lệnh này:
$ asmcmd asmcmd: command disallowed by current instance type # ORACLE_SID is wrong $ echo $ORACLE_SID ORCL $ export ORACLE_SID=+ASM1 $ asmcmd ASMCMD>Nhận dạng nhóm đĩa, dùng ASMCMD:
ASMCMD> lsdg State Type Rebal Unbal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name MOUNTED EXTERN N N 512 4096 1048576 122876 46775 0 46775 0 DATABASE_DG/ ASMCMD> lsct DB_Name Status Software_Version Compatible_version Instance_Name ORCL CONNECTED 10.2.0.1.0 10.2.0.1.0 ORCL1
Nhận dạng file dữ liệu, dùng ASMCMD:
ASMCMD> cd +DATABASE_DG/qprv ASMCMD> ls CONTROLFILE/ DATAFILE/ ONLINELOG/ PARAMETERFILE/ TEMPFILE/ devices_01.dbf operations_01.dbf users01.dbf
Tìm vị trí file điều khiển được đặt trên ASM:
ASMCMD> cd CONTROLFILE/
ASMCMD> ls
Current.260.563388683
Current.261.563388685
Current.262.563388685
Thu hồi lại không gian đĩa, dùng ASMCMD:
Giả sử rằng bạn đang có 3 nút phiên RAC, cơ sở dữ liệu lưu trữ các bản log và tập hợp sao lưu được đặt trên vùng lưu trữ ASM. Sau một thời gian bạn thấy chúng không còn cần thiết và muốn xoá chúng để thu hồi lại không gian đĩa trong ASM. Thực hiện như sau:
ASMCMD > CD +BACKUPDEST # thay đổi nhóm đĩa
ASMCMD > PWD # thư mục hiện tại
ASMCMD > find . -t BACKUPSET.* # để tìm các file tập hợp sao lưu trong nhóm đĩa
Sau khi các file được đưa lên danh sách, bạn có thể dùng lệnh rm của hệ điều hành để xoá chúng và dùng RMAN để kiểm tra chéo các bản sao lưu đã xoá.
Chú ý là, cờ -t có thể có các giá trị như DATAFILE, ARCHIVELOG, CONTROLFILE, ONLINELOG.
ASMCMD> help
asmcmd [-p] [command]
Các biến môi trường ORACLE_HOME và ORACLE_SID xác định phiên làm việc chương trình đang kết nối tới. Còn ASMCMD thiết lập một kết nối truyền lại đến nó, tương tự như trong SQLPLUS/ AS SYSDBA. Người dùng phải là một thành viên trong nhóm quản trị hệ thống (SYSDBA).
Tuỳ chọn -p cho phép thư mục hiện tại được hiển thị trong cửa sổ lệnh Command Prompt, tương tự như:
ASMCMD [+DATAFILE/ORCL/CONTROLFILE] >
[command] mô tả một trong các lệnh sau, đi kèm với các tham số của nó.
(Gõ “help [command]” để xem thêm phần trợ giúp về câu lệnh ASMCMD nếu cần).
Các lệnh:
cd
du
find
help
ls
lsct
lsdg
mkalias
mkdir
pwd
rm
rmalias
4, 10G R2 cung cấp phương thức linh hoạt hơn trong việc chuyển file giữa các cơ sở dữ liệu và trong nội bộ một cơ sở dữ liệu: Có một cách khác thú vị hơn trong chuyển file giữa các nhóm đĩa ASM (ASM Disk Group) là sử dụng RMAN. RMAN là thành phần quan trọng của hoạt động quản lý lưu trữ tự động Automatic Storage Management. Nó chịu trách nhiệm theo dõi tên file ASM và xoá các file ASM không còn dùng đến. Từ sau khi không thể truy cập file ASM qua giao diện hệ điều hành thông thường, RMAN trở thành phương tiện đắc dụng trong copy file ASM.
Tuy nhiên, ở một số trường hợp có thể bạn muốn chuyển file trên server cơ sở dữ liệu từ xa, không dùng RMAN hay cài đặt datagaurd. Khi đó, chúng ta có gói DBMS gọi là DBMS_FILE_TRANSFER. Phiên bản 10G R2 hỗ trợ file “ASM to OS” và “OS File to ASM”. Các phiên bản trước của 10G cũng đã hỗ trợ hình thức truyền tải file “ASM to ASM” (giữa hai file ASM) và “OS to OS” (giữa hai file hệ điều hành).
Sử dụng chức năng này, DBA có thể chuyển file dữ liệu từ bên trong Oracle ra mà không cần đăng nhập “một cách vật lý” vào bản thân hệ điều hành. Ngoài ra, chức năng này còn cung cấp thêm một số tuỳ chọn cho hoạt động quản trị cơ sở dữ liệu chung, như quản lý lưu trữ đơn giản (cần giải phóng không gian đĩa). Chúng ta hãy xem ví dụ sau để hiểu cách chuyển một file ASM tới thư mục hệ điều hành như thế nào:
SQL> select tablespace_name,file_name from dba_Data_files; TABLESPACE_NAME ------------------------------ FILE_NAME ------------------------------------------------------------------------------------------------------------------------ USERS +DATABASE_DG/qprv/users01.dbf SYSAUX +DATABASE_DG/qprv/sysaux01.dbf UNDOTBS1 +DATABASE_DG/qprv/undotbs01.dbf SYSTEM +DATABASE_DG/qprv/system01.dbf UNDOTBS2 +DATABASE_DG/qprv/undotbs02.dbf DEVICES +DATABASE_DG/qprv/devices_01.dbf SERVICES +DATABASE_DG/qprv/services_01.dbf OPERATIONS +DATABASE_DG/qprv/operations_01.dbf BBIDS_TBS +DATABASE_DG/qprv/bbids_tbs_01.dbf USERS +DATABASE_DG/qprv/users02.dbf TEST +DATABASE_DG/qprv/test.dbf 11 rows selected. SQL> create or replace directory oracle_10g as '+DATABASE_DG/qprv/'; Directory created. SQL> grant read,write on directory oracle_10g to ram; Grant succeeded. SQL> create or replace directory oracle_dest as '+db04/oradata/qprv/'; Directory created. SQL> grant read,write on directory oracle_dest to ram; Grant succeeded SQL> ALTER DATABASE DATAFILE '+DATABASE_DG/qprv/test.dbf' offline; Database altered.
Bây giờ, copy file từ nhóm đĩa ASM đích tới thư mục hệ thống file OS bình thường.
BEGIN DBMS_FILE_TRANSFER.COPY_FILE( source_directory_object => 'ORACLE_10G', source_file_name => test.dbf, destination_directory_object => 'ORACLE_DEST', destination_file_name => 'TEST.DBF); END; Database altered
5, Hỗ trợ ASM/XDB FTP là một chức năng mới khác, cho phép sử dụng XDB và ASM với giao diện người dùng để lấy file vào và đưa file ra vùng lưu trữ được quản lý ASM. Khi chọn thành phần XML Database trong quá trình cài đặt, bạn có thể tạo một thư mục ASM ảo. Thư mục này rỗng và được đặt trên /sys/asm, bên trong cây phân tầng XML Database. Bất kỳ hoạt động nào trên thư mục ảo ASM đều được điều khiển bởi ASM. Quản trị viên có thể khai thác chức năng này để cấu hình các thư mục khác nhau với các nhóm đĩa khác nhau. Một thư mục nhóm đĩa có thể có các thư mục con bên trong với một vài file, folder. Thành phần FTP khá hữu ích trong việc chuyển file vào/ra các thư mục này.
6, Các bảng ảo và cột ASM mới:
-
V$asm_disk_stat và v$asm_diskgroup_stast
Hai bảng ảo này giống y hệt nhau, lần lượt được gọi là v$asm_disk và v$asm_diskgroup, nhưng lấy dữ liệu từ bộ nhớ thay vì biến đổi từ nhóm đĩa. Theo một số kinh nghiệm thực tiễn cho biết thì, bạn nên truy vấn v$asm_disk và v$asm_diskgroup, chúng khá thú vị, nhưng không phải là vào giờ cao điểm.
-
Các cột mới thêm vào v$asm_diskgroup:
USABLE_FREE_SPACE: Tổng không gian sử dụng còn trống. Ở một số phiên bản trước, không gian trống được tính từ bảng ảo này không được ánh xạ vào tài khoản.
REQUIRED_MB_FREE: Cột này là thông số không gian ước lượng đòi hỏi trong tiến trình phục hồi ổ đĩa khi một hoặc một số đĩa bị hỏng.
REDUNANCE_LOWERED: Khi một vùng file dữ liệu không được ánh xạ, vùng dự trữ sẽ giảm theo mức độ do DBA quy định. Cột này được thêm vào bảng ảo v$asm_file để nhận dạng quá trình giảm này trong vùng dự trữ. Giá trị cho cột này là YES hoặc NO.
Kết luận
Các thành phần mới trong ASM giúp công việc quản trị của DBA trở nên đơn giản hơn, nhất là quản lý đa phiên trên cùng một nút. Bạn không cần phải dùng đến bất kỳ phần mềm của nhóm thứ ba nào trong quản lý bộ đĩa ASM và hệ thống file cơ sở dữ liệu. Chức năng tự động bổ sung giúp ASM trở thành giải pháp ổn định, hiệu quả và kinh tế hơn.