Upgrading Grid Control After Manual DB Upgrade

I recently went through multiple database upgrades. Some of the databases were upgraded using the DBUA utility. The DBUA utility does a nice job of modifying the database’s information in Grid Control to match the new database version.

When doing the database upgrades, I also had to perform some manual upgrades. When you manually upgrade the database, you have to ensure that you upgrade Grid Control as well. I have read that this can be accomplished with the emca utility but I have had little luck running it. I found an easy way to update Grid Control with this information.

After manually upgrading the database, Grid Control knew of the new version. Going to Targets->Databases, we can see that the upgraded db is the new version, 11.2.0.2:

But if you go to the Home page and under Database Installations, you will see this database is still listed as 11.1.0.7. All we need to do is to make a simple change. Back in Targets->Databases, find the manually upgraded database and select the radio button next to it. Then press the Configure button. You will see that the Oracle Home Path is the old home:
The first medication to be introduced as a prescription treatment for impotence was order cialis . C-Reactive Protein can measure your body’s best generic cialis level of inflammation. It’s headquarters is located in cheap viagra prices Tualatin, Oregon. There was no extensor lag difference between splints at 12-week follow-up and viagra online increased extensor lag was noted with all three splints after discontinuation at 6 weeks of time.
Change the value to reflect the new ORACLE_HOME directory and press Next and then Submit. This database will now show up as a 11.2.0.2 target!

Similarly, you will need to change the Listener config in Grid Control. Go to Targets->All Targets and find the listener that was manually upgraded. Select the radio button next to that listener and press Configure.

Change the Listener.ora Directory value to point to the new $ORACLE_HOME/network/admin. And change the Oracle Home. Then press OK.

That’s all there is to it, two simple changes!

ORA-29902 and 28578 with ST_GEOMETRY

I was working on a sticky problem of which I had a hard time resolving so I figured I would write up my issue and my solution.

Recently, we were running a ST_INTERSECTION query on a spatial dataset using ESRI SDE’s ST_GEOMETRY. In Oracle 11.2.0.2, the ST_INTERSECTION query hit the following error stack:

ORA-29902: error in executing ODCIIndexStart() routine
ORA-28578: protocol error during callback from an external procedure
ORA-6512: at "SDE.ST_GEOMETRY_SHAPELIB_PKG", line 943
ORA-6512: at "SDE.SPX_UTIL", line 2960
ORA-6512: at "SDE.SPX_UTIL", line 3221
ORA-6512: at "SDE.ST_DOMAIN_METHODS", line 293
ORA-6512: at line 194

Now line 194 in our code contained the query using the ST_INTERSECTION operator. I could find plenty of hits on Google and Metalink related to the ORA-29902 error. And plenty of hits on the ORA-28578 error. But I could not find any hits on both the 29902 and the 28578 error together. So I had very little to go on. Every hit I looked at was not representative of my specific problem.
ED stands for erectile dysfunction or male impotence, the condition when a man fails to achieve or maintain erection with sufficient rigidity and duration to permit satisfactory levitra 40 mg sexual performance during stimulation. Normally erectile dysfunction is seen only when there is sexual stimulation to the body. http://foea.org/contribute/ viagra cialis online Men usually eat this fruit both in its http://foea.org/wp-content/uploads/2014/12/Summer-Clean-Up-2010-2.pdf discount cialis fresh and dried form due to its capability to regulate the blood flow within the penis and therefore help in order to transmit the actual arousal indicators sent through the brain towards the nerve cells within the penis. This substance is known to achieve erectile dysfunction in the female viagra india following paragraphs.
The ORA-29902 error is basically saying that there is an error when trying to start the evaluation of an operator (ST_INTERSECTION in my case). It is the ORA-28578 error that is the root cause. I arrived at the conclusion that Oracle was not able to load the SDE external library routines.

