DM8日常运维命令总结二

一、基础运维命令

查看当前的用户

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

查看当前的会话ID

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

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

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

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

SELECT * FROM V$ARCH_STATUS;

查看DM数据库参数类型

SELECT DISTINCT TYPE FROM V$PARAMETER;

查询V$PARAMETER视图

SELECT TOP 5 NAME,VALUE FROM V$PARAMETER;

查询V$DM_INI视图

SELECT TOP 5 PARA_NAME,PARA_VALUE FROM V$DM_INI;

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

SELECT A.ID,A.NAME,A.TYPE,A.VALUE,A.SYS_VALUE,A.FILE_VALUE

FROM SYS."V$PARAMETER" A WHERE A.NAME='COMPATIBLE_MODE';

#修改状态为2

SP_SET_PARA_VALUE(2,'COMPATIBLE_MODE',2);

查看数据库是否存在阻塞

WITH TRX_TAB AS

(SELECT O1.NAME,L1.TRX_ID FROM V$LOCK L1,SYSOBJECTS O1 WHERE L1.TABLE_ID=O1.ID AND O1.ID<>0),

TRX_SESS AS (

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,

S1.SESS_ID WT_SESS,S2.SESS_ID BLK_SESS,

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

FROM V$LOCK L,V$SESSIONS S1,V$SESSIONS S2

WHERE L.TRX_ID=S1.TRX_ID AND L.ROW_IDX=S2.TRX_ID)

SELECT SYSDATE STATTIME,* FROM TRX_SESS where BLOCKED=1;

查询到最慢的 20 条 SQL 信息

SELECT TOP 20 START_TIME,TIME_USED/1000 TIME_USED,TOP_SQL_TEXT FROM V$SQL_HISTORY ORDER BY TIME_USED DESC;

SELECT * FROM V$SYSTEM_LONG_EXEC_SQLS ORDER BY EXEC_TIME DESC;

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

select  t.segment_name,

      t.segment_type,

      t.tablespace_name,

      t.owner,

      t.bytes,

      t.bytes/1024 byte_kb,

      t.bytes/1024 byte_mb

  from dba_segments t

where t.owner = 'SYSDBA'  -- 用户/模式名

  and t.SEGMENT_TYPE = 'TABLE'

order by t.bytes desc;

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

select t.owner, t.table_name, t.tablespace_name, t.num_rows, t.last_analyzed

  from dba_tables t

where t.owner = 'SYSDBA'  -- 用户/模式名

order by t.num_rows desc;

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

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

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

SELECT

        A.FILE_ID    ,

        A.PATH      ,

        A.CLIENT_PATH,

        A.RLOG_SIZE  ,

        B.FREE_SPACE ,

        B.TOTAL_SPACE,

        B.CUR_FILE

from

        (

                select * from V$RLOGFILE where true

        )  A,

        (

                select * from V$RLOG where true

        )  B;

查看表空间的使用率

SELECT a.tablespace_name "表空间名称",

total / (1024 * 1024) "表空间大小(M)",

free / (1024 * 1024) "表空间剩余大小(M)",

(total - free) / (1024 * 1024 ) "表空间使用大小(M)",

total / (1024 * 1024 * 1024) "表空间大小(G)",

free / (1024 * 1024 * 1024) "表空间剩余大小(G)",

