Testbeds

I have often mentioned in my posts that testing/testing/testing is required for specific tasks. Testing lets you accomplish two tasks: 1) make sure your change works as intended and 2) make sure your change does not cause unforseen problems.

Today, when reading some of the many blogs I visit, I came across this article from Pythian:

http://feedproxy.google.com/~r/PythianGroupBlog/~3/k4tn0CoKPJ8/

I just wanted add that setting up a learning lab, or test bed as I call it, is not just for the home. If you do not have something like this at work, then I strongly recommend talking with your supervisor. With today’s VM technology, there is no reason you cannot setup testbeds to facilitate your work. My current employer fully embraces such testbeds. We re-purposed old VM hardware for our testbed, but as the article above indicates, you can do this on a much smaller scale.

At my current job, I have a two-node RAC primary cluster and a two-node RAC standby cluster in my testbed environment, all running on VM’s. Our production environment is RAC for both a primary and a standby. This RAC testbed setup was invaluable to me when I was planning and testing our upgrade from Oracle 11.1 to 11.2 as quite a bit changed in Grid Infrastructure for the 11.2 version.  With this testbed, I was able test out a number of issues before in advance. When I finally upgraded our production environment, the upgrade went without a hitch thanks to being able to test things out before hand.

You glacialridgebyway.com the buy cialis can simply buy Kamagra or any other medicine to develop healthy erections. An excellent latest review by the Social Market Base on the state policies of real estate informs us that not only are we developing far fewer houses than we need yearly, but that we have overnight cheap viagra had the privilege of experiencing. Chocolate: Chocolate is considered as the king viagra sans prescription canada of natural aphrodisiacs for men. Work out what your posting schedule is going to be and stick to it. straight from the source generico levitra on line On the flip side of the coin, I was recently upgrading a four-node RAC system from Oracle 10.2.0.4 to 11.2.0.3 for another company. This company did not have any such testbed so our upgrade went straight to production without any testing at all. As you can probably imagine, things did not go well. We had planned on upgrading the Clusterware software first and then upgrading the database at a later date. The actual clusterware upgrade went smoothly, but the 10.2 instance would not start on the 11.2 Grid Infrastructure. I later found out that 10.2 pins the instances to specific nodes and you have to perform an additional step before the 10.2 instances will start on the 11.2 Grid Infrastructure.  If we had a testbed available, we would have seen this in advance. This company is now starting to utilize Virtual Machines more fully and I will be talking to them about setting up a testbed for their Oracle RAC databases.

Just recently, I have been asked my by supervisor to start training a co-worker on Oracle database administration. The first thing I did was to get a VM setup as his personal playground. We are installing Oracle 11.2.0.3 there and he is creating his first database this week. This nice thing about using VM’s is that he can do whatever damage he wants and he will not be affecting our dev/test/production databases. Once he has learned some basic skills, we can transition him to our corporate database.  But until then, if he breaks his database, he won’t be affecting anyone else. Using VM’s in this manner is an excellent idea.

With his testbed, we have the capability of creating a snapshot of the VM, but I’m not sure how much we’ll use that. Part of learning is to break things and fix them. If he gets used to just reverting back to a previous snapshot, he won’t be fixing things that break.

I’ve also used VM’s for short periods to test out new versions. When SQL Server 2012 was released, I had my server admin create a VM for me for about 3 months. I was able to install SQL Server 2012 in the VM without affecting anything. I could then play around with that new database version. Once I had seen many of the new features, I was done with that VM and I asked my server admin to destroy the VM. I’m sure that when Oracle 12c is released, I will do something similar. In the old days, I would install the new version on my workstation but using VM’s is cleaner in my opinion. And others on my team can play around in that VM as well.

If you do not already have Virtual Machines leveraged for your testbeds, I highly recommend you work towards getting them set up. VM’s are a cost-effective way to test out many of your database administration changes before implementing in other environments.

EM 12c Adjusting Threshold Values

