Solved

Oracle - Unlimited Tablespace (error ORA-00600)

Posted on 2014-09-15
7
1,017 Views
Last Modified: 2014-09-17
Hello

I am using Oracle XE 11G (no Oracle support, I know). CentOS 6.5 64bit

I am getting following error when I create a user, add/import some data and try to drop it:

SQL> drop user test_user cascade;
drop user test_user cascade
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [kdddgb:clsviol_kcbgcur_9], [0],
[4194452], [1], [4294967250], [8192], [], [], [], [], [], []

Open in new window


To reproduce at my machine I do:

CREATE USER TEST_USER IDENTIFIED BY TEST_PASSWORD
DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP
QUOTA 200M ON USERS;

GRANT CREATE TRIGGER, CREATE SEQUENCE, CREATE SYNONYM, CREATE TABLE, CREATE VIEW, 
CREATE TYPE, CREATE SESSION, CREATE MATERIALIZED VIEW , CREATE PROCEDURE  TO TEST_USER;

ALTER USER TEST_USER GRANT CONNECT THROUGH apex_rest_public_user;

GRANT EXECUTE ON UTL_HTTP TO  TEST_USER;
GRANT EXECUTE ON UTL_SMTP TO TEST_USER;
GRANT EXECUTE ON UTL_TCP TO TEST_USER;
GRANT EXECUTE ON DBMS_CRYPTO TO TEST_USER;


imp test_user/TEST_PASSWORD file=MyDUmp.dmp fromuser=pageh touser=test_user


SQL> drop user test_user cascade;
drop user test_user cascade
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [kdddgb:clsviol_kcbgcur_9], [0],
[4194452], [1], [4294967250], [8192], [], [], [], [], [], []


grant unlimited tablespace to test_user;

Open in new window


But when I run following I am able to drop my user without a problem:

SQL> grant unlimited tablespace to test_user;

Grant succeeded.

SQL> drop user test_user cascade;

User dropped.

Open in new window


History:

Some DBA working in past some months ago executed following:
grant unlimited tablespace to public;

Open in new window


It was revoked after a few months by:

revoke unlimited tablespace from public;

Open in new window


I would be really thankful if someone can help me fix this issue.

Thanks in advance,

Habib
0
Comment
Question by:sysautomation
7 Comments
 
LVL 48

Expert Comment

by:PortletPaul
ID: 40324742
An ORA-00600 error is a generic internal error code - and you need to contact Oracle support.

See:
http://www.experts-exchange.com/Database/Oracle/Q_27252809.html#accepted-solution
http://www.experts-exchange.com/Database/Oracle/Q_27644063.html#accepted-solution

You will find this advice is quite consistent for ORA-00600
0
 
LVL 48

Expert Comment

by:PortletPaul
ID: 40324743
ORA-00600:
internal error code, arguments: [string], [string], [string], [string], [string], [string], [string], [string]
Cause:      This is the generic internal error number for Oracle program exceptions. This indicates that a process has encountered an exceptional condition.
Action:      Report as a bug - the first argument is the internal error number
http://ora-00600.ora-code.com/
0
 

Author Comment

by:sysautomation
ID: 40324745
If you please read my question I am using XE and Oracle does not provide support for that. Therefore contacting Oracle support is out of question here.
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 48

Expert Comment

by:PortletPaul
ID: 40324749
Afraid I cannot offer any other advice, deciphering kdddgb:clsviol_kcbgcur_9 into something intelligible is something that only Oracle support can do (to my knowledge).

And, as I said earlier, this message will be consistent, even the formal wording of the error message says report a bug.
0
 
LVL 36

Accepted Solution

by:
Geert Gruwez earned 500 total points
ID: 40324785
technically XE is a product of oracle ... so they will accept filing a bug report.
they probably won't solve it with a patch.

on another pc ...
you could redo the setup of the database
and export/import everything excluding the grants

generate a script for all the grants, check it, and apply it to the new xe.
expdp: sqlfile

and then move the new xe db back to the original pc.

reference for expdp/imdp:
http://docs.oracle.com/cd/E17781_01/server.112/e18804/impexp.htm#BABBHIJF
http://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_export.htm#SUTIL200
0
 
LVL 34

Expert Comment

by:Mark Geerlings
ID: 40325165
One other option you could try: log in as the user you want to drop, then run this query:

select 'drop '||object_type||' '||object_name||';' "Command"
from user_objects where object_type not in ('INDEX', 'INDEX PARTITION', 'LOB', 'TABLE PARTITION');

Or, from a DBA-privileged account, run the query like this:

select 'drop '||object_type||' '||owner||'.'||object_name||';' "Command"
from user_objects where object_type not in ('INDEX', 'INDEX PARTITION', 'LOB', 'TABLE PARTITION');

Then, in either case, run the resulting commands, and try the "drop user..." command again after that.
0
 
LVL 73

Expert Comment

by:sdstuber
ID: 40325169
do you know what is in the dump file?  
Are there any errors in the import log?

You're using the old imp.

Could you export again from the source system using expdp and then import with impdp as described above?
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Working with Network Access Control Lists in Oracle 11g (part 1) Part 2: http://www.e-e.com/A_9074.html So, you upgraded to a shiny new 11g database and all of a sudden every program that used UTL_MAIL, UTL_SMTP, UTL_TCP, UTL_HTTP or any oth…
How to Unravel a Tricky Query Introduction If you browse through the Oracle zones or any of the other database-related zones you'll come across some complicated solutions and sometimes you'll just have to wonder how anyone came up with them.  …
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now