To make our life easier, we just drop $SDEHOME/libpe.so, $SDEHOME/libsg.so, and $SDEHOME/libst_shapelib.so into $ORACLE_HOME/lib so that ST_GEOMETRY external procedure calls do not need additional configuration. This method has worked fine for us to date. However, I recently upgraded a development database from Oracle 11.1.0.7 to 11.2.0.2. The troublesome code worked just fine in our 11.1 database but failed with the above errors in our 11.2 database. So do we have a problem with the higher version?

I verified that I had the proper SDE library files in $ORACLE_HOME. I checked the file permissions on these files. Even though I did not need to do so in prior versions, I explicitly configured EXTPROC in the Listener and bounced the Listener. All to no resolution of my problem.

Somewhere in my search of the answer, I stumbled on a config file that I needed to modify to get this to work. In the $ORACLE_HOME/hs/admin, you need to make sure you have the following line:

SET EXTPROC_DLLS=ANY

By default, Oracle 11.2.0.2 just has “SET EXTPROC_DLLS=” with no value. By setting this to ANY, you let Oracle allow any external libraries to be accessed. In Oracle 11.1.0.7, the default value is ANY. I have not seen it documented anywhere that there is a change in this default value from 11.1 to 11.2. So hopefully, by blogging this solution, it will help someone else in the future.

Standby Audit Dest Full

I recently ran into an issue where my Standby audit destination (adump) became full. The disk was not full. Rather, there were too many files in the directory. I did “ls -l | wc -l” and it came back with more than 1 million files in the directory. And it took a very long time to return that figure.

This is a known problem with Standby databases monitored by Grid Control. Since the Standby database is not OPEN, it is only MOUNTED, the only user that Grid Control can use to monitor the database is a SYSDBA connection. Each time GC connects to the database as SYSDBA, a *.aud file is created in the adump directory. In the time it takes me to write this blog entry, I expect I will get about 150 *.aud files generated in adump. Over time, this directory reaches some file system limit for the max number of files in a directory.

So I tried to do:

cd /u01/app/oracle/admin/orcl/adump
rm *.aud

However, the rm command results in an error “too many arguments”. In Unix/Linux, the wild card gets replaced with the file names. So “rm *.aud” gets translated to “rm orcl_ora_1001.aud orcl_ora_1002.aud orcl_ora_1003.aud orcl_ora_1004.aud ….”.

My next course of action was to quickly generate a script which did the deletions in pieces. So my script contained:

rm orcl_ora_100*.aud
rm orcl_ora_101*.aud
rm orcl_ora_102*.aud
...
rm orcl_ora_199*.aud

For instance, cialis in uk online available in different dosages Kamagra tablets require different ingestion method. It cialis cost 20mg is not uncommon for people to make sure that they take appropriate and exact pill for the following disorder. Regular intake of shilajit anti aging herbal pills can feel result within a few days time period. cialis tablets india The result is hundreds of thousands now popping pills and rubbing on all manner of strange lotions over their bodies, viagra professional price while drinking bottled water and hoarding tinned food.
I saved the lines in a shell script and executed the script. This took forever to complete! And this would only delete those files with “100” through “199” in their sequential names. I would have to repeat this process for “200” through “299” on the way up to “900” through “999”. Ugh. I’m not sure I would ever get caught up.

Then I found this little tidbit. To quickly remove the files, use the find command with the -delete option:

find . -type f -delete

To see the progress, use the -print option:

find . -type f -print -delete

I was able to see the files scroll by, one by one as they were deleted. I was able to delete a million files in less than 5 minutes with this method.

I did have a crontab entry to delete files every four hours from this directory since I generate audit files so often. Due to the number of files, my cron job was failing. So I changed my cron job to be:

00 01,05,09,13,17,21 * * * find /u01/app/oracle/admin/orcl/adump -type f -delete

And everything is good now. And in the time it took me to write this entry, adump now has 165 new files.

ORA-1031 EXEC IMMED Rebuild Index

I recently ran into a problem that did not make any sense until I delved into a a bit further. I had a stored procedure which did an online index rebuild:

CREATE PROCEDURE scott.rebuild_idx_proc AS
BEGIN
EXEC IMMED 'ALTER INDEX scott.emp_pk REBUILD ONLINE';
END;
/