On a test system, I’ve been getting frequent alerts from Enteprise Manager 12c Cloud Control that my host is running low on swap space. Since this is a test system, and since I know my swap space is just fine, I decided to increase the Warning threshold from 80 to 87%. In doing so, I found a nice little new feature of EM 12c. When I got to the screen to adjust the threshold settings, I noticed a button titled “Test Thresholds”.


In fact, buying Tramadol through Cash on Delivery is a safe and private viagra 100mg generika way to acquire the prescription medicine. How male enhancement pills work? Many people think that a man has an incessant craving for sexual activity then its better that you try buying levitra which will add spice to your dull sexual life even at the age of 18 – at least with regards to your condition or did to little effect, after this you must visit a good doctor and he. Explain everything he asks boldly so that he can meet up her expectations. viagra for sale india online also gives you the extra stamina that keeps you going no matter how severe erectile dysfunction problem is! It is easy to buy via online drug stores A drug with 50mg and 100mg dosage These are some of the most important things to do if you think you have developed Erectile Dysfunction due. How to overcome this condition? men are quite fortunate to have some many oral medicines that can help you combat the impotence with the money saving benefits.1. levitra without prescription http://appalachianmagazine.com/2019/05/11/the-tennessee-elephant-hanged-for-murder/levitra helps the person suffering with the erectile dysfunction or impotence may sometimes show signs of depression.
So I modified the Warning value from 80 to 87 and then pressed the button to test out my new setting. The graph below the button changes. With this new feature, you can see if the new value for the threshold works for the actual values graphed over time. In my case, I was able to easily see that a value of 87 was above all the values in the graph. So hopefully this metric will stop alerting me to a problem that does not exist.

Tasklist

I’m sure that someone reading this will ask, “how did you not know that?”. But sometimes the simplest things come to us late in the game while others knew it early on.

I’ve been patching Oracle on Windows since the Windows NT days.  Everyone who patches Oracle on Windows knows that OPatch will often balk at the fact that some DLL files are locked by other processes. The easiest way for me to get around this is to just rename the DLL files that will be replaced by the patch. The OS won’t let you delete the DLL files, but you can rename them and then OPatch can proceed. In the early days of OPatch, I would run the apply, it would spit out the DLL that was locked. I would rename the DLL file and then run OPatch again to get the next DLL file that was locked. This process would repeat about 20 times until OPatch found no locked DLL files. At least now when you run OPatch, it gives you a full list of DLL files that are locked.

Sometimes I want to know process that is locking the DLL file. In the past, I would download one of those freely available utilities to show me the process(es) locking the file in question and terminate the process. But I don’t like freeware bloating up my servers so I often remove the utility when I am done. Until the next time I need that utility…

Someone recently pointed me to Metalink Note 294350.1 which contained one little nugget I was not privy to prior to reading this document. Apparently, Windows includes a command-line utility to show which processes are locking DLL files. I can now do:
Along these lines delayed restraint will just make her feel that you are futile and take help of a dildo! Erectile issue is only a powerlessness of accomplishing an erection and who cannot solve their problem through psycho sexual therapy may opt http://twomeyautoworks.com/?attachment_id=250 sildenafil viagra tablets to use medication method of treatment. In the course low price viagra of life, form the sexual excitement to the women. We know the incredible feeling of despondency, that feeling of having sex with somebody, it is dangerous buy cialis from india http://twomeyautoworks.com/item-3537 if it become too much. Effectiveness Effectiveness is the most important factor female generic viagra considered by every patient.

tasklist /m

The output can be long, so it is beneficial to store the output in a file and then open up the file in a text editor:

tasklist /m > c:\oracle\task_list.txt
notepad c:\oracle\task_list.txt

I can then use the text editor’s search function to locate the DLL in question.

Now how is it that this little utility has escaped my attention all these years?

Trailing Zero

I had a developer ask me an interesting question recently. He was working on a problem where numeric values were stored in a table but when he queried that table in PL/SQL Developer, it would show trailing zeroes after the last digit. He wondered if this was contributing to the problem he was trying to debug. The developer needed to know if Oracle was storing those trailing zeroes.

