评论

收藏

[Sybase] sybase 安装MDA表

数据库 数据库 发布于:2021-07-01 10:27 | 阅读数:371 | 评论:0

  sybase缺省不安装mda表,需要使用$SYBASE/ASE-12_5/scripts目录(对于 NT 为 %SYBASE%\ASE-12_5\scripts)中的 installmontables 脚本创建它们
  

  PS:master 数据库的文件空间必须要创建足够大,否则建表的时候会报空间不足

  

  1.创建一个名为“loopback”的服务器
  sp_addserver loopback, null, @@servername
  go
  

  2.为“loopback”添加访问接口,打开Dsedit ,新增一个“loopback” 的服务接口(无法创建MDA表的时候就是这个原因)
  3.如果要使用mda表,必须有mon_role权限
  grant role mon_role to 你的登陆用户名
  go
  

  4.配置enable monitoring参数使可以使用mda表
  sp_configure "enable monitoring",1
  go
  查看mda表使用可以调整的参数

  sp_configure Monitoring

  go

  

  4. 安装脚本
  $SYBASE/ASE-12_5/scripts目录下的installmon脚本,需要将该脚本的内容拷贝到isql界面中,然后执行
  

  5. 安装MDA表
  $SYBASE/ASE-12_5/scripts目录下的installmontables脚本,需要将该脚本的内容拷贝到isql界面中,然后执行
  

  6. 配置相关参数 (一次保存300条记录,可自行调整)
  sp_configure  'max  SQL  text  monitored',300

  go
  sp_configure  'SQL  batch  capture',1
  go
  sp_configure  'sql  text  pipe  max  messages',300
  go
  sp_configure  'sql  text  pipe  active',1
  shutdown
  go
  net start "Sybase SQLServer _XXX "
  

  

  

  
  mda 表的简单说明
monTables
提供对所有监控表的说明
monTableParameters
提供对每个监控表的所有可选参数的说明。
monTableColumns
说明每个监控表的所有列
monState
提供有关 Adaptive Server 的总体状态的信息
monEngine
提供有关 Adaptive Server 引擎的统计信息
monDataCache
返回与 Adaptive Server 数据高速缓存有关的统计信息。
monProcedureCache
返回与 Adaptive Server 过程高速缓存有关的统计信息。
monOpenDatabases
提供与当前使用的数据库有关的状态信息和统计信息
monSysWorkerThread
返回与工作线程有关的服务器范围的统计信息。
monNetworkIO
返回网络 I/O 统计信息。
monErrorLog
从 Adaptive Server 错误日志返回最新的错误消息。
monLocks
为每个对象返回任何进程持有的以及请求的所有锁的列表。
monDeadLock
提供有关在 Adaptive Server 中已经出现的最新死锁的信息。
monWaitClassInfo
为所有等待类提供文本说明
monWaitEventInfo
为强制进程在 Adaptive Server 内等待的每种可能情况提供文本说明。
monCachedObject
返回当前在高速缓存中具有页的所有对象和索引的统计信息。
monCachePool
提供为所有高速缓存分配的所有池的统计信息。
monOpenObjectActivity
提供所有打开对象的统计信息。
monIOQueue
提供设备 I/O 统计信息,细分为每个设备上常规数据库和临时数据库的数据和日志 I/O
monDeviceIO
返回与设备有关的统计信息。
  sybase的io读写单位是page,一般是2K。
    但是不一定每次就读一页。一般读取8page。如果你的逻辑页是2K,则是16Kbytes。
monSysWaits
提供一个服务器范围的视图,指出进程等待事件的位置。
monProcess
提供有关当前正在执行的或等待的进程的详细统计信息。
monProcessLookup
提供一些信息,这些信息使应用程序、用户、客户机等可以跟踪进程。
monProcessActivity
提供有关进程活动的详细统计信息。
monProcessNetIO
提供每个进程的网络 I/O 活动信息。
monProcessObject
提供有关进程已经访问的对象的统计信息。
monProcessWaits
提供一个服务器范围的视图,指出进程等待事件的位置。
monProcessStatement
提供当前正在执行的语句的信息。
monProcessSQLText
提供当前正在执行的 SQL 文本
monSysPlanText
提供最新生成的文本计划。
monSysStatement
提供有关最近执行的语句的统计信息。
monCachedProcedures
提供当前存储在过程高速缓存中的所有过程的统计信息。
monSysSQLText
提供已经执行的最新 SQL 文本或当前正在执行的 SQL 文本。
monProcessProcedures
返回进程正在执行的所有过程的列表。
  

  一个简单例子
看哪个进程占用cpu最多,它在干什么
select ps.SPID, ps.CpuTime,pst.LineNumber, pst.SQLText
from master..monProcessSQLText pst,
     master..monProcessStatement ps
where ps.SPID = pst.SPID
      and ps.CpuTime = (select max(CpuTime) from  master..monProcessStatement)
order by SPID, LineNumber


  

  

  


  
关注下面的标签,发现更多相似文章