Skip to main content

Oracle 10 days rule and how it work

Oracle's “Ten Days Rule” ?? I know it's very confusing and hard to understand " Oracle Ten Days Rule”. I will try to explain these "Ten Days Rule”. Please check my post on oracle auditing risks too. Oracle's “Ten Days Rule” are very confusing not even for us but sometimes for oracle's sales representatives too. You have to pay a lot of money means a lot if you follow them wrongly. We all may thinks that by these "Oracle 10 day rules" we can run our DR(disaster  recovery) server for ten days without purchasing any license. Let me tell you, This is totally a myth.


I was working for one of our client in INDIA and They were so confident about these Ten day rules that they are under these rules. After discussing with their IT mgr, We come to the point that yes they were totally confused with this "Oracle 10 days rule".


So What is Oracle 10 day rule?


These "Ten Days Rule” are actually very simple. It can applies for fail-over situation and yes its very important part. These "Ten Days Rule” can apply to  active/passive hardware where oracle is installed on both of your nodes or you are sharing the storage. We know what cluster services we are using like Fail safe for Microsoft (similar to RAC), OCRS ( Oracle Cluster Ready Services), Oracle RAC etc. . Like for an example our primary server got fails and we have a fail-over server that means our services will get less impacted because of any crash. The good part of oracle is, They will allow you to install binaries on fail-over site without any licencing cost for that node for only 10 days.


But according to this 10 days rule, you need to buy the licences for your fail-over site/server if and only if it is up and running for more than 10 days in given calendar year. That means if you have used your all ten days in the starting year than you cannot use this for rest of the year.


Also the interesting part is if your primary server got failed at 11:30 pm Saturday and you moved to fail-over at 11:35 pm  and after the help of your DBA's and your Team you manage to get back to primary site by 02:00 am i.e. Sunday. So this will count two days. haha interesting right? So for by using just approx one and half hour, We have just used our two days out of ten days. Really crazy,
So now we know that Oracle 10 days rule will work on calendar days not on time.


The ten days rule is also confused with Oracle’s license policy for testing backups. In this case we can install Oracle on a different server and check backup that is it reliable or not. But after checking backup we need to shutdown the servers until you need to  test the backup again. Also the interesting part in this is, you cannot keep checking your database backup again and again every other month. There is one restriction and that is, you can only start and check that server to check your backup for four times, and you cannot test the scenario for more than 2 days regularly, yeah off course in  any given calendar of year.


I hope it will help you to avoid the trouble, As we already paying much to oracle and don't want to pay them more ;). Please comment on this post if you find  anything wrong.

Keep sharing, keep smile.

Comments

Popular posts from this blog

DBA_SCHEDULER_JOB_RUN_DETAILS and PURGE_LOG

How to purge DBA_SCHEDULER_JOB_RUN_DETAILS? Manually deleting from DBA_SCHEDULER_JOB_RUN_DETAILS is not recommended by oracle.DBA_SCHEDULER_JOB_RUN_DETAILS is a view that is using two master tables (scheduler$_job_run_details and scheduler$_event_log) and display the information about jobs history. As there is one procedure named PURGE_LOG and Oracle have Scheduler for this procedure. It will purges all rows in the job log that are older than 30 days.This is the default behavior of this procedure. You can change this to any number of days you want by setting the attribute "SET_SCHEDULER_ATTRIBUTE". e.g. exec DBMS_SCHEDULER.SET_SCHEDULER_ATTRIBUTE('log_history','15'); It will purge all logs older than 15days and it will maintain the history of 15days. But If you want manually purge these logs, you can use below solution:- exec DBMS_SCHEDULER.PURGE_LOG(log_history => 15, which_log => 'JOB_LOG'); It will purge all entries from the jog log that are o...

ORA-65016: FILE_NAME_CONVERT must be specified

ORA-65016: FILE_NAME_CONVERT must be specified I just started working on 12C version of oracle database.It's new to me and facing many problems. Error code: ORA-65016: FILE_NAME_CONVERT must be specified Description:"ORA-65016: FILE_NAME_CONVERT must be specified" normally occurs when you create a PDB.I will explain later what is a PDB. Cause and solution :  ORA-65016: FILE_NAME_CONVERT must be specified caused when Data files, and possibly other files, needed to be copied as a part of creating a pluggable database.Enable OMF or define PDB_FILE_NAME_CONVERT system parameter before issuing CREATE PLUGGABLE DATABASE statement, or specify FILE_NAME_CONVERT clause as a part of the statement and make sure the path you are giving to convert the file exists. I think if you are creating the PDB's using GUI then you will not face this error "ORA-65016: FILE_NAME_CONVERT must be specified". If you creating ODB using script and you have gave a wrong path then may you f...

ORA-02051 Another Session Or Branch In Same Transaction Failed

ORA-02051 Another Session Or Branch In Same Transaction Failed (Doc ID 2253226.1)          SYMPTOMS for ORA-02051 Another Session Or Branch In Same Transaction Failed. Database performance is slow and caused   the transactions ORA-02051 another session or branch in same transaction failed or finalized CAUSE for ORA-02051 Another Session Or Branch In Same Transaction Failed. Session transactions branches caused the issue Excessive Waits On The Event "Global transaction acquire instance locks" SOLUTION Please use below sql and identified underscore parameter values for ORA-02051 Another Session Or Branch In Same Transaction Failed : SQL> select a.ksppinm "Parameter", b.ksppstvl "Session Value",c.ksppstvl "Instance Value"  FROM x$ksppi a,x$ksppcv b, x$ksppsv c  WHERE a.indx = b.indx AND a.indx = c.indx AND a.ksppinm LIKE '/_%' escape '/'  AND (a.ksppinm like '%clusterwide_global%' or a.ksppinm like '%disable_autotune_...