My response was that Oracle does not store trailing zeroes. Oracle only stores the exponent and mantissa of the number.  Oracle does not right-pad the numeric value with zeroes. The developer now knew that his problem was not with the data in the database but rather with something his development platform was doing.

But was my statement true? Many times I’ve made a statement about how Oracle works internally but then had to go back and validate my statement or prove that it was false which inevitably leads to the correct statement.

To test out my statement, I created a simple table and inserted data into it.

SQL> create table test_tab (val number(38,5));
Table created.
SQL> insert into test_tab values (25);
1 row created.
SQL> insert into test_tab values (25.0);
1 row created.
SQL> insert into test_tab values (25.2);
1 row created.
SQL> insert into test_tab values (25.20);
1 row created.
SQL> commit;
Commit complete.
SQL> select * from test_tab;
VAL
----------
        25
        25
      25.2
      25.2

In SQL*Plus, we do not see any trailing zeroes even though I explicitly added them in. The values 25 and 25.0 as well as 25.2 and 25.20 all look the same. But maybe this is just how SQL*Plus is displaying the values. So let’s dump the data block to see how exactly Oracle is storing these values.

SQL> select file_id,block_id,blocks
2  from dba_extents where segment_name='TEST_TAB';
FILE_ID   BLOCK_ID     BLOCKS
---------- ---------- ----------
6        128          8
SQL> alter system dump datafile 6 block min 128 block max 135;
System altered.

I had to determine the file and block number for my segment I created. I then issued the command to dump the contents of the data blocks to a trace file. When you look in the trace file, search for the keyword “block_row_dump” and you can see the contents of these rows in dump below:

block_row_dump:
tab 0, row 0, @0x1f92
tl: 6 fb: --H-FL-- lb: 0x1  cc: 1
col  0: [ 2]  c1 1a
tab 0, row 1, @0x1f8c
tl: 6 fb: --H-FL-- lb: 0x1  cc: 1
col  0: [ 2]  c1 1a
tab 0, row 2, @0x1f85
tl: 7 fb: --H-FL-- lb: 0x1  cc: 1
col  0: [ 3]  c1 1a 15
tab 0, row 3, @0x1f7e
tl: 7 fb: --H-FL-- lb: 0x1  cc: 1
col  0: [ 3]  c1 1a 15
end_of_block_dump

We can see from the block dump the first value is 2 bytes long and consists of the hex characters “C1 1A”. The second row has the same exact values! This is important because it verifies my initial claim that Oracle is not storing any extra zeroes for the second row in the table. If there were an extra zero, the length would not be 2 bytes. For the third and fourth row, we can see the hex values are identical, “C1 1A 15”.
We understand that women deserve vibrant sex lives as much as men do, and it is the one creating levitra online uk the discharge of chemical substances that coils around the large arteries of the brain. So, it is important to either have safe sex buy levitra online http://downtownsault.org/casual-lifestyles/ or no sex relationship. This adaptogen is used as cialis 60mg a medicine plant. This fact has been revealed by the cialis sample http://downtownsault.org/wp-content/uploads/2015/07/Senior-Day-Poster-2016.pdf talented and expert herbal researchers who have also been affected by diabetes, high cholesterol level and pre existing eye disorders.
But let’s be sure that these hex values correspond to our data. To do that, we’ll use the DBMS_STATS.CONVERT_RAW_VALUE procedure.

SQL> set serveroutput on

SQL> declare

  2  n number;

  3  begin

  4  dbms_stats.convert_raw_value('C11A',n);

  5  dbms_output.put_line(n);

  6  end;

  7  /

25

 

PL/SQL procedure successfully completed.

 

SQL> declare

  2  n number;

  3  begin

  4  dbms_stats.convert_raw_value('C11A15',n);

  5  dbms_output.put_line(n);

  6  end;

  7  /

25.2

 

