达梦数据库拥有大量系统视图,以v$开头。这些系统视图一般与达梦数据库实例的状态,配置文件信息以及运行状况有关,这里我汇总了一些达梦数据库的视图查询及常用应用场景。
1、select * from v$dm_ini where para_name=?
v$dm_ini视图是达梦数据库的配置文件对应的视图,该配置文件对应达梦数据库实例的dm.ini文件,其中para_value或file_value对应参数的值以及文件中的值,对于para_type为"in file"的参数,一般以file_value作为它的值,其他的以para_value作为参数的值。
2、select * form v$version
查询数据库的database version,当我们使用dmserver启动数据库实例时,DB Version值对应数据库的版本
3、select * from v$threads
查询数据库当前运行的所有线程,数据库实例监听线程的name值为dm_lsnr_thd,当该条数据存在时说明数据库正在被端口监听
4、select * from v$tablespace
查询数据库的表空间状态,包括创建实例默认存在的MAIN、ROLL、SYSTEM、TEMP外,用户的自定义表空间也可以通过这条语句查询到。
5、select * from v$instance
数据库实例查询,该视图存储当前数据库的实例信息,状态属性的列名为$status
6、select * from v$database
查询当前数据库实例的信息,包括名字、创建时间、大小、状态及是否开启归档等信息。
7、select * from v$process
查询当前数据库的进程详细信息。
8、select * from v$dmwatcher
对于数据库集群来说,每个实例都有对应的守护进程,该视图为数据库实例守护进程的详细信息。
9、select * from v$dm_arch_ini
查询达梦数据库的归档配置信息,对应数据库实例的dmarch.ini文件,此视图存储了归档配置的全部信息,包括归档方式,归档文件大小设置,归档路径等。
10、select * from v$arch_file
查询达梦数据库归档文件的信息
11、select * from v$ifun
查询达梦数据库的系统函数
12、select * from V$datafile
查询达梦数据库的数据文件信息,即.dbf文件,在manager中的表空间选项中,每个表空间对应的就是v$datafile中的一个数据文件。
13、select * from v$license
达梦数据库的授权信息,该视图的主要作用时查看达梦数据库的授权到期时间,即EXPIRED_DATE列。
14、select * from v$sessions;select * from v$trxwait;
这两个视图一般同时使用,用来查询达梦数据库的会话和等待事务信息。通过select sess_id from v$trxwait a,v$sessions b
where a.id=b.trx_id;语句可以查询当前阻塞的会话session_id从而方便进行后续处理。
以上时DM数据库的常用系统视图与常用情况,除此之外,DM数据库还有许多关键信息可以通过select语句进行查询,例如:
查询数据库魔数:select db_magic
查询数据库版号,即详细信息:select id_code
当前用户查询:select user
查询该用户的所有表:select * from user_tables
想了解更多达梦数据库相关信息,欢迎访问达梦云适配中心:https://eco.dameng.com/