AskDba.org Weblog » Archive for May 2008
Resolving Shutdown Immediate Hang Situations
Many times Oracle DBA’s are faced with a situation where shutting down the instance with shutdown immediate seems to take infinite time and gives a impression that the session is hung. In most of the cases this is not a hang. Hang can be defined as a scenario when few sessions/processes are waiting on some action and in turn blocking other session/processes to complete their tasks. Now the original sessions could be waiting because of resource issues or Oracle Bugs. Shutdown immediate can take long time to complete (appear to be hung) because of three reasons: 1. Uncommitted transactions are being rolled back. 2. SMON is cleaning temp segments or performing delayed block cleanouts. 3. Processes still continue to be connected to the database and do not terminate. 1. Uncommitted transactions are being rolled back: This … Read entire article »
Solving ORA-1031 while connecting as “/ as sysdba” :
Many times we see an issue like this: SQL> conn / as sysdba ERROR: ORA-01031: insufficient privileges This is a very common and frequent error that can occur after the new oracle software install or due to some permissions changes at OS level. I will dicuss the approach to solve ORA-1031 error on UNIX environment. 1. Check that oracle_sid and oracle_home are set correctly as: $ echo $ORACLE_SID $ echo $ORACLE_HOME Find the values returned by above command and match these values under /etc/oratab file, these have to be listed there. EXAMPLE: ======== $ echo $ORACLE_SID BSNL $ echo $ORACLE_HOME /u01/app/oracle/product/10.2.0/db_2 $ cat /etc/oratab BSNL:/u01/app/oracle/product/10.2.0/db_2:N VSNL:/u01/app/oracle/product/10.2.0/db_2:N The values above are matching with /etc/oratab entries If the oracle_sid and oracle_home are not set properly then set it as: $ export ORACLE_SID=BSNL $ export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_2 And try to connect as “/ as sysdba” It should work now. If these are correct but still the error is coming … Read entire article »
AWE -What is It and How to use it?
32-bit Operating systems provide 4Gb of addressable space to applications. This includes memory for the user application and also for the system. When running Oracle on 32-Bit Windows, we can have total memory limited to 1.7 Gb only. If you allocate memory more then 1.7 GB or if it increases during course of database operation, then you are likely to encounter errors such as ORA – 4030, ORA – 12500 or ORA – 27102. There are few solutions to overcome this problem. I am going to discuss them in this post. Feel free to post any Questions/doubts you have. 1)Using /3GB switch To increase the virtual addressable space for processes and applications, you need to use /3GB switch. The /3GB switch allows for providing memory upto 3GB for processes (In actual it … Read entire article »
Recovering from ORA-1578 ORA-8103 (Logical Corruption)
1. For ORA-1578: There are two ways in which we can extract the data from a corrupted table: a) Using DBMS_REPAIR.SKIP_CORRUPT_BLOCKS b) Using Event 10231 a) Connect as sysdba user: execute DBMS_REPAIR.SKIP_CORRUPT_BLOCKS(‘<schema_name>’,'<table_name>’); Put the schema name and the table name of the corrupted table. Then issue the following command to craete a new table from corrupted table: create table new_table as select * from corrupted_table_name; Now Drop the corrupted table, rename the newly created table to its original name and clear the attribute for the new table as: execute DBMS_REPAIR.SKIP_CORRUPT_BLOCKS (‘<schema_name>’,'<table_name>’,flags=>dbms_repair.noskip_flag); b) Set the event 10231 at session level to skip corrupted rows: ALTER SESSION SET EVENTS ‘10231 TRACE NAME CONTEXT FOREVER, LEVEL 10′; Then issue the following command to craete a new table from corrupted table: create table new_table as select * from corrupted_table_name; Now Drop the corrupted table, rename the newly created table to its … Read entire article »
CRSCTL CheatSheet
You can find below various commands which can be used to administer Oracle Clusterware using crsctl. This is for purpose of easy reference. Start Oracle Clusterware #crsctl start crs Stop Oracle Clusterware #crsctl stop crs Enable Oracle Clusterware #crsctl enable crs It enables automatic startup of Clusterware daemons Disable Oracle Clusterware #crsctl disable crs It disables automatic startup of Clusterware daemons. This is useful when you are performing some operations like OS patching and does not want clusterware to start the daemons automatically. Checking Voting disk Location $crsctl query css votedisk 0. 0 /dev/sda3 1. 0 /dev/sda5 2. 0 /dev/sda6 Located 3 voting disk(s). Note: -Any command which just needs to query information can be run using oracle user. But anything which alters Oracle Clusterware requires root privileges. Add Voting disk #crsctl add css votedisk path Remove Voting disk #crsctl delete css votedisk path Check CRS Status $crsctl check crs Cluster … Read entire article »
ORA-00600 [12333]
ORA-00600 with [12333] is an error that I have encountered on multiple occasions. This post is to shed some light on what this error is all about. To start with let us try to understand when does oracle report ora-00600 error. An ora-00600 error is raised in the exception handler section of Oracle’s c-program code. i.e. Coders have forseen certain exceptional situation that are potential threats to data integrity or memory integrity and written appropriate exceptional handlers to report a ora-00600 error with appropriate information about the exception condition. Details like [12333] indicate or provide hints as to what caused the exception. ora-00600 [12333] is reported when the server recieves data from a client and the server cannot recognize the data format. This error mostly is because of issues with network and … Read entire article »

Recent Comments