Cách theo dõi không gian sử dụng trên các nhóm đĩa ASM


7

Đêm qua, khu vực khôi phục trên một trong các Thiết bị cơ sở dữ liệu Oracle của chúng tôi đã hoạt động đầy đủ. Điều này đã được báo cáo trong một trong các nhật ký cảnh báo cơ sở dữ liệu và chúng tôi có thể xóa một số khoảng trống trước khi chuyển đổi nhật ký tiếp theo, tại thời điểm đó việc sản xuất sẽ bị dừng lại.

Chắc chắn sẽ rất tốt nếu có thêm một chút cảnh báo, như khi nhóm đĩa đã đầy 70%.

Chúng ta có những lựa chọn nào để theo dõi việc sử dụng đĩa trong ASM?


Nếu bạn muốn theo dõi và cảnh báo các thành phần tiên tri, tôi thực sự khuyên bạn nên thiết lập cài đặt Trình quản lý doanh nghiệp Oracle. Nó sẽ cung cấp cho bạn giám sát ASM, có thể gửi thông báo qua email, snmp, v.v. oracle-base.com/articles/13c/ mẹo
Patrick

@Patrick, thật thú vị, chúng tôi đã dành nhiều thời gian để quản lý OEM hơn so với Oracle DB, vì vậy chúng tôi đã ngừng sử dụng OEM một thời gian trước đó.
Roy

Câu trả lời:


16

Chỉ cần sử dụng asmcmd. Ví dụ:

[oracle@oel61 ~]$ . oraenv
ORACLE_SID = [+ASM] ? +ASM
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@oel61 ~]$ asmcmd lsdg
State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512   4096  1048576     30708    28479                0           28479              0             N  DATA/
[oracle@oel61 ~]$ 

Hoặc lấy thông tin trực tiếp từ phiên bản ASM Oracle:

[oracle@oel61 ~]$ . oraenv
ORACLE_SID = [+ASM] ? +ASM
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@oel61 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on Thu Mar 7 10:44:44 2013

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Automatic Storage Management option

SQL> SELECT name, free_mb, total_mb, free_mb/total_mb*100 as percentage 
     FROM v$asm_diskgroup;

NAME                  FREE_MB   TOTAL_MB PERCENTAGE
------------------------------ ---------- ---------- ----------
DATA                    28479      30708 92.7413052

SQL> 

1
OEM cũng có thông tin khi bạn có điều đó và có thể bị ép buộc đưa ra cảnh báo. Các v$asm_diskgroupquan điểm cũng có sẵn trên các "khách hàng" cơ sở dữ liệu (s) (có thể phụ thuộc vào phiên bản chính xác), mà là khá thực tế nếu bạn đã có tùy chỉnh giám sát kịch bản trong đó.
Mat

Chế độ xem v $ asm_diskgroup rất thuận tiện. Cảm ơn! Mặc dù, các cột TOTAL_MB và FREE_MB dường như hiển thị dung lượng thô trái ngược với không gian có thể sử dụng, phải không?
Roy

1
Xem Quản lý dung lượng trong các nhóm đĩa để biết chi tiết về chế độ xem đó, @Roy.
Mat

Tùy chọn thứ 2 hữu ích. Hy vọng điều này cũng có thể hữu ích ở đây: ora-data.blogspot.com/2016/12/ trên
Sunil

2

Thử cái này...

col gname form a10
col dbname form a10
col file_type form a14

SELECT
    gname,
    dbname,
    file_type,
    round(SUM(space)/1024/1024) mb,
    round(SUM(space)/1024/1024/1024) gb,
    COUNT(*) "#FILES"
FROM
    (
        SELECT
            gname,
            regexp_substr(full_alias_path, '[[:alnum:]_]*',1,4) dbname,
            file_type,
            space,
            aname,
            system_created,
            alias_directory
        FROM
            (
                SELECT
                    concat('+'||gname, sys_connect_by_path(aname, '/')) full_alias_path,
                    system_created,
                    alias_directory,
                    file_type,
                    space,
                    level,
                    gname,
                    aname
                FROM
                    (
                        SELECT
                            b.name            gname,
                            a.parent_index    pindex,
                            a.name            aname,
                            a.reference_index rindex ,
                            a.system_created,
                            a.alias_directory,
                            c.type file_type,
                            c.space
                        FROM
                            v$asm_alias a,
                            v$asm_diskgroup b,
                            v$asm_file c
                        WHERE
                            a.group_number = b.group_number
                        AND a.group_number = c.group_number(+)
                        AND a.file_number = c.file_number(+)
                        AND a.file_incarnation = c.incarnation(+) ) START WITH (mod(pindex, power(2, 24))) = 0
                AND rindex IN
                    (
                        SELECT
                            a.reference_index
                        FROM
                            v$asm_alias a,
                            v$asm_diskgroup b
                        WHERE
                            a.group_number = b.group_number
                        AND (
                                mod(a.parent_index, power(2, 24))) = 0
                            and a.name like '&&db_name'
                    ) CONNECT BY prior rindex = pindex )
        WHERE
            NOT file_type IS NULL
            and system_created = 'Y' )
WHERE
    dbname like '&db_name'
GROUP BY
    gname,
    dbname,
    file_type
ORDER BY
    gname,
    dbname,
    file_type
/
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.