©
本文档使用php.cn手册发布
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 .....) ;