云计算百科
云计算领域专业知识百科平台

服务器巡检

巡检命令

top
# 查看cpu的空闲时间以及IO等待完成时间

free -h
# 查看avaliable的使用情况

df -h
# 查看磁盘空间占用情况

getenforce
# 使用getenforce命令可以在Linux下查看是否开启了SELinux
# 如果为disable则有风险

systemctl status firewalld
# 查看防火墙是否开启

crontab -l
# 查看有没有未知的定时任务

数据库巡检


select instance_name,host_name,startup_time,status,database_status from v$instance;
— 查看Oracl实例的状态


select group#,status,type,member from v$logfile;
— 检查Oracle在线日志状态

在Oracle数据库中,v$logfile是一个动态性能视图,它提供了关于在线重做日志文件的信息。这些日志文件是Oracle用于记录所有数据库更改(如插入、更新和删除操作)的物理文件。这些更改随后可用于恢复操作,例如实例恢复或介质恢复。 从v$logfile视图中检索以下列的信息:

  • group# – 这是重做日志组的编号。在Oracle中,你可以有多个在线重做日志组,每个组可以有一个或多个成员(即物理文件)。
    • group#列表示日志组的编号。
  • status – 这列显示了重做日志的状态。可能的值包括:
    • CURRENT – 表示该日志文件是当前正在写入的日志文件。

    • ACTIVE – 表示该日志文件包含尚未被归档的更改。

    • INACTIVE – 表示该日志文件不再用于写入,但可能包含尚未被覆盖的更改。

    • UNUSED – 表示该日志文件尚未使用。

  • type – 这列描述了重做日志文件的类型。对于在线重做日志文件,它通常显示为ONLINE。

  • member – 这列显示了重做日志文件的完整路径和名称。每个日志组可以有多个成员,这意味着该组的日志数据被写入多个物理文件中。这提供了冗余和容错能力,因为如果一个物理文件损坏,其他文件仍然可用。

  • 通过查询v$logfile视图,数据库管理员可以了解当前哪些日志文件正在使用,哪些处于空闲状态,以及这些日志文件的物理位置。这对于诊断问题、规划磁盘空间以及进行恢复操作都非常重要。


    select tablespace_name,status from dba_tablespaces;
    — 检查Oracle表空间的状态


    select name,status from v$datafile;
    — 检查Oracle所有数据文件状态

  • name – 这列显示了数据文件的完整路径和名称。它提供了数据文件的物理位置信息。

  • status – 这列描述了数据文件的状态。可能的状态值包括:

    • AVAILABLE – 数据文件可用,并且可以被访问。
    • RECOVER – 数据文件正在恢复中,可能由于介质故障或其他原因。
    • OFFLINE – 数据文件当前不可用,可能由于管理员手动将其设置为离线状态,或者由于其他原因(如磁盘故障)。
    • INVALID – 数据文件的状态无效或损坏。
    • DELETED – 数据文件已被标记为删除,但其空间可能尚未被释放。
  • 通过查询v$datafile视图,数据库管理员可以了解数据库中所有数据文件的状态和位置。这对于诊断问题、管理磁盘空间、备份和恢复操作以及监控数据库的健康状况都至关重要。例如,如果某个数据文件的状态为OFFLINE,那么可能需要进一步调查为什么它不可用,并考虑将其恢复为AVAILABLE状态。同样,如果数据文件的状态为INVALID或RECOVER,则可能需要进行恢复操作以确保数据的完整性和可用性。

    select segment_name,status from dba_rollback_segs;
    — 检查所有回滚段状态

    SELECT Upper(F.TABLESPACE_NAME) "表空间名",
    D.TOT_GROOTTE_MB "表空间大小(M)",
    D.TOT_GROOTTE_MB F.TOTAL_BYTES "已使用空间(M)",
    To_char(Round(( D.TOT_GROOTTE_MB F.TOTAL_BYTES ) / D.TOT_GROOTTE_MB * 100, 2), '990.99')
    || '%' "使用比",
    F.TOTAL_BYTES "空闲空间(M)",
    F.MAX_BYTES "最大块(M)"
    FROM (SELECT TABLESPACE_NAME,
    Round(Sum(BYTES) / ( 1024 * 1024 ), 2) TOTAL_BYTES,
    Round(Max(BYTES) / ( 1024 * 1024 ), 2) MAX_BYTES
    FROM SYS.DBA_FREE_SPACE
    GROUP BY TABLESPACE_NAME) F,
    (SELECT DD.TABLESPACE_NAME,
    Round(Sum(DD.BYTES) / ( 1024 * 1024 ), 2) TOT_GROOTTE_MB
    FROM SYS.DBA_DATA_FILES DD
    GROUP BY DD.TABLESPACE_NAME) D
    WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
    ORDER BY 1

    — 检查表空间使用情况

    SELECT a.VALUE + b.VALUE logical_reads,
    c.VALUE phys_reads,
    round(100 * (1 c.value / (a.value + b.value)), 4) hit_ratio
    FROM v$sysstat a, v$sysstat b, v$sysstat c
    WHERE a.NAME = 'db block gets'
    AND b.NAME = 'consistent gets'
    AND c.NAME = 'physical reads';
    — 检查缓冲区命中率

    select index_name, table_name, tablespace_name, status
    From dba_indexes
    Where owner = 'CTAIS2'
    And status <> 'VALID';

    — 检查失效的索引

    SELECT owner, constraint_name, table_name, constraint_type, status
    FROM dba_constraints
    WHERE status = 'DISABLE'
    and constraint_type = 'P';
    — 检查不起作用的约束

    下面的命令需要在sqlplus上执行

    su – oracle
    sqlplus /nolog
    conn sys/ as sysdba;

    show parameter process;
    — 查看db_write_process数设定值

    show parameter sessions;
    — 查看session数设定值

    select count(*) from v$session;
    — 查看session数实际值

    select sum(percent_space_used) from v$flash_recovery_area_usage;
    — 查看归档日志占比


    扩展表空间

    查看表空间使用百分比

    SELECT
    b.file_id 文件ID号,
    b.tablespace_name 表空间名,
    b.bytes / 1024 / 1024 || 'M' 字节数,
    (
    b.bytes sum(nvl(a.bytes, 0))
    ) / 1024 / 1024 || 'M' 已使用,
    sum(nvl(a.bytes, 0)) / 1024 / 1024 || 'M' 剩余空间,
    100 sum(nvl(a.bytes, 0)) / (b.bytes) * 100 占用百分比
    FROM
    dba_free_space a,
    dba_data_files b
    WHERE
    a.file_id = b.file_id
    GROUP BY
    b.tablespace_name,
    b.file_id,
    b.bytes
    ORDER BY
    b.file_id;

    查看表空间路径

    SELECT
    tablespace_name,
    file_id,
    file_name,
    round(bytes /(1024 * 1024), 0) total_space
    FROM
    dba_data_files
    ORDER BY
    tablespace_name;

    扩展表空间

    ALTER TABLESPACE USERS ADD DATAFILE 'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\USERS04.DBF' SIZE 10000M;

    ALTER DATABASE DATAFILE '+DATA/jhszws/datafile/phistablespace2017.ora' RESIZE 10G;

    设置自动扩展

    alter database datafile '/erp/TEST/db/data/cux_arch_03.dbf' autoextend on next 1000M maxsize 16000M;

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 服务器巡检
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!