Tag Info

Hot answers tagged

8

Is pg_statsinfo something for you? Maybe the default stats collected are sufficient? There are some nice posts on SO with a similar topic.


8

Oracles Enterprise Monitor console shows a whole wealth of information about which SQL queries are taking the max CPU, bottlenecks, top activity in the database, blocking SQLs et al. For a historical approach, you can use Oracle's AWR reports to pin point areas concerning you.


7

You could create a job that checks the msdb.dbo.sysjobhistory table every minute (or however frequently you want). You might want to implement a queue table so you only ever send the message for any single instance failure once. USE msdb; GO CREATE TABLE dbo.ReportServerJob_FailQueue ( job_id UNIQUEIDENTIFIER, run_date INT, run_time INT, -- horrible ...


7

Not aware of any built-in method to record bytes over a particular port so if you really need that level of detail, Wireshark is a good bet. If the server is dedicated to SQL Server I'd be reasonably confident that the majority of traffic over the network was related, so the perfmon counter Network Interface\Bytes Total/Sec should give you a broad ...


6

You can get this (and more) from Dynamic Management Views (DMVs). To get statistics for a particular stored procedure, try the following query. SELECT OBJECT_NAME(qt.objectid) , qs.execution_count AS [Execution Count] , qs.execution_count / DATEDIFF(Second, qs.creation_time, GETDATE()) AS [Calls/Second] , qs.total_worker_time / qs.execution_count ...


6

Something you might do that is just a thought, throwing ideas out... Create a single job that periodically checks the job table in msdb to see if any jobs show as failed, that can be done with a good T-SQL query. Then you could go into the sysjobsteps table and see if an output log is set for the job. Have a stored procedure send an email attaching that ...


6

Here is the SQL to do the job. Open for trial. Step 1: Determine the installatin IDs & user IDs. SELECT inst_id,sid FROM gv$session WHERE username='<ENTER-USERNAME>'; Step 2: SELECT s.sid ,s.CLIENT_INFO ,s.MACHINE ,s.PROGRAM ,s.TYPE ,s.logon_time ,s.osuser ,sq.sorts ,sq.DISK_READS ...


6

Memory usage in linux in general and for Postgres in particular is a pretty complex subject, a good starting point is Bruce Momjians blog covering the subject and the usage of smem. It is well worth following the links in Chris Seibenmanns blog on the subject.


5

Obviously, a lot of this devolves to simple personal choice. Here are my own, personal, rationalizations. I've been using Powershell with SQL SQL since PSH v 1.0, and before SQL Server started officially integrating it. (When I started with PSH, I was administering SQL Server 2000 and 2005 servers.) So, I learned with SMO (or it's slightly older ...


5

There's Sql Server Profiler which comes with the installation. It allows you to monitor all SQL statements with various filter criteria. You could also pair it up with PerfMon to investigate performance. MSDN Sql Server Profiler I also found this site Receiving Profiler Events. Which allows real-time tracking in .NET.


5

Short Answer: Yes. There are many reasons but the few that stick to mind: 1.) Trust but verify - SQL cares a lot about its environment, the hardware or virtualized system it is on. When I help a company with SQL on VM issues it is normally a misconfigured VM. In many cases the idea of SQL on VM is about to be thrown away. 2.) DBAs should look at memory ...


4

Here's a link to a bunch of links on "tuning best practices." The short form is: It depends. What are you tuning for? Tuning read performance is different than write performance and everything changes when you move to a cluster. There is no one set of "magic variables" that can be quietly optimized for every situation. From these, you can look at ...


4

What is 'normal' will depend on your situation. An OLTP database and a warehouse will have very different usage profiles. If you use a connection pool, then you probably don't expect to see a wide variation in the number of connections or sessions. Such a change would indicate a problem. Generally you are best off looking for dramatic changes in your ...


4

I try to stay away from having multiple databases in one instance. Instead I have multiple instances set up on a server where each one is dedicated to a database. MySQL Cacti templates are a good monitoring solution. If you are enterprise customer then MySQL Enterprise Monitor works. Also check out mycheckpoint from openark. EDIT Here are some tutorials ...


4