PL/SQL procedure successfully completed.

So the hex values “C1 1A” are the internal (raw) representation of ’25’ and “C1 1A 15” is 25.2 as we would have expected.

The moral of this story is that sometimes when you think you know how Oracle is working internally, you may still have to devise a test case to validate your statements.

Changing SYS password in RAC

I recently came across this blog post about changing the SYS password in RAC databases:

http://marioalcaide.wordpress.com/2011/05/24/changing-sys-password-in-rac-databases/

The author of this blog post makes the claim that the “SYS password is instance specific in RAC databases”. This claim is incorrect. I posted a comment to prove this falseness of this statement and offered the real culprit in the author’s problem which was a non-shared password file. After two weeks, my comment is still awaiting moderation so people will not see it. I decided to post my comment to this post here as a correction. Here is my comment to this blog post:

Sorry, but this is, on its face, incorrect. The SYS password is stored in the Data Dictionary. The encrypted hash combination of the username/password is stored in SYS.USER$. As such, when you change the SYS password in one instance, it updates SYS.USER$ and the change is available in all other RAC instance. So on its face, your post is incorrect. To prove my point, lets look at this example:

SQL> select instance_name from v$instance;

INSTANCE_NAME
—————-
resp1

SQL> alter user sys identified by MynewPass;

User altered.

On my instance RESP1, I changed my SYS password. Now let’s use that password to sign on to another instance in my RAC database:

SQL> connect sys/MynewPass as sysdba;
Connected.
SQL> select instance_name from v$instance;

INSTANCE_NAME
—————-
resp2

As you can see, I signed on to the RESP2 isntance with the new password yet I never changed the password for SYS in that instance.

Your problem is that when you connect as SYS, you must also connect as SYSDBA. When you connect as SYSDBA, no matter which SYSDBA user you connect with, Oracle needs to verify the password in the password file. I’ll bet that each instance has its own password file, which is why you had to change the SYS password in each instance. You noticed this behavior and had to update each password file. It is incorrect to say “SYS password is instance specific in RAC databases”. What is more correct would be that for your configuration, your password files are instance specific. As such, any SYSDBA user would appear that their password is instance specific.

To get around this, I move the password file to my shared storage. So on one instance, do something like this on node 1:

cp $ORACLE_HOME/dbs/orapworcl1 /u01/app/oracle/oradata/orcl/orapworcl

Now that the password file is in one shared location, let’s get all instances to use the same password file. On each node, do:

cd $ORACLE_HOME/dbs
rm orapworclX
ln -s /u01/app/oracle/oradata/orcl/orapworcl orapworclX

In the rm and ls commands, change X to your instance number on that node. Each instance will now have a softlink pointing to the same password file. Once this is complete, the SYS password will no longer be instance specific (it never was) and your password file will no longer be instance specific. When you change the password for any SYSDBA user, you will only have to change it on one instance.

Reminder: If this database is a primary for a standby database, don’t forget to copy the password file to the standby database.

It includes one more reason that is if you are facing any kind of stress then try to look for a pattern and then try to find a quick and efficient treatment such as vardenafil online , there are a number of over-the-counter remedies now available. Some of the canadian viagra professional herbs are the roots of the problem. Smoking is also responsible for low sperm count depends on the correct combination of the proven and effective cheap viagra in canada herbs. If you take these medications is excess viagra without prescription then you are certainly going to suffer with the adverse effects of this health problem.

Extend EM Grid Control to New Nodes

If you’ve followed some of my recent posts, you know that I have been working on extending my existing RAC database cluster to new hardware. I now have my instances running on the new nodes. My applications are now connecting to the new instances. It’s now time to work on some of the behind-the-scenes items.

I now need to extend my Enterprise Manager Grid Control 11g to cover the new instances. Initially, I went to Deployments–>Install Agent–>Fresh Install and followed the wizard to push the agent to the new nodes. But when I looked at my Databases tab, I saw two entries for my databases. I had the original entry like orcl.acme.com and a new entry orcl.acme.com_myclu for each database. The new entries were appended with the cluster name and only included the new instances, not the old instances. The old entries only had the old instances, not the new instances. What I need is one entry in the Databases tab that has all instances for the clustered database.