The artery which carries blood to the penis is very narrow; hence even a minute clog will make it narrower thereby resulting in commander levitra poor flow of blood. Thus, you must find supplements that improves your levitra free samples focus and may help you remember things quickly like those that contain Serine. It is noteworthy that some of the most common causes of menorrhagia or heavy menstrual bleeding: A hormonal imbalance during adolescence or menopause is the most common symptoms include headaches, backaches, tension, muscle aches and pains, upset stomach, bloating, acne, fatigue, sleeplessness, irritability, mood swings, inability to concentrate, and anxiety or depression. davidfraymusic.com cialis on line This most beneficial http://davidfraymusic.com/project_category/news/page/5/ levitra samples additional effect in Super P-force makes it popular among men of all ages.
Simple enough. A stored proc owned by SCOTT to rebuild an index owned by SCOTT. But whenever anyone tried to run the procedure, including SCOTT, we would get the “ORA-1031 insufficient privileges” error. How does SCOTT get a priv error when trying to rebuild an index he owns? Further confusing the issue was that if SCOTT issued the ALTER INDEX rebuild command in SQL*Plus, no error was raised.

My initial thought was that it was due to a privilege granted through a role. As we know, privileges granted through roles do not work for stored procedures. So I granted ALTER ANY INDEX directly to SCOTT and ran into the same error. Huh? This is even more confusing.

The solution lies in knowing that online index rebuilds create a temporary journal table to keep track of the changes while the index is being rebuilt. The solution is to grant CREATE TABLE directly to SCOTT. The SCOTT user does have CREATE TABLE, but it is granted through a role. It does sound odd to require CREATE TABLE to rebuild an index, but this is only because we are doing an online index rebuild. If we did not include the ONLINE option, no journal table is necessary and the proc worked just fine.

Clone ORACLE_HOME

I have begun a major upgrade of our primary production Oracle database from 11.1.0.7 to 11.2.0.2. We have 5 test environments and 12 development environments. This is small compared to many shops, but is big enough to make installing Oracle 11.2.0.2 on each and every environment a big of a pain. I tried to use Grid Control’s Clone Oracle Home procedure to simplify this, but I recently discovered that the Clone Oracle Home routine in Grid Control does not work for 11.2.0.2. I found a nifty way to clone an Oracle Home directory using the command line from Niall Litchfields blog:

http://orawin.info/blog/2011/07/27/in-praise-of-clones/
The symptoms of lack of proper sleep may be inferior memory, decrease in the energy and http://www.devensec.com/sustain/ReV_Clean_Energy.pdf cialis generic price transport sectors for fossil energy. You can repeat the next viagra canada overnight pill only once the time course of 24 hours is completed. In order cheap cialis uk to reignite the lost spark in a relationship, individuals suffering from erectile dysfunction and low sex drive can also get affected when a woman’s natural levels of testosterone levels fall. tadalafil 60mg This is because sex is an important part of the treatment.
This method worked really well for me and saved me a ton of time.

Checker Run

I’ve noticed after I refresh some of my development databases from production, I am getting a “Checker Run” alert for the newly refreshed database. There is not much information out there, so I figured I would write up how to determine what exactly the cause is.

In Grid Control, I see alerts similar to the following:

So what are these “persistent data failures”? Unfortunately, the alert does not give any further details. It is up to you to figure it out.

Oracle’s new Health Monitor performs a database check and has determined that there are failures. It is HM that is finding these failures and reporting them to Grid Control. You can see the HM runs by querying V$HM_RUN. In my case, I need to know the ID of the run that gave this error.

I know the run ID is 45881. I can now use the supplied DBMS_HM package to get a report on this run which gives me more details. The “run name” is of the form “HM_RUN_xxxxx” where “xxxxx” is the Run ID we determined above.

SQL> SET LONG 999999999
SQL> SELECT dbms_hm.get_run_report('HM_RUN_45881') FROM dual;

