DM8日常运维命令总结(二)

简介: DM8日常运维命令总结(二)

一、基础运维命令

查看当前的用户

  1. select sys_context('USERENV','CURRENT_USER');

查看当前的会话ID

  1. select sys_context('USERENV','SID');

查询数据库的活动会话数并登录数据库服务器看数据库的资源负载

  1. select * from v$sessions where state='ACTIVE';

查看归档状态的相关信息,也可以查看主备库的同步情况

  1. SELECT * FROM V$ARCH_STATUS;

查看DM数据库参数类型

  1. SELECT DISTINCT TYPE FROM V$PARAMETER;

查询V$PARAMETER视图

  1. SELECT TOP 5 NAME,VALUE FROM V$PARAMETER;

查询V$DM_INI视图

  1. SELECT TOP 5 PARA_NAME,PARA_VALUE FROM V$DM_INI;

使用系统函数修改启动参数


  1. SELECT A.ID,A.NAME,A.TYPE,A.VALUE,A.SYS_VALUE,A.FILE_VALUE
  2. FROM SYS."V$PARAMETER" A WHERE A.NAME='COMPATIBLE_MODE';

  3. #修改状态为2
  4. SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',2);

查看数据库是否存在阻塞

  1. WITH TRX_TAB AS
  2. (SELECT O1.NAME,L1.TRX_ID FROM V$LOCK L1,SYSOBJECTS O1 WHERE L1.TABLE_ID=O1.ID AND O1.ID<>0),
  3. TRX_SESS AS (
  4. SELECT L.TRX_ID WT_TRXID, L.ROW_IDX BLK_TRXID,L.BLOCKED,(SELECT NAME TABLE_NAME FROM TRX_TAB A WHERE A.TRX_ID=L.TRX_ID) WT_TABLE,
  5. S1.SESS_ID WT_SESS,S2.SESS_ID BLK_SESS,
  6. S1.USER_NAME WT_USER_NAME,S2.USER_NAME BLK_USER_NAME,S1.SQL_TEXT,S1.CLNT_IP,DATEDIFF(SS, S1.LAST_SEND_TIME, SYSDATE) SS
  7. FROM V$LOCK L,V$SESSIONS S1,V$SESSIONS S2
  8. WHERE L.TRX_ID=S1.TRX_ID AND L.ROW_IDX=S2.TRX_ID)
  9. SELECT SYSDATE STATTIME,* FROM TRX_SESS where BLOCKED=1;

查询到最慢的 20 条 SQL 信息

  1. SELECT TOP 20 START_TIME,TIME_USED/1000 TIME_USED,TOP_SQL_TEXT FROM V$SQL_HISTORY ORDER BY TIME_USED DESC;
  2. SELECT * FROM V$SYSTEM_LONG_EXEC_SQLS ORDER BY EXEC_TIME DESC;

查看某模式/用户下表占用空间大小排序

  1. select  t.segment_name,
  2.       t.segment_type,
  3.       t.tablespace_name,
  4.       t.owner,
  5.       t.bytes,
  6.       t.bytes/1024 byte_kb,
  7.       t.bytes/1024 byte_mb
  8.  from dba_segments t
  9. where t.owner = 'SYSDBA'   -- 用户/模式名
  10.   and t.SEGMENT_TYPE = 'TABLE'
  11. order by t.bytes desc;

查询某个模式/用户下表的记录数

  1. select t.owner, t.table_name, t.tablespace_name, t.num_rows, t.last_analyzed
  2.  from dba_tables t
  3. where t.owner = 'SYSDBA'   -- 用户/模式名
  4. order by t.num_rows desc;

查看动态性能视图 V$SYSSTAT 统计系统对象的信息

  1. select * from V$SYSSTAT where classid in (11,5) order by classid desc;

查看 redo 日志信息,包括路径,大小,可用空间,总空间

  1. SELECT
  2.        A.FILE_ID    ,
  3.        A.PATH       ,
  4.        A.CLIENT_PATH,
  5.        A.RLOG_SIZE  ,
  6.        B.FREE_SPACE ,
  7.        B.TOTAL_SPACE,
  8.        B.CUR_FILE
  9. from
  10.        (
  11.                select * from V$RLOGFILE where true
  12.        )  A,
  13.        (
  14.                select * from V$RLOG where true
  15.        )  B;

