|
Monitor Sybase log - SQL script to monitor syslogs and capture output
|
|
04-16-2009, 03:25 AM
Post: #1
|
|||
|
|||
|
Monitor Sybase log - SQL script to monitor syslogs and capture output
The below script is very useful in case of troubleshooting the sybase log full issues.This also gives the sybase database data free space and log free space.
#!/bin/csh -f if ( $#argv > 1 ) then set DSQUERY = $1 set DB_USER = $2 set DB_PASW = $3 endif if ( $#argv == 1 ) then set SLEEP = $1 else set SLEEP = $4 endif if ( $SLEEP == '' ) then @ SLEEP = 60 else set SLEEP = `expr $SLEEP` endif echo Monitoring logs on Sybase Server: $DSQUERY every : $SLEEP seconds echo "" while ( 1 == 1 ) isql -S $DSQUERY -U $DB_USER -P $DB_PASW -w 200 << __END_OF_SQL__ SET NOCOUNT ON DECLARE @txt char(80) SELECT @txt = "Run at : " + CONVERT ( varchar, GETDATE(), 8 ) + " on " + CONVERT ( varchar, GETDATE(), 6 ) PRINT @txt PRINT "" SET ARITHIGNORE ON SET ARITHABORT ARITH_OVERFLOW OFF SELECT "Database Name" = CONVERT(char(20), db_name(D.dbid)), "Data Size" = STR(SUM(CASE WHEN U.segmap != 4 THEN U.size*2.0/1024 END),10,1), "Used Data" = STR(SUM(CASE WHEN U.segmap != 4 THEN size - curunreservedpgs(U.dbid, U.lstart, U.unreservedpgs)END)*2.0/1024,10,1), "Data Full%" = STR(100 * (1 - 1.0 * SUM(CASE WHEN U.segmap != 4 THEN curunreservedpgs(U.dbid, U.lstart, U.unreservedpgs) END) / SUM(CASE WHEN U.segmap != 4 THEN U.size END)),9,1) + "%", "Log Size" = STR(SUM(CASE WHEN U.segmap = 4 THEN U.size*2.0/1024 END),10,1), "Free Log" = STR(lct_admin("logsegment_freepages",D.dbid)*2.0/1024,10,1), "Log Full%" = STR(100 * (1 - 1.0 * lct_admin("logsegment_freepages",D.dbid) / SUM(CASE WHEN U.segmap = 4 THEN U.size END)),8,1) + "%" FROM master..sysdatabases D, master..sysusages U WHERE U.dbid = D.dbid AND db_name(D.dbid) NOT IN ('master', 'model', 'sybsystemdb', 'sybsystemprocs') GROUP BY D.dbid ORDER BY db_name(D.dbid) IF EXISTS ( SELECT 1 FROM master..syslogshold ) BEGIN PRINT "Open transactions:" SELECT SPID = P.spid, LoginName = CONVERT (char(10), suser_name (P.suid)), TranName = CONVERT (char(20), L.name), Process = RTRIM (P.hostname) + "." + hostprocess, Program = P.program_name, DbName = CONVERT (char(20), db_name (P.dbid)), StartTime = L.starttime, L.page, Command = cmd FROM master..sysprocesses P, master..syslogshold L WHERE L.spid = P.spid END ELSE BEGIN PRINT "****** No open transactions ******" END IF EXISTS ( SELECT 1 FROM master..syslocks L WHERE NOT EXISTS ( SELECT * FROM master..sysprocesses P WHERE L.spid = P.spid ) ) BEGIN SELECT "Zombie lock : ", SPID = spid, Object = object_name (id, dbid), DBName = db_name (dbid) FROM master..syslocks L WHERE NOT EXISTS ( SELECT * FROM master..sysprocesses P WHERE L.spid = P.spid ) END ELSE BEGIN PRINT "****** No zombie locks ******" END GO QUIT __END_OF_SQL__ sleep $SLEEP echo "" end exit |
|||
|
« Next Oldest | Next Newest »
|
| Possibly Related Threads... | |||||
| Thread: | Author | Replies: | Views: | Last Post | |
| SQL script to calculate sybase database size ,data free,data used,log free,log used | sybaseteam | 3 | 4,863 |
03-15-2010 04:47 AM Last Post: RoyaL |
|
| Sybase ASE Monitoring (Monitor databases,resources,error log ..)- Best Practices | john | 0 | 677 |
05-24-2009 06:04 PM Last Post: john |
|
| Script for running update statistics in sybase | sybasegeek | 0 | 634 |
04-27-2009 11:07 AM Last Post: sybasegeek |
|
| monitor sybase tempdb log space | albert | 0 | 1,585 |
04-22-2009 01:58 AM Last Post: albert |
|
| How to Monitor the Sybase Error Log - From sybase site | Nagendra | 0 | 289 |
04-07-2009 01:01 PM Last Post: Nagendra |
|
| Script to monitor sybase error log files on solaris | zaadmin | 0 | 536 |
03-15-2009 02:50 AM Last Post: zaadmin |
|
| script to dump the schema of a Sybase database by Michael Peppler | john | 0 | 233 |
03-11-2009 05:04 PM Last Post: john |
|


Chat Support
Search
Disclaimer & Rules
Help


