Is this a revolution? We do not need a license?
Hello this is first of posts series regarding my work which were focused to create backup/standby service/hardware to prevent needed to buy additional license (for standby) and to be sure that your environment not loose any transaction in case of Disaster production Oracle DB server, in other words I would like to create something similar in function as ZDLRA (but better) without need to buy additional Oracle license or ZDLRA appliance.
In this post I will cover and show that my equipment/service is working on and performance of production database is not degraded, I will not cover detail information , how it is build and how software is working (this will be done in next posts) but I will show that it is working how was designed.
I will try to show as much I can , I’m starting to prepare Web interface so now all working functionality is in command line.
This was short introduction , now I would like to present TNT NoLose Backup Appliance , this is small server (depends on need) with SAS/SATA Hard Drives (in demo server there is only 8 SATA disks 1TB) , on this disks there are ZFS with compression and encryption (if you need) , this server is connected to main production database and additional spare server with Oracle Database binaries (but it is not necessary).
First of all let’s check if production database is degraded by this TNT resources connected to production database , we will test it using SLOB software, let’s check it out :
As you can see nothing alarming , so next step is to create first backup but before that we will check it out size of database
SIZE_IN_GB ---------- 1612
In this demo lab our database I/O is located on very powerful NVMe storage (overall size 3.2TB) , so let’s fire up first initial backup of our test database :
$ /usr/tnt/init_backup.sh Backup Was Done My Master !!! Total Time : 37 min 52 sec.
So let’ check how will be working if we change 20% of Records
uname -n dbserver1.tiento.pl $ /usr/tnt/diff_backup.sh Backup Was Done My Master !!! Total Time : 09 min 52 sec. Database Backup Consistent Time : 22-Jun-2018 19:21:21
Ok but this is not something difficult to do it, let’s simulate disaster with dbserver1 but just before let’s create table
uname -n dbserver1.tiento.pl SQL> create table system.test_recovery as select * from dba_objects; Table created. SQL>exit pwd /u01/app/oracle/oradata/tnt rm -Rf *
After that I kill pmon process on dbserver1.tiento.pl, now we will login on dbserver2.tiento.pl , this server have installed Oracle binaries, connection to backup TNT NoLose Backup Appliance and local storage resources for DB data files.
Now we are login on dbserver2 and we must choose what recovery option we will be using , we can restore all data files to local storage (on dbserver2) or we can work remotely on this data and recover at night or in weekend.
uname -n dbserver2.tiento.pl /usr/tnt/switch_in_place.sh
Let’s checkout what is going on in dbserver1 logs
Oracle process Down Disconnect TNT NoLose Resources Disconnect Successful
Now let’s see what is going on in dbserver2 logs (we are doing immediate service restore)
Connect TNT NoLose Resources Connect Successful Switch to TNT NoLose (In-Place switch) Remap Oracle Resources Remap Successful Startup Oracle Database Oracle is started Switch Time 05 min 34 sec
So let’s check it if this table (before simulated disaster) exist on dbserver2.tiento.pl
select count(*) from system.test_recovery; COUNT(*) ---------- 72633
You can see that we did not loose any small pice of data even this test table created just before simulated disaster.
I know that everybody is wondering how this database will be working if all resources are located on on TNT NoLose Backup Appliance, I will show up on next posts but I can ensure that performance is ok.
This post was quick introduction to show my work , more to come in next few months.