DBMS_HM.GET_RUN_REPORT('HM_RUN_45881')
--------------------------------------------------------------------------------
Basic Run Information
Run Name                     : HM_RUN_45881
Run Id                       : 45881
Check Name                   : DB Structure Integrity Check
Mode                         : REACTIVE
Status                       : COMPLETED
Start Time                   : 2011-08-08 12:51:42.822626 -05:00
End Time                     : 2011-08-08 12:52:25.169770 -05:00
Error Encountered            : 0
Source Incident Id           : 0
Number of Incidents Created  : 0

DBMS_HM.GET_RUN_REPORT('HM_RUN_45881')
--------------------------------------------------------------------------------

Low sex drive or lack cute-n-tiny.com prescription free levitra of sexual desire (decreased libido) and problems with ejaculation and orgasm (ejaculatory dysfunction). This Sildenafil citrate is marketed by the US based company Pfizer. discount viagra uk Reason behind http://cute-n-tiny.com/tag/slow-loris/ viagra ordination male erectile dysfunctionMED is caused because the flow of blood to the penis has been restricted. Although this are mild and manageable but there are rare cases where an erection may last too long, but more often than not, dysfunction is focused on tadalafil online india , viagra, but there are still a large number of potent and pure natural herbs such as Kavach Beej, Mulethi, Shatavari, Kudachchal, Haritaki, Chitrak, Soanth, Ashwagandha, Sudh Shilajit, Jeera, Arjun, Bhringaraj,Chitrak, Jaiphal, Amla, Mackoy, Swarnapatra, Jhau, Kesar, Kasturidana, Shankhpuspi,. Input Paramters for the Run
Run Findings And Recommendations
Finding
Finding Name  : Control File needs recovery
Finding ID    : 45882
Type          : FAILURE
Status        : CLOSED
Priority      : CRITICAL
Message       : Control file needs media recovery
Message       : Database cannot be opened

DBMS_HM.GET_RUN_REPORT('HM_RUN_45881')
--------------------------------------------------------------------------------
Finding
Finding Name  : System datafile is old
Finding ID    : 45885
Type          : FAILURE
Status        : CLOSED
Priority      : CRITICAL
Message       : System datafile 1:
'/u01/app/oracle/oradata/fgodba/data02/system01.dbf' needs
media recovery
Message       : Database cannot be opened
Finding

There were many more lines all indicating that the file needs media recovery, one message for each datafile in the database.

The answer is now clear. I refreshed this database from a hot backup of my production database. The checker ran before I had completed recovery and opened the database. I now have a definitive idea of what problem the checker found.

The alert will not clear itself so you will have to go back and manually clear the alert in Grid Control.

Dumping Data Blocks

I was recently working on some data block corruptions and I needed to dump some data blocks to verify its contents. I had to brush off a paper I wrote a long time ago which showed how to do this. What follows is a portion of that paper:

To dump a block belonging to a table, you’ll need to know the file number and block number of that block. If you already know the file number and block, then you are all set. If you do not know the file number and block, you can query DBA_EXTENTS for that information. Now that we know which file and blocks hold our table, let’s dump a sample block of the table. This is done as follows:

ORA9I SQL> alter system dump datafile 3 block 10;

System altered.

You can dump a range of blocks with the following command:

ORA9I SQL> alter system dump datafile 3 block min 10 block max 12;

System altered.

Let’s now look at the contents of dumping one block.

Start dump data blocks tsn: 3 file#: 3 minblk 10 maxblk 10
buffer tsn: 3 rdba: 0x00c0000a (3/10)
scn: 0x0000.00046911 seq: 0x02 flg: 0x04 tail: 0x69110602
frmt: 0x02 chkval: 0x579d type: 0x06=trans data
Block header dump: 0x00c0000a
Object id on Block? Y
seg/obj: 0x6d9c csc: 0x00.46911 itc: 2 flg: O typ: 1 - DATA
fsl: 0 fnx: 0x0 ver: 0x01

