RDBMS SUPPORT's TOP 21
Oracle Worldwide Technical Support answers approximately 6000 questions
a week. In the RDBMS support group we find there is often a common theme to
the questions. Following are some of the most commonly asked questions and
problems encountered in the RDBMS technical support group. These questions
are based on problems encountered by relatively new DBA's. Also included
are answers and/or tools to help further identify the problem.
1. Q. What should I do about this warning: "Warning in SQLPLUS "product
information table not loaded"?
A. Run $ORACLE_HOME/sqlplus/admin/pupbld.sql as system (see appendix of
sqlplus reference guide for details).
2. Q. How can users be restricted from issuing DML from SQLPLUS (when within
forms they are restricted but in SQLPLUS they aren't)
A. Use the Product User Profile table in SQLPLUS (created by pupbld.sql.)
3. Q. Trying to restore from a full export and getting "duplicate key in
index". Why is this occurring?
A. The DB was not reinitialized before import
recreate DB, run catalog.sql and expvew.sql.
4. Q. Why is performance slow on an particular application?
A. Run EXPLAIN PLAN and Tkprof to gather info about execution plan and
some statistics (this doesn't necessarily solve the problem but will
help to identify it).
5. Q. Why is a tablespace that has been dropped still in the Data
Dictionary?
A. It is probably in the DD as 'invalid'...it will remain there unless
the DB is reinitialized.
6. Q. I can't create objects in new tablespaces. What's wrong?
A. Look in DBA_ROLLBACK_SEGS to be sure there are 2 rollback segments. If
there isn't create another (restart DB with it added to init.ora if
it is private) before creating objects.
7. Q. Why is the private rollback segment that was just created not being
used?
A. If it is private it must be added to init.ora and the DB restarted
before it will be acquired.
8. Q. What do I do when an application is hanging?
A. Use SQLDBA Monitor Locks (also tables and processes) to determine if
the table (or row) is locked and review tracefiles and alert.log for
errors (this doesn't necessarily solve the problem but will help to
identify it).
9. Q. How can you shrink a Rollback Segment?? (Or the variation: aren't
Rollback Segments deallocated?)
A. In V6 rollback segments aren't deallocated and you must drop and
recreate to "shrink" them...in V7 you can specify an "OPTIMAL SIZE"
that the rollback segment will shrink to.
10. Q. How do you move data from one tablespace to another?
A. See page 3-3 of the V6 Utilities Guide (you need to revoke, grant,
alter user,imp)
11. Q. Why is a created Public Rollback Segment not used by the application?
A. If transactions/transactions_per_rollback_segment is less than one
than only one rollback_segment will be acquired and it will be system.
Make the ration of the two be equal to the number of Rollback Segments.
12. Q. The database is hanging, users can logon, but not do any work. What
can I do?
A. Check whether the archiver is stuck (alert.log would show ORA-255).
Either make space in the archival destination, or change the
log_archive_dest parameter.
13. Q. How can I get a full error listing?
A. Add tracing to your session by issuing an
'alter session set sql_trace true'.
Look for trace files in the USER_DUMP_DEST directory.
14. Q. I removed the datafile before dropping the tablespace. How can I
recover from this ?
A. 1) shutdown
2) startup mount
3) alter database datafile 'fullpath_of_removed_DF' offline drop
4) alter database open
5) drop tablespace ts_name including contents
15. Q. I have DBA privileges and still can't connect internal. Why?
A. 'connect internal' is checked at the OS level. In Unix it means that
your userid needs to be listed at the DBA group in the /etc/group
file.
16. Q. How can I create a copy of my database ?
A. Do a full export of the database, pre-create the second database
including the needed tablespace, then perform full import.
17. Q. Why are some tables missing from a full export ?
A. Objects owned by SYS are not exported. You shouldn't be creating
tables as sys.
18. Q. Why is 'Character type conversion 3 to 1 not supported' on an import?
A. That's import telling you it's trying to load a varchar into a char.
You need to get a v6 export of the v7 database by using the v6 export
utility against the v7 database:
1) run 'catexp6.sql' as sys on the v7 database (this will establish
the views needed for a v6 export.
2) From the v6, set up TWO_TASK to point to the v7 database, then
perform the export.
19. Q. What do I do if Drop tablespace is hanging in v6?
A. Make sure that the DC_ parameters are high enough.
dc_free_extents > select count(*) from sys.fet$;
dc_used_extents > select count(*) from sys.uet$;
row_cache_enqueue >= dc_free_extents + dc_used_extents;
20. Q. How many blocks are actually used by the data in my tables ?
A. This query will count all the blocks occupied by the table's data:
select count(distinct(substr(ROWID, 1, 8) ||
(substr(ROWID, 15, 4))
from
21. Q. How can I find all the duplicate entries in a table ?
A. select * from real_table_name X
where rowid < (select max(ROWID) from real_table_name where col1=X.col1 and col2=X.col2 .....) ;