Chinaunix首页 | 论坛 | 博客
  • 博客访问: 90952004
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-05-24 19:17:10

  来源:

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 .....) ;

阅读(835) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~