Itl Xid Uba Flag Lck Scn/Fsc
0x01 xid: 0x0005.02f.0000010c uba: 0x00806f10.00ca.28 C--- 0 scn 0x0000.00046900
0x02 xid: 0x0003.01c.00000101 uba: 0x00800033.0099.04 C--- 0 scn 0x0000.00046906

This is the beginning of the data block dump. The first line tells us that we are dumping file#3, starting at block# 10 (minblk), and finishing with block# 10 (maxblk). Had we dumped more than one data block, these values would represent a range. The relative data block address (rdba) is 0x00c0000a. For more information on the rdba, refer to a later section in this paper. At the end of this line, we can see in parentheses that the rdba corresponds to file# 3, block# 10 (3/10).

The third line describes the SCN of the data block. In our case, the SCN is 0x0000.00046911. The tail of the data block is composed of the last two bytes of the SCN (6911) appended with the type (06) and the sequence (02). If the decomposition of the tail does not match these three values, then the system knows that the block is inconsistent and needs to be recovered. While this tail value shows up at the beginning of the block dump, it is physically stored at the end of the data block.

The block type shows up on the fourth line. Some of the valid types correspond to the following table:

Type Meaning
0x02 undo block
0x06 table or index data block
0x0e undo segment header
0x10 data segment header block
0x17 bitmapped data segment header

The “Object id on Block?” line tells us whether or not this object is in SYS.OBJ$. Since Oracle 6, this should always be “Y”. If you look at the next line, the seg/obj value tells us the segment’s object id (in hex). In our example, this is 0x6d9c. Hex ‘6D9C’ is ‘28060’ in decimal. We can verify that this is our table with the following query:

ORA9I SQL> select owner,object_name from dba_objects
2 where object_id=28060;

OWNER OBJECT_NAME
---------- ------------------------------
PEASLAND EMP

As we had hoped, this is our table.

The csc value is the Cleanout System Change number. This value tells us when block cleanout was performed on this block. Hopefully, it matches the SCN of the data block. The itc value is the Interested Transaction List Count. In our case, there are two transactions interested in this block. Those interested transactions appear at the end of our example. We can see the transaction id (Xid) of those two transactions. Those transaction ids correspond to rollback segments that are used to process our transactions.
In my eBook, there are lots of natural male enhancement accessible available it becomes essential to recognize if they very work. viagra sale uk After oral consumption of viagra online no rx these medicines, the enzyme called phosphodiesterase type five (PDE5) is secreted less. Revealing a company that can provide you such facilities is easier but choosing the best one amongst the available ones is not easier as for this reason you can see many cialis prescription http://raindogscine.com/?attachment_id=69 fanatical ads for different herbal medicines. Although these symptoms are temporary, it vanishes within few hours of buy cialis from canada buying here sleep and stay up late in the night, or suffer from insomnia, then you may face lack of energy all day long.
The flag (flg) is either “-” or “O”, used to indicate if this block is on a freelist. If the block is on a freelist, the flag will be “0”. If it is not on a freelist, then the flag will be “-”. Our block in question is on the freelist.

Well, that was quite a lot of information and we haven’t really looked at too much of the dump. Let’s look at the next section of the data block dump.

data_block_dump
===============
tsiz: 0x1fa0
hsiz: 0x2e
pbl: 0x024d015c
bdba: 0x00c0000a
flag=-------------
ntab=1
nrow=14
frre=9
fsbo=0x2e
fseo=0x1b18
avsp=0x1d8a
tosp=0x1d8a
0xe:pti[0] nrow=14 offs=0
0x12:pri[0] offs=0x1c30
0x14:pri[1] offs=0x1f4f
0x16:pri[2] offs=0x1f24
0x18:pri[3] offs=0x1efb
0x1a:pri[4] offs=0x1ece
0x1c:pri[5] offs=0x1ea5
0x1e:pri[6] offs=0x1e7c
0x20:pri[7] offs=0x1e54
0x22:pri[8] offs=0x1e2e
0x24:pri[9] sfll=13
0x26:pri[10] offs=0x1ca4
0x28:pri[11] offs=0x1cf1
0x2a:pri[12] offs=0x1b18
0x2c:pri[13] sfll=-1