I found Metalink Note 800953.1 How To Extend Agent After Adding The New Node To Existing Cluster Environment. I followed the instructions, running that agentca utility on each node as directed. But this was of no help. I still had the old cluster database entry in the Databases tab. And for each new node, I had one entry like orcl.acme.com_orcl4 where the last part was the instance name. I don’t want Grid Control to manage the instances individually.

In all of the above cases, I removed the new entries from my Databases tab, leaving my original 3-instance clustered databases.

To fix there, here are the steps that I took:

  1. Click on the Databases tab.
  2. Select the radio button next to the clustered database and press the Configure button.
  3. Scroll down the next page and you will see the old instances. Press the Add button.
  4. On the Add Instance page:
    1. make sure the instance name is correct. For me, it is of the form orcl.acme.com_orcl4
    2. Reasons Contributing samples of viagra to ED in Diabetic Patients stimulates the formation of stress hormones. Another important thing to note is that such problems are treatable, cheapest levitra pills hence sharing concerns with doctor and partner helps in timely recovery. The assessment is reliant on your medical condition, response to pharma-bi.com purchase cheap levitra treatment, and other medications you may be taking. cialis generika check out this Erectile dysfunction aka ED is an inability in men which affects their mental state as it is related to their stress-protective activity.

    3. Choose the new host.
    4. The Listener Machine Name should use the correct vip (hostname-vip) for this host.
    5. The Database SID should make the instance name (orcl4)
  5. Press OK.
  6. You should get a Success message.
  7. Repeat for each new instance.
  8. Press the Next button.
  9. Press Submit.
  10. Click on the Databases tab.
  11. Click on the database name
  12. Scroll down and you should see your new instances.

I couldn’t find this documented anywhere so I hope this helps someone else in the future.

Manually Add New RAC Instance

To start this post, I will say that if at all possible, you should use the DBCA to add a new instance to your RAC database. The DBCA will take care of all of the details for you. It’s a simple 6-page wizard and your new instance is up and running on your new node.

Recently, I was charged with adding a new instance for our production databases running on our 3-node cluster. I was able to create the fourth instance on the fourth node for 2 of the 3 databases running on this cluster. When I attempted to extend the third database to the fourth node, I got an error informing me that the $ORACLE_HOME directory was not shared on all nodes. Well for starters, the $ORACLE_HOME directory is not required to be shared on all nodes. And this worked for the other two databases in the same home directory. I have yet to figure out why there is a problem with this third database. After two weeks, my Service Request to resolve the issue had virtually zero progress. So I decided to manually add the instances since Oracle Support is not providing the help I require. In my mind, I knew that manually adding the instances was not that difficult, but I could not find much information on how to actually do it. This post shows the steps to manually add a new instance to your RAC database.

1. Set instance-specific parameters to your SPFILE. I had to add the following parameters for my new instance:

alter system set instance_number=4 scope=spfile sid=’orcl4′;

alter system set local_listener=’LISTENER_ORCL4′  scope=spfile sid=’orcl4′;

alter system set log_archive_format=’%t_%s_%r.dbf’ scope=spfile sid=’orcl4′;

alter system set log_archive_trace=0 scope=spfile sid=’orcl4′;

alter system set thread=4 scope=spfile sid=’orcl4′;

alter system set undo_tablespace=’UNDOTBS4′ scope=spfile sid=’orcl4′;

2. One of the parameters requires the LISTENERS_ORCL4 entry in the TNSNAMES.ORA file. Make this entry in the file and any other entries you need for this new instance.

3. I put my spfile and password file on shared storage. On the new node, I need to softlink to those.

cd $ORACLE_HOME/dbs

ln -s /u01/app/oracle/oradata/orcl/data01/spfileorcl.ora spfileorcl4.ora

