数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Oracle 全球解答的最hot的21个问题


发布日期:2019年01月25日
 
Oracle 全球解答的最hot的21个问题

Oracle Worldwide Technical Support answers approximately 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 DBAs Also included are answers and/or tools to help further identify the problem

Q What should I do about this warning: Warning in SQLPLUS product information table not loaded?

A Run $ORACLE_HOME/sqlplus/admin/pupbldsql as system (see appendix of sqlplus reference guide for details)

Q How can users be restricted from issuing DML from SQLPLUS (when within

forms they are restricted but in SQLPLUS they arent)

A Use the Product User Profile table in SQLPLUS (created by pupbldsql)

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 catalogsql and expvewsql

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 doesnt necessarily solve the problem but will help to identify it)

Q Why is a tablespace that has been dropped still in the Data Dictionary?

A It is probably in the DD as invalid will remain there unless the DB is reinitialized

Q I cant create objects in new tablespaces Whats wrong?

A Look in DBA_ROLLBACK_SEGS to be sure there are rollback segments If there isnt create another (restart DB with it added to initora if it is private) before creating objects

Q Why is the private rollback segment that was just created not being used?

A If it is private it must be added to initora and the DB restarted before it will be acquired

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 alertlog for

errors (this doesnt necessarily solve the problem but will help to identify it)

Q How can you shrink a Rollback Segment?? (Or the variation: arent Rollback Segments deallocated?)

A In V rollback segments arent deallocated and you must drop and recreate to shrink themin V you can specify an OPTIMAL SIZE

that the rollback segment will shrink to

Q How do you move data from one tablespace to another?

A See page of the V Utilities Guide (you need to revoke grant alter userimp)

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 systemMake the ration of the two be equal to the number of Rollback Segments

Q The database is hanging users can logon but not do any work What can I do?

A Check whether the archiver is stuck (alertlog would show ORA)Either make space in the archival destination or change the

log_archive_dest parameter

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

Q I removed the datafile before dropping the tablespace How can I

recover from this ?

A ) shutdown

) startup mount

) alter database datafile fullpath_of_removed_DF offline drop

) alter database open

) drop tablespace ts_name including contents

Q I have DBA privileges and still cant 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

Q How can I create a copy of my database ?

A Do a full export of the database precreate the second database including the needed tablespace then perform full import

Q Why are some tables missing from a full export ?

A Objects owned by SYS are not exported You shouldnt be creating tables as sys

Q Why is Character type conversion to not supported on an import?

A Thats import telling you its trying to load a varchar into a charYou need to get a v export of the v database by using the v export utility against the v database:

) run catexpsql as sys on the v database (this will establish the views needed for a v export

) From the v set up TWO_TASK to point to the v database then perform the export

Q What do I do if Drop tablespace is hanging in v?

A Make sure that the DC_ parameters are high enough

dc_free_extents > select count(*) from sysfet$;

dc_used_extents > select count(*) from sysuet$;

row_cache_enqueue >= dc_free_extents + dc_used_extents;

Q How many blocks are actually used by the data in my tables ?

A This query will count all the blocks occupied by the tables data:

select count(distinct(substr(ROWID ) || (substr(ROWID )) from

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 col=l and col=l ) ;

上一篇:Oracle数据库备份与恢复之二:SQL*Loader

下一篇:SQL*Loader详细使用教程:命令行参数