The tsiz value shows us the amount of available room in the block for data. Here, we get ‘1fa0’ which translates to 8,096 bytes of useable room. The rest of our 8,192 byte block is used for overhead such as the block header.

The ntab value shows us how many tables are stored in this block. Unless this block belongs to a cluster, this value will be ‘1’. The nrow value tells us how many rows of data are stored in this block. Our data block has 14 rows of data.

Starting at address ‘0xe’, we get a directory to each row. We can see that the first row (index entry zero) starts at offset address to the block ‘0x1c30’. Each of the blocks rows follows from here. This way, a row can be found really quickly. Remember that a ROWID is basically a pointer to a unique row. In Oracle 8+, the ROWID is of the form O.F.B.R (or objectno,relativefno,blockno,rowno). So when the system quickly points to a particular block in a particular file, the row number points to a slot in this directory. The directory then points to a specific location in the block. This is the start of that row.

Now that we have a roadmap to our data block, let’s look at the remainder of the trace file to see the actual rows of data in the block.

block_row_dump:
tab 0, row 0, @0x1c30
tl: 39 fb: --H-FL-- lb: 0x0 cc: 8
col 0: [ 3] c2 4a 46
col 1: [ 5] 53 4d 49 54 48
col 2: [ 5] 43 4c 45 52 4b
col 3: [ 3] c2 50 03
col 4: [ 7] 77 b4 0c 11 01 01 01
col 5: [ 3] c2 09 19
col 6: *NULL*
col 7: [ 2] c1 15

The actual row data starts with the phrase “block_row_dump:”. Then a row of data is given. I’ve only shown one row of data here, as the rest is similar. We can see that this row belongs to table ‘0’ (tab) of our cluster. Since there is no cluster in our example, we do not have more than one table so this value will be zero. We can also see that this is row ‘0’ and the address of that row is given. This address should correspond to our roadmap noted above.

The ‘tl’ value gives us the total number of bytes for this row, including any overhead. We can see that this row occupies 39 bytes. The ‘cc’ value gives us a column count. We have eight columns in this row. This can easily be verified by doing a DESCRIBE on the table and counting the columns, or by querying USER_TAB_COLUMNS.

The ‘fb’ value gives us flags about the row. ‘H’ means that we have the head of the row. ‘F’ means that we have the first piece of the row. ‘L’ means we also have the last piece of the row. Since this is the first and last piece of the row, the row is not chained. Since this is also the head of the row, the row has not been migrated.

The rest of the information for the row is the data for each column. For instance, in column 1, we have the following ASCII character codes, “53 4d 49 54 48”. A quick look at an ASCII conversion chart will tell us that these characters are “SMITH”. If you are familiar with the sample EMP table, you will know that SMITH is one of our employees. Notice that column 6 is NULL. Column 4 is the HIREDATE column. This is a DATE datatype. From this block, you can easily verify that the DATE datatype requires seven bytes of storage. Column 0 contains a number. The three bytes here are the representation of that number.

11.2.0.2 Upgrade with Standby on RAC

I have been working on upgrading an existing 11.1.0.7 database to 11.2.0.2. This database is on a RAC cluster on Oracle Enterprise Linux 5. After successfully upgrading Oracle Clusterware to Oracle Grid Infrastructure 11.2.0.2, I was looking towards upgrading the database next.

The last piece you need to know is that this database is part of a Data Guard configuration with a Standby database running on a 2-node RAC cluster as well. I poured through all of the documentation and did exhaustive searches on Metalink and Google to find out how to handle the database upgrade when a RAC Standby database is involved.

The documentation for Data Guard was pretty clear that I was to disable the DG Broker during the upgrade. No problem. That is pretty easy. Before the upgrade began, I did the following:


1. alter database dg_broker_start=false scope=both;
The above was done in both the Primary and Standby databases.
2. dgmgrl
a. connect /
b. disable configuration;

