Friday, July 30, 2010

ORA-00314: log 4 of thread 1, expected sequence# doesn't match ORA-00312: online log 4 thread 1: '\REDO04.LOG'

SQL>STARTUP MOUNT; 
SQL>RECOVER DATABASE UNTIL CANCEL;
SQL>ALTER DATABASE OPEN RESETLOGS;
SQL>SHUTDOWN;  
SQL>STARTUP; 

ORA-00214: controlfile inconsistent

From: "Milla G" <[Email Address Removed]
Subject: Re: ora-00214(urgent)
Date: Wed, 29 Jan 2003 08:00:38 +0000

1. If the database is still up, do a shutdown abort now.

2. Edit the init.ora file for this instance (or config.ora in an ifile
configuration).

Find the CONTROL_FILES parameter and modify it to include
just ONE copy of the control file that you have reasons to
believe is up-to-date. For example, if you only have two
mirrored copies X and Y of the control file:

CONTROL_FILES = (X, Y)

and you know you have accidentally overwritten X with an old
copy, make

CONTROL_FILES = (Y)

If you are not sure about it, choose any one of the control file
copies and remove or comment out all the other copies from the
CONTROL_FILES parameter.

3. Start up the database in restricted mode.

STARTUP RESTRICT

If the database comes up fine, move on to Step 4.

If instead you get ORA-1122, ORA-1110, and ORA-1207, go back to
Step 2 and make the CONTROL_FILES parameter point to another one
of the mirrored copies. If you have already tried each and
every one of the mirrored copies unsuccessfully, you must create
a new control file for the database. See the Solution Reference
to PR entry 1012929.6 ("How to Recreate the Control File").

If you get ORA-1113 and ORA-1110 pointing to one of the datafiles,
it means the copy of the control file you picked is good, but
the referenced datafile must be recovered before the database can be
opened. Try issuing a RECOVER DATABASE command and applying the
logs you are prompted for. You may have to resort to the online
logs to complete media recovery. For further details, see the
Solution Reference to PR entry 1012943.6 on ORA-1113. Once the
datafile is recovered, issue an ALTER DATABASE OPEN.

4. Shut the database down (normal or immediate).

5. Make all copies of the control file consistent.

Copy the good mirrored copy of the control file that you just used
to bring the database up onto all other copies, as originally listed
in the CONTROL_FILES parameter of your init.ora file (or config.ora
in an ifile configuration).

6. Restore the CONTROL_FILES parameter to its original value.

Edit the init.ora file for this instance (or config.ora in an ifile
configuration) to make the CONTROL_FILES parameter include
all mirrored copies of the control file again.

7. Start up the database.

Thursday, July 29, 2010

package body V$SESSION table or view not exist

select NVL(TERMINAL,'UNKNOWN) from V$SESSION where SID = 1;

you can have result from above snippet at sqlplus, but it shows error ORA-00942: table or view does not exist when you access from package body

View name : V_$SESSION
Public synonym known as : V$SESSION

Solution :
connect sys/[password]@[SID] as sysdba

GRANT SELECT ON V_$SESSION TO [username];

OR

GRANT SELECT ANY DICTIONARY TO [username];

Thursday, July 22, 2010

Fail to connect to oracle with error startup or shutdown initiating process

- Check initSID.ora files at each folder, at ORACLE_HOME/database/admin or pfile
- reconnect using sqlplus if ora-12514, check environment variable and look at lsnrctl services does service_name is correct re arrange listener.ora put global_dbname at first
- fail during startup with ora-01113 and ora-01110 from sqlplus use recover datafile 'path corrupt data'; then recover database or shutdown database and startup again
- check select status from v$instance; it should be mounted
- ORA-01109 database not open. manual way : alter database open;