(total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",

round((total - free) / total, 4) * 100 "使用率 %"

FROM (SELECT tablespace_name, SUM(bytes) free

FROM dba_free_space

GROUP BY tablespace_name) a,

(SELECT tablespace_name, SUM(bytes) total

FROM dba_data_files

GROUP BY tablespace_name) b

WHERE a.tablespace_name = b.tablespace_name;

数据文件信息

select * from V$DATAFILE;

查询表行数统计信息

begin

for rec in (select owner,table_name from all_tables where owner not in ('SYS','SYSAUDITOR','SYSSSO','CTISYS')) loop

call SP_TAB_STAT_INIT(rec.owner,rec.table_name);

end loop;

end;

/

select owner,table_name,tablespace_name,status,num_rows from all_tables where owner not in ('SYS','SYSAUDITOR','SYSSSO','CTISYS')

order by owner,num_rows desc;

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

SELECT

        TS.NAME,

        DF.PATH

FROM

        V$TABLESPACE AS TS,

        V$DATAFILE  AS DF

WHERE

        TS.ID = DF.GROUP_ID;

查看Temp 表空间

SELECT a.tablespace_name "表空间名称",

total / (1024 * 1024) "表空间大小(M)",

free / (1024 * 1024) "表空间剩余大小(M)",

(total - free) / (1024 * 1024 ) "表空间使用大小(M)",

total / (1024 * 1024 * 1024) "表空间大小(G)",

free / (1024 * 1024 * 1024) "表空间剩余大小(G)",

(total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",

round((total - free) / total, 4) * 100 "使用率 %"

FROM (SELECT tablespace_name, SUM(bytes) free

FROM dba_free_space

GROUP BY tablespace_name) a,

(SELECT tablespace_name, SUM(bytes) total

FROM dba_data_files

GROUP BY tablespace_name) b

WHERE a.tablespace_name = b.tablespace_name;

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

select * from V$DEADLOCK_HISTORY;

查看 DBLINK 信息

select * from DBA_DB_LINKS;

查看所有作业信息

SELECT A.ID,A.NAME,A."ENABLE",A.USERNAME,A.CREATETIME,A.MODIFYTIME,A.DESCRIBE,

B.LAST_DATE||' '||B.LAST_SEC LAST_TIME,B.NEXT_DATE||' '||B.NEXT_SEC NEXT_TIME,B.WHAT

FROM SYSJOB.SYSJOBS A,SYSJOB.USER_JOBS B

WHERE A.ID=B.JOB;

查看所有作业调度信息

SELECT * FROM SYSJOB.SYSJOBSCHEDULES;

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

dm_svc.conf配置

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

读写分离集群

cat /etc/dm_svc.conf

##以#开头的行表示是注释

##全局配置区

TIME_ZONE=(480)  #指明客户端的默认时区 +480东八区

LANGUAGE=(en)

DMRW=(192.168.40.130:5236,192.168.40.140:5236)

##服务配置

[DMRW]

LOGIN_MODE=(1)  #0:优先连接 PRIMARY 模式的库,NORMAL 模式次之,最后选择 STANTBY 模式;1:只连接主库;2:只连接备库;3:优先连接 STANDBY 模式的库,PRIMARY 模式次之,最后选择 NORMAL 模式;4:优先连接 NORMAL 模式的库,PRIMARY 模式次之,最后选择 STANDBY 模式。

RW_SEPARATE=(1) #是否启用读写分离。0:不启用;1:启用;2:启用,备库由客户端进行选择,且只会选择服务名中配置的节点。

RW_PERCENT=(30) #读写分离分发比例,有效值范围 0~100,主库占所有事物数的比例

SWITCH_TIMES=(60) #以服务名连接数据库时,若未找到符合条件的库成功建立连接,将尝试遍历服务名中库列表的次数。

SWITCH_INTERVAL=(1000) #在服务器之间切换的时间间隔,单位为毫秒

数据守护集群

cat /etc/dm_svc.conf

##以#开头的行表示是注释#

##全局配置区

TIME_ZONE=(480)

LANGUAGE=(cn)

DMHA=(192.168.40.150:5236,192.168.40.160:5236)

##服务配置

[DMHA]

LOGIN_MODE=(1)  #0:优先连接 PRIMARY 模式的库,NORMAL 模式次之,最后选择 STANTBY 模式;1:只连接主库;2:只连接备库;3:优先连接 STANDBY 模式的库,PRIMARY 模式次之,最后选择 NORMAL 模式;4:优先连接 NORMAL 模式的库,PRIMARY 模式次之,最后选择 STANDBY 模式。

SWITCH_TIMES=(60) #以服务名连接数据库时,若未找到符合条件的库成功建立连接,将尝试遍历服务名中库列表的次数。

SWITCH_INTERVAL=(1000) #在服务器之间切换的时间间隔,单位为毫秒

dmarch.ini

读写分离集群

即时归档

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

ARCH_WAIT_APPLY            = 0  #0:高性能  1:事务一致

[ARCHIVE_LOCAL]

ARCH_TYPE                = LOCAL  #本地归档类型

ARCH_DEST                = /dmdb8/dmarch/DAMENG  #本地归档存放路径

ARCH_FILE_SIZE          = 1024  #单个归档大小,单位 MB

ARCH_SPACE_LIMIT        = 51200  #归档上限,单位 MB

[ARCHIVE_TIMELY1]

ARCH_TYPE                = TIMELY  #即时归档类型

ARCH_DEST                = top02  #即时归档目标实例名

数据守护集群

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

ARCH_WAIT_APPLY            = 0  #0:高性能 1:事务一致

[ARCHIVE_LOCAL]

ARCH_TYPE                = LOCAL  #本地归档类型

ARCH_DEST                = /dmdb8/dmarch/DAMENG  #本地归档存放路径

ARCH_FILE_SIZE          = 1024  #单个归档大小,单位 MB

ARCH_SPACE_LIMIT        = 51200  #归档上限,单位 MB

[ARCHIVE_REALTIME1]

ARCH_TYPE                = REALTIME  #实时归档类型

ARCH_DEST                = top02  #实时归档目标实例名

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容