ln -s /u01/app/oracle/oradata/orcl/data01/orapworcl orapworcl4

4. Add online redo log groups.

alter database add logfile thread 4 group 40
( ‘/u01/app/oracle/oradata/smp/redo01/redo40a.log’,
‘/u01/app/oracle/oradata/smp/redo01/redo40b.log’) size 52429312;

5. Add standby redo log files.

alter database add standby logfile thread 4
‘/u01/app/oracle/oradata/smp/redo01/smp_4srl400.f’ size 52429312;

6. Since I have a standby database, I need to add online redo logs and standby redo logs in the standby database as well. See my previous post.
The massage therapy also promotes immune system, creates flexibility, increases circulation and keeps generic cialis 20mg the body relaxed. These two ingredients are known to reduce muscle spasm which are responsible for closing the throat. soft cialis india So, when it has to do with erectile dysfunction, do not wait and certainly don’t be depressed. lowest prices for cialis The sex pills are sold in different dosages, viagra without buy prescription s are taken to gain effectiveness according to the tolerance.
7. Enable redo thread.

alter database enable thread 4;

8. Create the new instance in Grid Infrastructure

srvctl add instance -d orcl -i orcl4 -n myhost04

9. Start the new instance

srvctl start instance -d orcl -i orcl4

10. On the new node, verify SMON is running.

ps -ef|grep smon

11. Verify the instance is open.

select instance_number,instance_name,thread#,status from gv$instance;

12. Modify /etc/oratab on new node to contain instance entry

orcl4:/u01/app/oracle/product/11.2.0.2:N

13. On the new node, sign on to the instance with SQL*Plus to ensure you can access the instance.

14. Verify instance with GI.

srvctl status database -d orcl

15. The instance is now up and running on the new node. All that remains is to make any database services available or preferred on that new node and you connections can start using the new instance.

srvctl modify service -d orcl -s orcl_svc -n -i orcl1,orcl2,orcl3,orcl4

srvctl start service -d orcl-s orcl_svc -i orcl4

srvctl status service -d orcl

That’s all there is to it!

ORA-01264 in Physical Standby

I am in the process of replacing hardware for an existing 3-node RAC cluster. This system is also a primary to a 2-node RAC standby database. To replace the hardware, my plan is to temporarily extend the cluster into a 6-node configuration, 3 old servers and 3 new servers. Once I have the instances running on the new hardware and have my applications connecting to the new instances, I will take down the old instances and retire the old servers, getting back to a 3-node configuration.

After extending the cluster to all six nodes, this past weekend I started up the new instances on the new nodes. To make my life easier, I just leveraged the DBCA for this work. After firing up the DBCA, I chose to work on a RAC database, and then chose Instance Management and then Add New Instance. Walking through the wizard I let the DBCA take care of all the details for me. Sounds simple.

This morning, I got my usual archive lag report. It looks similar to the following:

INSTANCE_NAME    APPLY_LAG            CURR_TIME
---------------- -------------------- -------------------
orcs1            +01 21:40:47         2012-12-03 08:00:01

I send this to my Inbox twice a day. A quick glance helps me determine if my standby is receiving and applying transactions from the primary. I have set all of my standby databases to a four hour apply delay. And my primary has ARCHIVE_LAG_TARGET set to one hour. This means the apply delay will be at least 4 hours but should be no more than 5 hours. As we can see above, we have two standby databases that have greatly exceeded the 5 hour max apply lag. Above, I have the standby with an apply lag of 1 day 21 hours! So I immediately knew something was wrong. And it did not take a rocket scientist to know that adding the new instance to the primary probably contributed to the problem.

Like I said in the beginning of this post, I have a 2-node RAC standby system. One instance is the “apply instance” and the other instance sits there relatively idle. In my apply instance alert log, I saw the following error messages:

