Thanks Max
What ERP package are you using? What kinds of things does it need SYS for?
Thanks,
Jeremiah
----- Original Message -----
From: "max scalf" <oracle.blog3@xxxxxxxxx>
To: "Jeremiah Cetlin Wilton" <jcwilton93@xxxxxxxxxxx>
Cc: "Maris Elsins" <elmaris@xxxxxxxxx>, "Oracle Mailing List"
<oracle-l@xxxxxxxxxxxxx>
Sent: Monday, January 11, 2016 11:37:01 AM
Subject: Re: oracle on EC2
Jeremiah,
The day you guys start providing access to SYS user i will be the first one
moving our ERP system to RDS. Until then we have to run that on EC2 instance.
Snapshot for us is only for DR purpose, as we take local snapshot and copy that
over to secondary region for DR only. I think I will have to do some testing
with regards to snapshot and restore of snapshot when volumes are strippied.
Thank you for all the info.
On Mon, Jan 11, 2016 at 12:50 PM, Jeremiah Cetlin Wilton <
jcwilton93@xxxxxxxxxxx > wrote:
Hi Max,
Well first of all, there's a service that does that for you (and lots of other
things). It's called RDS ;-)
https://aws.amazon.com/rds/oracle/ ;
If RDS doesn't suit your use case, first of all let me know what's missing.
Generally regarding taking snapshot backups of Oracle on striped EBS, you'll
have to engineer a solution yourself. You will need some tooling that keeps
track of what volumes belong to which databases. If you consolidate databases
on the same EBS volumes, your tooling will need to be smart enough to do the
right thing in that case too.
In a nutshell, it's what I mentioned in my last post:
For backup, write tooling to:
1. Put the DB in backup mode
2. Take snapshots of all the volumes where the datafiles reside
3. Track/tag the snapshots so that your tooling will know how to restore a
particular set of snapshots for a particular backup.
4. Back up the archivelogs somewhere else frequently (dataguard or to S3 every
n minutes)
For full restore/recover, write tooling to:
1. Create new volumes in the correct availability zone from the appropriate set
of snapshots that comprise a backup
2. Detach the old volumes from the instance
3. Attach the new volumes to the instance using the same names as the old
4. Restore all archivelogs you need from S3 or wherever you are backing them up
5. Start up Oracle mount, recover through the logs and away you go.
For partial restore/recover, such as single datafile, or block recovery, write
tooling to:
1. Create new volumes in the correct availability zone from the appropriate set
of snapshots that comprise a backup
2. Attach the new volumes to the instance using different names from the
current
3. Mount the new volumes in a mount point different from the current OR use
renamedg on the volumes to mount them as an ASM diskgroup different from the
current
4. Restore all archivelogs you need from S3 or wherever you are backing them up
5. Use RMAN 'catalog start with ...' on the new mount point or diskgroup and
archivelogs to let RMAN know about them
6. Do your restore/recover as normal
It's important to build automation around all of this, or else you'll likely be
fumbling around in the event of a crisis.
There are also third party options, that can back up Oracle to S3 block by
block using SBT, but I think most of them are costly.
Jeremiah
PS. I'm looking for great database engineers to work in in Seattle or Vancouver
BC.
From: "max scalf" < oracle.blog3@xxxxxxxxx >
To: "Jeremiah Cetlin Wilton" < jcwilton93@xxxxxxxxxxx >
Cc: "Maris Elsins" < elmaris@xxxxxxxxx >, "Oracle Mailing List" <
oracle-l@xxxxxxxxxxxxx >
Sent: Monday, January 11, 2016 9:59:27 AM
Subject: Re: oracle on EC2
Thanks Maris and Jeremiah.
Our volume size were about 600GB each, so we had had good about amount of
baseline IOPS and some our bursting capabilities.
@Jeremiah,
I was wondering if you can point me in a good direction with regards to having
to take a snapshot when volumes are stripped in an oracle environment and how
do we go about restore that back?
On Mon, Jan 11, 2016 at 11:40 AM, Jeremiah Cetlin Wilton <
jcwilton93@xxxxxxxxxxx > wrote:
<blockquote>
Hi Max
What size were your gp2 volumes? You should pay close attention to the
relationship between volume size and performance as described here:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html ;
Regarding backups,old-fashioned database/tablespace backup mode should work
fine. It doesn't just apply to striping. It also applies if you have created
datafiles for a particular tablespace on different volumes.
To get the most out of snapshot backups in any context, it is a good idea to
have a known set of procedures to present the snapshotted volumes, mount them
as a filesystem or diskgroup, catalog the contents in RMAN, and use the backup
for restores/recoveries. Typically you would want to be able to do this
alongside a running instance (by mounting the snapshot backups as a differently
named filesystem or diskgroup), so that you can use it for single datafile,
single tablespace, or block-level recoveries.
Jeremiah
PS. I'm generally available to answer questions about AWS (I work there). If I
can't answer a question, I can probably find you someone who can.
From: "Maris Elsins" < elmaris@xxxxxxxxx >
To: "max scalf" < oracle.blog3@xxxxxxxxx >
Cc: "Oracle Mailing List" < oracle-l@xxxxxxxxxxxxx >
Sent: Monday, January 11, 2016 9:19:33 AM
Subject: Re: oracle on EC2
Hi,
We created AMIs, but you can easily find that behind and AMI a snapshot for
each EBS volume is created, and then the AMI is assembled from these snapshots.
In fact when you create an AMI manually you can map with EBS volume snapshots
to use for the target EBS volumes of the new instance. (What I want to say is
that it shouldn't matter if you create AMI or just a snapshot)
In our case each EBS volume is an ASM disk, so when we create our clone
instance we re-configure asm and the disks are discovered and the ASM
diskgroups are already available. So, the data is striped, but the disks are
somewhat each on it's own. I don't know if and how it would work with
RAID-striped volumes.
---
Maris Elsins
@MarisElsins
www.facebook.com/maris.elsins
On Mon, Jan 11, 2016 at 6:30 PM, max scalf < oracle.blog3@xxxxxxxxx > wrote:
<blockquote>
Maris,
Thanks for the info. A follow up question, you mentioned that you take snapshot
for cloning, as the volumes you are using are already stripped. Are you
creating an image (AMI) or snapshot of individual volume.
Reason why i ask is, if you are taking snapshot of individual volumes(which are
stripped) then restoring it, is that working alright ?? I want to see how the
restore of the snapshot is work when volumes are stripped ...
On Mon, Jan 11, 2016 at 9:29 AM, Maris Elsins < elmaris@xxxxxxxxx > wrote:
<blockquote>
Hi,
We're running a configuration that addresses some of your IOPS concerns and
it's basically one of the architectures from this whitepaper
https://d0.awsstatic.com/whitepapers/aws-advanced-architectures-for-oracle-db-on-ec2.pdf
- We have created our EC2 for Oracle DBs using Oracle Linux 6 (requirement for
Oracle Smart Flash Cache)
- We've set up ASM on multiple provisioned IOPS EBS volumes (SSD) for striping
- We've enabled Oracle Smart Flash Cache on part of the ephemeral instance
store SSD (it doesn't have even the tiny network latency that EBS volumes have,
as they are local). And based on the AWR reports we see this works very well.
And in fact with larger EC2 instances one gets plenty of instance store SSDs
that otherwise are of no big use.)
- We don't rely on EBS volumes' snapshots for backups, as we have a DataGuard
set up and when needed we stop the recovery there and take snapshots from it
(for cloning purposes usually). I'd think this would also work with "ALTER
DATABASE BEGIN/END BACKUP" + simultaneous snapshot of all striped EBS volumes
too.
- We take regular RMAN backups for point in time recovery requirements.
May be this is not exactly what you were looking for as you provided a link
related to RAID configurations, but probably you can still extract something
useful from what I wrote.
regards,
---
Maris Elsins
@MarisElsins
www.facebook.com/maris.elsins
On Mon, Jan 11, 2016 at 4:44 PM, max scalf < oracle.blog3@xxxxxxxxx > wrote:
<blockquote>
Hello all,
This question is related to running oracle database on Amazon Web Service. Just
so i respect everyone's time on here, I would say please ignore this question
if you do not work with AWS.
We are running oracle some 11g and 12c database on AWS EC2 server. Most of the
server have anywhere from 2 -8 EBS Volume attached(general purpose SSD), they
are NOT striped or mirrored. Lately we have been seeing some performance
issue(year end closing) with high IO wait time(60-80 ms per read), for some
mission critical application we have moved the EBS volumes from general purpose
SSD to Provisioned IOPS(PIOPS) and everything seems happy. But now we are
coming back to some of the other application and our sysadmin says instead of
moving everything from general purpose volumes to PIOPS we should just strip
the volumes to get better performance.
I agree with him, but my question if we were to strip the EBS volumes how do we
deal with taking EBS Snapshot and managing them. We rely on them for our DR in
another region. From what i understand about taking snapshot when your EBS
volumes are stripped is that you have to freeze the IO before you do the
snapshot to guarantee EBS snapshot consistency, see below link..
https://aws.amazon.com/premiumsupport/knowledge-center/snapshot-ebs-raid-array/ ;
So i wanted to see what others are doing in the community to achieve higher
IOPS and i am sure quite a few ppl are running oracle on AWS and also I wanted
to find out when they say "Freeze IO", I am assuming putting database in HOT
BACKUP mode is the wrong thing.
</blockquote>
</blockquote>
</blockquote>
</blockquote>