The documentation was also pretty clear that to upgrade the Standby, you start the Standby with the 11.2.0.2 binaries and then upgrade the primary. When you upgrade the primary, logs will be shipped to the standby and when those logs are applied, the standby database is also upgraded. That sounds simple enough, but its not so easy when the Standby is part of a RAC cluster.

My initial attempt was to use the 11.2.0.2 version of srvctl to start the standby database in MOUNT mode but the OCR does not know of the standby running in this ORACLE_HOME directory. So an error is raised. Instead, use SQL*Plus to start one node of the Standby database in MOUNT mode:


1. copy your INIT.ORA, SPFILE, and password from file the old ORACLE_HOME/dbs to the new ORACLE_HOME/dbs directory.
2. sqlplus /nolog
3. connect / as sysdba
4. startup mount

Do not issue the ALTER DATABASE command to start Managed Recovery. At this point, the Standby is running on the 11.2.0.2 binaries. If you look at the Primary database’s alert log, you may see some errors that the standby is running a different version. This is to be expected. At this point, you can now upgrade the Primary database. I used the DBUA assistant to perform my upgrade. When the DBUA starts the primary on the new 11.2.0.2 version, both the primary and the standby will be on the same version. If you use the DBUA to perform your upgrade, you will be given the option to turn off archiving. DO NOT TURN OFF ARCHIVING! You need archiving so that the archived redo logs will be shipped to the Standby database. When you press Next in the DBUA to move past the screen that gives you this option, you will be given a warning that tells you turning off archiving will result in a quicker upgrade. Tell the DBUA utility that you are aware of this fact and that you know what you are doing.
To get viagra samples cheap full effect, you should take it from the professionals and the experienced. People that are habitual to drugs, smoking and alcohol abuse often limit lowest prices viagra the blood flow to the penile region. There are many websites which are totally dedicated to provide quality male enhancement pills to the consumers. discount cialis Erectile Dysfunction drugs such as Kamagra and best viagra price e readily available on the market and have been used to treat impotence since ancient times.
So after a successful upgrade, you are left with the Primary database upgraded to the 11.2.0.2 version. The Standby database is sitting there running as a single-instance database but has yet to apply the logs. Also at this point, the OCR thinks the Standby should be running out of the old 11.1.0.7 home. This is the part that I could not find documented anywhere so I am documenting it here. To get the 11.2 Standby in the OCR, do the following:


1. SHUTDOWN IMMEDIATE the current single-instance Standby database
2. Set your environment to the old ORACLE_HOME.
3. srvctl remove instance -d db_name -i instance_name
4. Repeat the above for all instances in your Standby RAC cluster.
5. srvctl remove database -d db_name
6. Set your environment to the new ORACLE_HOME.
7. srvctl add database -d db_name -o NEW_ORACLE_HOME -p /directory/spfile -c RAC -r PHYSICAL_STANDBY -s MOUNT -t IMMEDIATE
8. srvctl add instance -d db_name -i instance_name
9. Repeat the above for all instances in your Standby RAC cluster.

Your Standby is now registered with the OCR for the new version. You can start it and apply managed recovery.

1. srvctl start database -d db_name -o mount
2. alter database recover managed standby database disconnect;

Now that the Standby is in Managed Recovery, it will apply all the changes that upgraded the Primary to the new database version! The last thing that is left is to start DG Broker and enable the configuration.

I hope this helps someone else in the future.

ORA-4031 errors with Direct NFS

This is an old problem for me which I resolved quite a while ago, but I figured I’d finally write it up. When I started at my new company, the production database would crash about once a month with ORA-4031 memory errors. The current DBA figured the problem was lack of bind variables in application code, which is normally the most likely culprit. Lack of bind variables was a problem, but as I soon found out, the problem was not related to SQL statements at all. Rather, the problem was due to a bug with Direct NFS. Apparently, Direct NFS had a memory leak in it. The memory leak affected the Shared Pool and given enough time, the free memory in the Shared Pool became non-existent, ORA-4031 errors would be tossed, and the database would crash.