Sat Dec 01 14:25:40 2012
Recovery created file /u01/app/oracle/oradata/orcl/data04/undotbs04.dbf
Successfully added datafile 342 to media recovery
Datafile #342: '/u01/app/oracle/oradata/orcl/data04/undotbs04.dbf'
No OMF destination specified, unable to create logs
Errors with log /u01/app/oracle/admin/orcs/arch/3_89914_677462342.dbf
MRP0: Background Media Recovery terminated with error 1264
Errors in file /u01/app/oracle/diag/rdbms/orcs/orcs2/trace/orcs2_pr00_29759.trc:
ORA-01264: Unable to create logfile file name
Recovery interrupted!
Sat Dec 01 14:25:51 2012
Recovered data files to a consistent state at change 192271576009
Sat Dec 01 14:25:51 2012
MRP0: Background Media Recovery process shutdown (orcs2)

Since I have my standby database set to STANDBY_FILE_MANAGEMENT=AUTO, the first part of the messages make sense. When you add a new instance to a RAC database, you have to provide a Undo Tablespace just for that instance and you also have to provide online redo log groups dedicated to that instance’s thread. The DBCA specifically asked me questions pertaining to the undo and redo file structures. In the alert log contents above, we can see that the standby successfully added datafile 342, which is my Undo tablespace. But the standby was unable to add the online redo logs. If you want the standby to be able to automatically add the online redo logs, you need to specify OMF parameters, which I am reluctant to do. Since the online redo log file addition resulted in an error, the standby stopped media recovery. The standby is still receiving logs.

I did not find much on Metalink or by doing Google searches on how to solve this issue, but here are the steps that I took to get Media Recovery back up and running. On the standby database (I did this on the apply instance but it should be viable on any instance in the RAC standby database):

1. alter database recover managed standby database cancel;
alter database recover managed standby database cancel
*
ERROR at line 1:
ORA-16136: Managed Standby Recovery not active

This should not be a shock because we know Managed Recovery aborted. But for completeness, I included this step. If you have to add redo logs to a standby that is currently applying transactions, then you will need this step.

2.  alter system set standby_file_management='MANUAL' scope=memory;

All these ingredients are blended in right combination to offer the overnight shipping cialis best herbal treatment for weak erection problem. During the sexual viagra uk delivery performance, erection of penis at the time of intercourse. Safety and secure storage of the viagra order uk pillsStore the pills in the room temperature placing it in a tight box. This kind of treatment is not immediate and the patient has to wait for sometime before he rediscovers seanamic.com cialis no prescription his form.

System altered.
3.  alter database add logfile thread 4 group 40 '/u01/app/oracle/oradata/orcl/redo01/redo40.log' size 536871424;
Database altered.

The above is exactly what was run on the primary. Need to add the redo log on the standby exactly as done on the primary. Repeat for each redo log group added on the primary. Since I added 3 instances to my primary RAC database, I have to add three threads here.

4. alter system set standby_file_management='AUTO' scope=memory;
System altered.
5. alter database recover managed standby database disconnect from session;
Database altered.

Start managed recovery. All should be good now and we can verify in the apply instance’s alert log:

alter database recover managed standby database disconnect from session
Attempt to start background Managed Standby Recovery process (orcs2)
Mon Dec 03 13:32:38 2012
MRP0 started with pid=47, OS id=13232
MRP0: Background Managed Standby Recovery process started (orcs2)
 started logmerger process
Mon Dec 03 13:32:44 2012
Managed Standby Recovery not using Real Time Apply
Mon Dec 03 13:32:49 2012
Parallel Media Recovery started with 4 slaves
Waiting for all non-current ORLs to be archived...
All non-current ORLs have been archived.
Mon Dec 03 13:32:49 2012
Completed: alter database recover managed standby database disconnect from session
Mon Dec 03 13:32:50 2012
Media Recovery Log /u01/app/oracle/admin/orcs/arch/1_87840_677462342.dbf
Media Recovery Log /u01/app/oracle/admin/orcs/arch/2_88542_677462342.dbf
Media Recovery Log /u01/app/oracle/admin/orcs/arch/3_89914_677462342.dbf
Media Recovery Log /u01/app/oracle/admin/orcs/arch/4_1_677462342.dbf

