达梦数据库运维

查看数据库集群的状态

./dmmonitor /dmdata/DAMENG/dmmonitor.ini

输入show指令,该指令可以显示集群中有多少节点、IP、节点状态(PRIMARY或者STANDBY).

查看数据库当前会话数

select clnt_ip,user_name,clnt_type,clnt_ver,appname,state,count(*)
from (
       select case when substr(ltrim(clnt_ip,'::ffff:'),1,locate(':',ltrim(clnt_ip,'::ffff:'))-1)='1' then 'LOCALHOST'
              else substr(ltrim(clnt_ip,'::ffff:'),1,locate(':'2   ,ltrim(clnt_ip,'::ffff:'))-1) end as clnt_ip,
              user_name,
    3             clnt_type,
              clnt_ver,
              appname,
              state
4          from v$sessions)
group by clnt_ip,user_name,clnt_type,clnt_v5   er,appname,state
order by 6   7   8   9   10  11  12  1,2,6;

运行结果:

行号     clnt_ip       user_name         clnt_type clnt_ver  appname     state  COUNT(*)            
---------- ------------- ----------------- --------- --------- ----------- ------ --------------------
1          10.19.166.51  SYSDBA            JDBC      8.1.3.12  manager.exe IDLE   8
2          10.19.166.51  SYSDBA            JDBC      8.1.1.87              IDLE   12
3          10.19.167.101 TEST_DB           JDBC      8.1.3.12              IDLE   5

查询当前会话总数

select count(*) from v$sessions;

主备切换

主备切换,可以通过登录监视器来切换。

1. 登录监视器

./dmmonitor /dmdata/DAMENG/dmmonitor.ini

输入show指令,该指令可以显示集群中有多少节点、IP、节点状态(PRIMARY或者STANDBY)

2. 输入SYSDBA用户名密码

输入:

login

会提示输入用户名/密码。

3. 执行主备切换

查看可以切换的节点:

choose switchover GRP1

选择节点名主备切换:

switchover DMSERVER2

查询所有数据库名

SELECT DISTINCT object_name FROM ALL_OBJECTS WHERE OBJECT_TYPE = 'SCH';

输出如下:

行号     object_name             
---------- ------------------------
1          NACOS_TEST
2          NACOS_XC

创建数据库

达梦的用户和模式是一一对应的。

--创建表空间
create tablespace "TEST_DB" datafile '/opt/dmdbms/data/DAMENG/TEST_DB.DBF' size 128 autoextend on next 512 CACHE = NORMAL;

--创建用户并赋权
create user "TEST_DB" identified by "YOUR_PASSWORD"
default tablespace "TEST_DB"
default index tablespace "TEST_DB";

grant "PUBLIC","RESOURCE","SOI","VTI" to "TEST_DB";
### 达梦数据库日常运维常用命令 在达梦数据库的日常运维中,运维人员需要掌握一系列常用的SQL命令和操作方法,以便对数据库进行监控、维护和优化。以下是一些常见的命令及其用途: #### 1. 数据库信息查询 查看数据库的基本信息,包括是否开启归档等: ```sql SELECT * FROM V$DATABASE; ``` 该命令可以获取数据库的运行模式、版本号以及其他关键属性[^1]。 #### 2. 数据库运行模式查询 查询当前数据库的运行模式(普通模式、主库模式或备库模式): ```sql SELECT MODE_STATUS FROM V$INSTANCE; ``` 通过此命令,可以确认数据库是否处于主库模式(`PRIMARY`)、备库模式(`STANDBY`)或普通模式(`NORMAL`)[^2]。 #### 3. 查询长时间运行的SQL 用于定位执行时间较长的SQL语句,帮助优化性能问题: ```sql SELECT SESS_ID, SQL_TEXT, EXEC_TIME / 1000 || ' s' AS EXEC_TIME, FINISH_TIME, N_RUNS FROM V$LONG_EXEC_SQLS ORDER BY EXEC_TIME DESC; ``` 此命令能够列出执行时间最长的SQL语句,并提供相关信息以协助分析和优化[^3]。 #### 4. 表空间扩容 当表空间接近满载时,可以通过以下命令增加数据文件或扩展现有数据文件: ```sql ALTER TABLESPACE BASE_DATA ADD DATAFILE '/dmdata/DAMENG/base_data14.dbf' SIZE 77727 AUTOEXTEND ON MAXSIZE 33554431; ``` 该命令将为指定的表空间添加新的数据文件,并设置自动扩展的最大限制[^4]。 #### 5. 设置系统口令策略 为了增强数据库的安全性,可以配置密码策略。例如,要求密码包含大写字母、数字,且长度不小于9: ```sql ALTER SYSTEM SET 'PWD_POLICY' = 15 BOTH; ``` 此命令无需重启数据库即可生效,确保用户的密码符合安全要求[^5]。 #### 6. 查看当前用户权限 了解当前用户的权限分配情况: ```sql SELECT PRIVILEGE FROM USER_SYS_PRIVS; ``` 此命令返回当前用户拥有的系统权限列表。 #### 7. 检查是否存在死锁 检测数据库中是否存在死锁现象: ```sql SELECT * FROM V$LOCK WHERE TYPE = 'TX'; ``` 如果发现死锁,可以通过终止相关会话来解决问题。 #### 8. 查看数据库会话信息 监控当前数据库中的活动会话: ```sql SELECT SESSION_ID, USER_NAME, STATUS, SCHEMA_NAME, OS_USER_NAME, MACHINE, PROGRAM FROM V$SESSION; ``` 此命令可以帮助识别占用资源较多的会话或异常连接。 #### 9. 清理无用的临时表 删除不再使用的临时表以释放空间: ```sql DROP TABLE TEMP_TABLE_NAME PURGE; ``` #### 10. 查看索引状态 检查索引的完整性,确保其正常工作: ```sql SELECT INDEX_NAME, STATUS FROM USER_INDEXES; ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值