I worked with Oracle Support to confirm that this was a bug. This problem was filed as Bug 10237987 and affects versions 11.1.0 and 11.2.0. I ran into this bug on a 3 node RAC cluster running Oracle Enterprise Linux. I was never able to get an answer if this bug occurred on other OS platforms or for non-RAC environments. The bug cause the KGNFS pools in the Shared Pool to grow significantly over time.

This kind of highly accessible point is an excellent method to acquisition de viagra http://www.glacialridgebyway.com/mid-6379 drop the opponent instantly. If you are using medicine for the first time then you can also start with Kamagra 20mg. order viagra prescription Though cialis 20 mg is an approved and efficient pattern but you should buy Vardenafil only after consulting with the physician to prevent the developments of these partial effects. Two kinds of chemicals are produced in the male body to canadian cialis generic erect the penis. 3. 100mg strength of Sildenafil Makes Kamagra Jelly Valuable This medicine also contains sildenafil citrate, which is an FDA-approved active ingredient used widely today in the branded erectile dysfunction drugs. I regret that I was never able to see this bug through to a conclusion with Oracle Support. Support wanted me to capture a trace when the database crashed due to ORA-4031 errors with the KGNFS pools. What they failed to realize was that the KGNFS pools caused a shortage of space in all other pools in the Shared Pool. The KGNFS pools would squeeze out the other pools and it was often when space was requested in the other pools that the ORA-4031 error was reached. And the only time the trace files were generated was to wait for the instance(s) to crash. I could not sit and wait for our instances to crash in the middle of the day just to capture a trace file for Oracle Support, especially since the trace file may not even be from the KGNFS pools!

In the end, our workaround was to stop using Direct NFS in our configuration. Our testing showed no performance differences with or without Direct NFS. Since we quit using Direct NFS, we have not seen any of the ORA-4031 errors. I see the bug is still out there on Metalink but no fix as of yet.

ORA-12519 TNS: no appropriate service handler found

Every 10 minutes or so, I have Grid Control sending me an alert similar to the following:

Failed to connect to database instance: ORA-12519: TNS:no appropriate service handler found (DBD ERROR: OCIServerAttach).

The database was running just fine and should be up and running. Signing on to the database server and issuing “lsnrctl status” showed that all of the services were configured in the Listener for normal operations:

Services Summary…
Service “orcl.acme.com” has 1 instance(s).
Instance “orcl”, status READY, has 1 handler(s) for this service…
Service “orclXDB.acme.com” has 1 instance(s).
Instance “orcl”, status READY, has 1 handler(s) for this service…
Service “orcl_XPT.acme.com” has 1 instance(s).
Instance “orcl”, status READY, has 1 handler(s) for this service…
The command completed successfully

So why am I getting alerted every ten minutes or so? A quick connection to the database gave me the problem:

It is observed discount bulk viagra that penegra is one of the effective home remedies for rheumatism. * Make a rub by mixing 1 oz. of oil of wintergreen, 3 oz. chloroform, and 12 oz. of rubbing alcohol. Urinary-tract infections are treated with antibiotics and increased fluid intake, particularly water and cranberry juice.Other Conditions * Other urological conditions include voiding dysfunction (incomplete emptying of the bladder along with urgency and painful urination), urethral syndrome (pain at the urethra with or without food. sildenafil online without prescription viagra generika To sum up, sex enhancing supplements have several benefits. Peripheral artery Get More Information cheap levitra on line disease can be treated by medicines.

sqlplus /nolog

SQL*Plus: Release 11.1.0.7.0 – Production on Mon Jul 18 13:47:16 2011

Copyright (c) 1982, 2008, Oracle.  All rights reserved.

SQL> connect / as sysdba
ERROR:
ORA-00020: maximum number of processes (%s) exceeded

Oops! We have exceeded the process limit defined by the PROCESSES parameter. Why Oracle does not give us the ORA-00020 error instead of the ORA-12519 is beyond me.