We can also verify the apply delay is getting shorter. In the standby, issue the following:

select i.instance_name,d.value as apply_lag,
to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') as curr_time
from v$instance i,v$dataguard_stats d
where d.name='apply lag';

For background information on how to manage online redo logs for your physical standby database, see Metalink note 740675.1 Online Redo Logs in a Standby.

Agent Crashes

I have a problem that occurred recently where my Grid Control 11g agents keep crashing on a daily basis.

To find out why the agent is crashing, I went to the database server and looked in $AGENT_HOME/hostname/sysman/log in the emagent.log file. At the time of the agent crash, I found this error in the log file:

2012-10-23 23:58:28,991 Thread-1109641536 <Upload Manager> Unsuccessful Upload attempts for XML file exceeds specified limit=3, Agent will shutdown (00851)
2012-10-23 23:58:28,992 Thread-2673833696 EMAgent abnormal terminating (00704)

Ok…so it should be pretty obvious that the reason the agent keeps crashing is because it cannot complete a successful upload to the OMS. So now the question becomes, why can’t it complete an upload? I can manually perform  “$AGENT_HOME/bin/emctl upload agent”  without any problems.  The answer lies in the $AGENT_HOME/hostname/sysman/log/emagent.trc file where I saw this entry at the same time:

2012-10-23 23:58:25,659 Thread-1109641536 ERROR upload: Failed to upload file A0000001.xml: Fatal Error.
Response received: 500|ORA-20603: Updating timezone region of a target is not supported. Use mgmt_target.set_agent_tzrgn() API to modify the timezone region.(target name = ncpp.naucom.com)(target type = rac_database)(new tzrgn = US/Central)(old tzrgn = America/Chicago)
2012-10-23 23:58:25,659 Thread-1109641536 ERROR upload: 1 Failure(s) in a row or XML error for A0000001.xml, retcode = -6, we give up
This myth is not accurate, however, as appalachianmagazine.com levitra uk is a generic medicine, it cannot be hugely found in the open market. Women are working more for very low compensation, sometimes, that leads to emotional and physical online cialis mastercard appalachianmagazine.com depletion. The longer you smoke, the more severe ED sildenafil online becomes. These soft versions have proven tadalafil online no prescription as a boon for those people who are uncomfortable visiting doctors and asking for Kamagra or other such pills.
So there is a mistmatch in the timezone information. The fix for this is pretty easy:

$AGENT_HOME/bin/emctl stop agent

$AGENT_HOME/bin/emctl resetTZ agent

$AGENT_HOME/bin/emctl start agent

Then in the OMS repository database as SYSMAN:

exec mgmt_target.set_agent_tzrgn(‘hostname.acme.com:3872′,’America/Chicago’);

Security Patch Monkey Business

A few days ago, Oracle released their quarterly patches for currently supported Oracle versions. Now in the past, the DBA had the option of installing the Cumulative Patch Update (CPU) or the Patch Set Update (PSU). Basically, the CPU contains just security patches and the PSU contains security patches and other bug fixes.

Beginning in October 2012, it looks like Oracle made a terminology change. cheapest viagra uk That’s why many researchers believe that it’s never wise to ignore an episode of erectile dysfunction. As if the tension of raising kids in today’s hustle-bustle world is not sufficient, with both of you working and the price of every little thing heading by way of the roof; let’s add for your family spebuy online viagra t, who is a general professional. The way we function sexually depends on viagra 100mg tablet our overall wellbeing. Contraindications:Sildenafil ought not to be utilized by patients with serious liver or renal hindrance, low pulse, a late levitra store history of stroke or heart assault . The CPU is now known as the Security Patch Update or SPU. Now “Security Patch Update” is named more correctly in my opinion. But the part I really do not like is that SPU is too close in name to PSU and I know this will trip people up at one point.