Oracle Errors(ORA-…)
January 5, 2011 1 Comment
Here is discussed just one variant how to solve the problem.
ORA-01033; ORA-01034; ORA-01035; ORA-01203; ORA-02069; ORA-12518; ORA-01034 and ORA-27101; ORA-19809 and ORA-19804; ORA-27101;
RMAN-06059 & ORA-19625 & ORA-27041
Error
ORA-27101: shared memory realm does not exist
Action
SQL> startup SQL> shutdown immediate
(It helped me,I hope it will help you too )
Error
ORA-01033: ORACLE initialization or shutdown in progress
Cause
Database is in mount or nomount mode.
Action
–If it is in nomount mode:
SQL>alter database mount; SQL>alter database open;
–if it is in mount mode:
SQL>alter database open;
Error
ORA-01035: ORACLE only available to users with RESTRICTED SESSION privilege
Cause
Instance started in restricted mode.
Action
–Ask sysdba to disable restricted session
SQL>alter system disable restricted session;
–Or ask sysdba to give you RESTRICTED SESSION system privilege.
SQL>grant restricted session to yourUserName
Error
ORA-01034: ORACLE not available
Cause
The database and the instance are not started.
Action
SQL>startup;
Error
ORA-12518: TNS:listener could not hand off client connection tips
Action
–On windows
Start->Run->services.msc->OracleServiceMFD manually start it
Note: MFD is instance name
Error:
ORA-02069: global_names parameter must be set to TRUE for this operation
Cause:
You are trying to make DML operation on the remote database using local function.
This is the “Oracle Bug”, it should work but it doesn’t.
Example (for better understanding):
–Assume that we have two databases DB1 and DB2
–On DB1 we have function fun1
create function fun1 return number is begin return 1; end;
–On DB1 we have a database link referring to DB2 called, for simplicity, DB2.
–Check that it works.
select * from dual@DB2
–If the output is the following, then it works.
DUMMY ----- X
–Let’s create test table in DB2(connect to DB2 database)
create table tesTable( id number, testColumn number );
–Let’s make some DML operation, which should cause this ORA-02069 error.
insert into testable@DB2(id,testColumn) values(1, fun1);
“ORA-02069: global_names parameter must be set to TRUE for this operation”
Now, when you already know in what situation this error occurs let’s write the solution. It has two solutions:
Solution one:
1. Set the global_names parameter to true, it can be done on the system level or session level(consider that session level sometimes is not available)
–-On DB1
alter session set global_names=true;
2. Create database link on the remote database, in our case on DB2, which will refer to the database DB1(make link name the same as the database global name, because setting global_names parameter to true requires it).
–On DB2
Create database link DB1 connect to <username> identified by <password> using ‘DB1’;
Now it should work, but I should mention that creating database link may not be preferable, because it is not secure (You should guess why, because if you do this you will be able to connect to DB1 with some user through database link…if it doesn’t matter for you then use itJ).
Solution two:
1. Create temporary table on the local database.
2. Insert row into the temporary table.
3. Insert the temporary row from the temporary table to the remote database.
4. Delete the temporary row.
Note that this solution is slower than the first one. But it also solves the problem and is much more secure.
Error
ORA-01203 wrong incarnation of this file – wrong creation SCN
Cause
The SCN in datafile is not the same as the SCN in the control file.
This is probably a copy of a file that was dropped.
Action
Restore the current copy of the datafile.
Error
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
SVR4 Error: 2: No such file or directory
Action
Check ORACLE_SID if it is correctly set.. For example, you may need to set this parameter with uppercase letters or lowercase letters…Try one of them
Error
RMAN-03009: failure of backup command on ORA_DISK_1 channel at …
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 52428800 bytes disk space from 104857600 limit
Cause
The flash recovery area is full.
Action
Run the following command to identify limit and used space:
select name ,floor(space_limit / 1024 / 1024) "Limit(MB)" ,ceil(space_used / 1024 / 1024) "Used(MB)" from v$recovery_file_dest
You can change the limit:
alter system set db_recovery_file_dest_size= scope=both;
You can continue.. backuping
Error
RMAN-06059: expected archived log not found, lost of archived log compromises recoverability
ORA-19625: error identifying file string
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 3) The system cannot find the path specified.
Cause
RMAN attempted to backup an archive log file, but couldn’t find it.
Action
Restore missing file or run the following:
change archivelog all crosscheck;
RMAN makes a check and if any archivelog file is missing will be marked as unavailable.
Pingback: 解决ORA-02069: global_names parameter must be set to TRUE for this operation 问题-IT文库