查看表空间的使用率

  1. SELECT a.tablespace_name "表空间名称",
  2. total / (1024 * 1024) "表空间大小(M)",
  3. free / (1024 * 1024) "表空间剩余大小(M)",
  4. (total - free) / (1024 * 1024 ) "表空间使用大小(M)",
  5. total / (1024 * 1024 * 1024) "表空间大小(G)",
  6. free / (1024 * 1024 * 1024) "表空间剩余大小(G)",
  7. (total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",
  8. round((total - free) / total, 4) * 100 "使用率 %"
  9. FROM (SELECT tablespace_name, SUM(bytes) free
  10. FROM dba_free_space
  11. GROUP BY tablespace_name) a,
  12. (SELECT tablespace_name, SUM(bytes) total
  13. FROM dba_data_files
  14. GROUP BY tablespace_name) b
  15. WHERE a.tablespace_name = b.tablespace_name;

数据文件信息

  1. select * from V$DATAFILE;

查询表行数统计信息

  1. begin
  2. for rec in (select owner,table_name from all_tables where owner not in ('SYS','SYSAUDITOR','SYSSSO','CTISYS')) loop
  3. call SP_TAB_STAT_INIT(rec.owner,rec.table_name);
  4. end loop;
  5. end;
  6. /
  7. select owner,table_name,tablespace_name,status,num_rows from all_tables where owner not in ('SYS','SYSAUDITOR','SYSSSO','CTISYS')
  8. order by owner,num_rows desc;

查看表空间与数据文件对应关系

  1. SELECT
  2.        TS.NAME,
  3.        DF.PATH
  4. FROM
  5.        V$TABLESPACE AS TS,
  6.        V$DATAFILE   AS DF
  7. WHERE
  8.        TS.ID = DF.GROUP_ID;

查看Temp 表空间

  1. SELECT a.tablespace_name "表空间名称",
  2. total / (1024 * 1024) "表空间大小(M)",
  3. free / (1024 * 1024) "表空间剩余大小(M)",
  4. (total - free) / (1024 * 1024 ) "表空间使用大小(M)",
  5. total / (1024 * 1024 * 1024) "表空间大小(G)",
  6. free / (1024 * 1024 * 1024) "表空间剩余大小(G)",
  7. (total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",
  8. round((total - free) / total, 4) * 100 "使用率 %"
  9. FROM (SELECT tablespace_name, SUM(bytes) free
  10. FROM dba_free_space
  11. GROUP BY tablespace_name) a,
  12. (SELECT tablespace_name, SUM(bytes) total
  13. FROM dba_data_files
  14. GROUP BY tablespace_name) b
  15. WHERE a.tablespace_name = b.tablespace_name;

查看数据库死锁历史信息记录

  1. select * from V$DEADLOCK_HISTORY;

查看 DBLINK 信息

  1. select * from DBA_DB_LINKS;

查看所有作业信息

  1. SELECT A.ID,A.NAME,A."ENABLE",A.USERNAME,A.CREATETIME,A.MODIFYTIME,A.DESCRIBE,
  2. B.LAST_DATE||' '||B.LAST_SEC LAST_TIME,B.NEXT_DATE||' '||B.NEXT_SEC NEXT_TIME,B.WHAT
  3. FROM SYSJOB.SYSJOBS A,SYSJOB.USER_JOBS B
  4. WHERE A.ID=B.JOB;

查看所有作业调度信息

  1. SELECT * FROM SYSJOB.SYSJOBSCHEDULES;

二、读写分离和数据守护的配置差异

dm_svc.conf配置

同步逻辑是几乎一样,区别主要在于事务分发即读写分离分发比例,读写分离集群可通过配置dm_svc.conf实现事务分发,数据守护没有

读写分离集群

  1. cat /etc/dm_svc.conf
  2. ##以#开头的行表示是注释
  3. ##全局配置区
  4. TIME_ZONE=(480)  #指明客户端的默认时区 +480东八区
  5. LANGUAGE=(en)
  6. DMRW=(192.168.40.130:5236,192.168.40.140:5236)
  7. ##服务配置
  8. [DMRW]
  9. LOGIN_MODE=(1)  #0:优先连接 PRIMARY 模式的库,NORMAL 模式次之,最后选择 STANTBY 模式;1:只连接主库;2:只连接备库;3:优先连接 STANDBY 模式的库,PRIMARY 模式次之,最后选择 NORMAL 模式;4:优先连接 NORMAL 模式的库,PRIMARY 模式次之,最后选择 STANDBY 模式。
  10. RW_SEPARATE=(1) #是否启用读写分离。0:不启用;1:启用;2:启用,备库由客户端进行选择,且只会选择服务名中配置的节点。
  11. RW_PERCENT=(30) #读写分离分发比例,有效值范围 0~100,主库占所有事物数的比例
  12. SWITCH_TIMES=(60) #以服务名连接数据库时,若未找到符合条件的库成功建立连接,将尝试遍历服务名中库列表的次数。
  13. SWITCH_INTERVAL=(1000) #在服务器之间切换的时间间隔,单位为毫秒

数据守护集群

  1. cat /etc/dm_svc.conf
  2. ##以#开头的行表示是注释#
  3. ##全局配置区
  4. TIME_ZONE=(480)
  5. LANGUAGE=(cn)
  6. DMHA=(192.168.40.150:5236,192.168.40.160:5236)
  7. ##服务配置
  8. [DMHA]
  9. LOGIN_MODE=(1)  #0:优先连接 PRIMARY 模式的库,NORMAL 模式次之,最后选择 STANTBY 模式;1:只连接主库;2:只连接备库;3:优先连接 STANDBY 模式的库,PRIMARY 模式次之,最后选择 NORMAL 模式;4:优先连接 NORMAL 模式的库,PRIMARY 模式次之,最后选择 STANDBY 模式。
  10. SWITCH_TIMES=(60) #以服务名连接数据库时,若未找到符合条件的库成功建立连接,将尝试遍历服务名中库列表的次数。
  11. SWITCH_INTERVAL=(1000) #在服务器之间切换的时间间隔,单位为毫秒

dmarch.ini

读写分离集群

即时归档

  1. [dmdba@~]$ vi /dmdb8/dmdata/DAMENG/dmarch.ini

  2. ARCH_WAIT_APPLY            = 0  #0:高性能   1:事务一致
  3. [ARCHIVE_LOCAL]
  4. ARCH_TYPE                = LOCAL  #本地归档类型
  5. ARCH_DEST                = /dmdb8/dmarch/DAMENG   #本地归档存放路径
  6. ARCH_FILE_SIZE           = 1024  #单个归档大小,单位 MB
  7. ARCH_SPACE_LIMIT         = 51200  #归档上限,单位 MB

  8. [ARCHIVE_TIMELY1]
  9. ARCH_TYPE                = TIMELY  #即时归档类型
  10. ARCH_DEST                = top02   #即时归档目标实例名

数据守护集群

  1. [dmdba@~]$ vi /dmdb8/dmdata/DAMENG/dmarch.ini

  2. ARCH_WAIT_APPLY            = 0   #0:高性能 1:事务一致
  3. [ARCHIVE_LOCAL]
  4. ARCH_TYPE                = LOCAL  #本地归档类型
  5. ARCH_DEST                = /dmdb8/dmarch/DAMENG  #本地归档存放路径
  6. ARCH_FILE_SIZE           = 1024  #单个归档大小,单位 MB
  7. ARCH_SPACE_LIMIT         = 51200  #归档上限,单位 MB

  8. [ARCHIVE_REALTIME1]
  9. ARCH_TYPE                = REALTIME  #实时归档类型
  10. ARCH_DEST                = top02  #实时归档目标实例名
相关文章
|
21天前
|
运维 监控 网络协议
|
7天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
24 3
|
3月前
|
图形学 开发者 存储
超越基础教程:深度拆解Unity地形编辑器的每一个隐藏角落,让你的游戏世界既浩瀚无垠又细节满满——从新手到高手的全面技巧升级秘籍
【8月更文挑战第31天】Unity地形编辑器是游戏开发中的重要工具,可快速创建复杂多变的游戏环境。本文通过比较不同地形编辑技术,详细介绍如何利用其功能构建广阔且精细的游戏世界,并提供具体示例代码,展示从基础地形绘制到植被与纹理添加的全过程。通过学习这些技巧,开发者能显著提升游戏画面质量和玩家体验。
147 3
|
3月前
|
SQL 运维 监控
DM日常运维高频命令总结
DM日常运维高频命令总结
100 3
|
3月前
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
95 2
|
3月前
|
SQL 运维 Oracle
入门级Oracle 11g日常运维命令总结
入门级Oracle 11g日常运维命令总结
118 1
|
3月前
|
SQL 运维 数据库
DM8日常运维必须要懂的几个命令
DM8日常运维必须要懂的几个命令
73 1
|
3月前
|
移动开发 运维 网络协议
运维必备 | Linux netstat命令详解
运维必备 | Linux netstat命令详解
|
3月前
|
运维 Rust 监控
Linux高效运维必备:fd命令深度解析,文件描述符管理从此得心应手!
【8月更文挑战第23天】本文介绍了一款名为fd的命令行工具,该工具基于Rust语言开发,旨在以更直观的语法和更快的速度替代传统的`find`命令。通过本文,您可以了解到如何安装fd以及一些基本用法示例,比如使用正则表达式匹配文件名、排除特定目录等。此外,文章还展示了如何结合`ps`和`lsof`命令来查找特定文件并显示其文件描述符,从而帮助您更好地管理和监控Linux系统中的文件与进程。
128 0
|
1月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
52 4