Polymon from codeplex is ideal for my uses. I'm monitoring not just server availability, but sql agent jobs success, a host of perfmon data, SQL locking/blocking, db and filesystem freespace, and a whole lot more. It has a very nice Powershell interface, so any Powershell script you can imagine, it will run on the schedule you specify and then ...


4

You can snap sys.dm_exec_connections which will give you the net IO metrics for any given connection. The associated sys.dm_exec_sessions will identify the connection client (host, application). Since you need aggregated history and the view gives moment in time snapshot you will have to do the usual transformations to convert moment-in-time to aggregate ...


4

I'll do you a favor: Performance Tuning with SQL Server Dynamic Management Views by Ford and Davidson should have many answers. Very helpful book indeed, but there is a awful lot to learn if you have not much experience using DMVs (like me). You can try to adapt the scripts in the book to suit your needs better, that was a good learning experience for me.


4

The DMV sys.dm_exec_connections has per-connection statistics for traffic, including bytes send/read. But it gets reset every time a physical connection is closed and also is a bad indicator of throughput, specially spikes. That being said, traffic between client and server should never be a concern. Specially for a web app, where large return sets are not ...


4

As I understand it, you want to monitor network traffic in between a web application hosted in IIS and SQL Server, both of which are running on the same server. This is going to be complicated by a few things: Most packet sniffers don't support monitoring traffic over a loopback interface like you are using if your web app connects to SQL Server on ...


3

MONyog - MySQL Monitoring tool. It has the features you are looking for. Additionally you can monitor your replication in real-time. If the replication fails you will be notified via an email and/or by SNMP traps. Give it a try...


3

This solution does not require triggers but requires setup and causes a performance hit if you enable it for all tables. Auditing has been built into Oracle for many releases. There is an article here which goes into some detail. Basically, you turn it on, tune it for what level of detail you want and the output is available as a dba view or as XML. Check ...


3

There are open source tools from Percona. Try pt-mysql-summary and pt-variable-advisor. If you are looking for a commercial tool, try MONyog -MySQL Monitor, which has 600+ monitors and an advisor to fine-tune your MySQL server.


3

MONyog v5.5 has Real-Time feature which tells you what’s happening on your MySQL server RIGHT NOW. It details key metrics like top 200 queries, slow queries, databases, locked queries, locking queries, tables, users, hosts and thread states, all of this in real-time as it happens. Information is retrieved from the server every one second. And the best part ...


3

You have to understand where most of the tools you are using are getting their data from - SHOW ENGINE INNODB STATUS and SHOW GLOBAL STATUS. This data simply is not available broken down on a database level inside MySQL. MySQL 5.5, 5.6 and Percona Server have been doing a great job of improving the diagnostics available to you with features like ...


3

Depending on what you're exactly looking for there are many different tools to consider. As always, there's no silver bullet in the monitoring world. I started compiling a somewhat authoritative list of tools at the PostgreSQL Wiki which can be found here: http://wiki.postgresql.org/wiki/Monitoring At the end of 2012 I also started working on a Postgres ...


3

I have experience with the aforementioned idea. It's good, but a better idea would be to do something like Shawn said. What we did was to make a job that runs every 5 minutes and scans MSDB tables about job failures. For each job that had a failure we'd run the SP spDBA_job_notification with it's own ID, so the SP will scan the MSDB history steps for errors ...


3

There is a new tool available from Cybertec: http://www.cybertec.at/en/postgresql_products/pgwatch-cybertec-enterprise-postgresql-monitor (I have not used it though)


3

We have a little site to monitor this kind of MySql Replication. Actually, I monitor and admin like 40 MySql databases between servers and end user machines, all of them replicating like crazy daily =P The site is http://tinyurl.com/4fmu88l (Because of my boss I preferred to make a tinyurl, sorry hehe) It's written in PHP. I could share some code if you ...


3

All of the internal database information is obtained from the system data dictionary. Static metadata can be found in the data dictionary views (e.g. DBA_DB_LINKS for database links) or their underlying tables (obj$ etc.). Runtime stats can be obtained through the dynamic system ('v$') views (e.g. V$DBLINK). You may need to look at the documentation for ...



Only top voted, non community-wiki answers of a minimum length are eligible