Monitoring Oracle databases running on Amazon EC2
I recently built an Amazon Web Services (AWS) based test environment for our team, containing among other things a couple of Oracle database instances.
Some questions that came to my mind after having finished with instance creation is:
- How to put some load onto it?
- How to measure what’s going on?
My first thought on both questions was: Just use any load generation, benchmarking or monitoring tool you like. You could start easy and try out Quest Software’s Benchmark Factory for putting some load onto the database, and then start monitoring with Quest Spotlight, Foglight, or Oracle Enterprise Manager Database Control, Grid Control, Cloud Control or whatever.
Well… we have to remember that there are two Oracle database offerings on AWS:
- Running an Oracle database inside an EC2 instance (Infrastructure-as-a-Service, see here)
- Running an Oracle RDS instance (Platform-as-a-Service, see here)
This blog post is about EC2 instances. Another post describes how to do monitoring for RDS instances.
An Oracle database inside an EC2 instance is just like any other database in a Xen-based virtual machine. No technological difference. Any software that just connects to the database, either as a standard user or as SYSTEM/SYS user, will behave normally. Therefore, things like SQL*Plus, Quest Toad, Spotlight, Foglight or even Benchmark Factory will just work.
Also, any software needing a server-side installation like Oracle Enterprise Manager or Quest Foglight Performance Analysis will just work.
BUT you have to consider this: If the software expects the database server to have a static IP address, you better keep an eye on that: Whereever an IP address or a DNS name is asked for during installation, use the EC2 instance’s “Public DNS Name” that is resolved to a so-called EIP (Elastic IP Address) associated with that EC2 instance!
Alternatively, deploy your EC2 instance into Amazon’s VPC (Virtual Private Cloud) and use a fixed IP address for the EC2 instance.
Having said that, look at the following screenshots. If you are used to Oracle Enterprise Manager or Quest Spotlight, these should look familiar to you, and indeed there is no difference to it. It’s just a standard database server running somewhere inside Amazon’s data centers.
Just remember to open up SQL*Net port (e.g. 1521) and optionally SSH in Amazon’s Security Group configuration. If you plan to use Enterprise Manager Database Control, also open up port 1138 for accessing the Web Console.
And yet another hint: If you use another EC2 instance as Spotlight client or as monitoring server (e.g. OEM Grid Control), you have to open up the port, providing not a CIDR IP range, but the EC2 instance’s security group as source. See the next screenshot for what I mean…
Have fun trying out!