FAQ_EXTERNAL_LIST

 

Manageability Frequently Asked Questions

 

 

Database Configuration

Database Configuration -- Server Parameter File (SPFILE)

Database Configuration -- Automatic Undo Management

Database Configuration -- Automatic SQL Execution Memory Management

Database Configuration -- Memory Management

Database Configuration -- Server Generated Alerts

Database Resource Manager

Scheduler -- No Sub Category

Space Management -- Oracle Managed Files

Space Management -- Resumable Space Allocation

Space Management -- Space Management

Space Management -- Reorganization

Performance Tuning -- Automatic Workload Repository (AWR)

Performance Tuning -- Wait Model

Performance Tuning -- Optimizer

Performance Tuning -- SQL Tuning

Performance Tuning -- Automatic Statistics Collection

Performance Tuning -- Performance Diagnostics and Tuning

Performance Tuning -- No Sub Category

Database Upgrades and Migrations -- Upgrade

Diagnosibility and Support Workbench -- No Sub Category

Answers

Can the new server manageability features be used with Real Application Clusters?

Yes, begining Oracle9i Release 2, all manageability features can be used with RAC. In Oracle9i Release 1, dynamic SGA feature is not supported while using RAC.


How is SPFILE different from a PFILE (init.ora file)?

Unlike "init.ora" files, SPFILEs always reside on the server. Since they are in binary format, the only way change their content is to use the ALTER SYSTEM.......SCOPE=SPFILE | BOTH command.

It is also not possible to specify the name and location of the SPFILE with the STARTUP command. You can either use the default SPFILE or use the pfile parameter SPFILE to point the instance to a non-default SPFILE.

Dynamic changes made to initialization parameter value can be made persistent in the SPFILE since it can be updated directly by the server.

Finally, all member instances of a Real Application Cluster database use single SPFILE as against using individual PFILEs.


Why should I use a SPFILE?

SPFILEs provide certain benefits which are not available while using PFILEs.

  • Since the SPFILE can be updated by the server, the administrator does not need to manually update the parameter file each time a dynamic change is made.
  • Since it resides on the server, the instance can be started without having a client side parameter file. This eliminates the proliferation of client side parameter files.
  • In the Real Application Cluster environment, there are fewer files to manage since all instances of a RAC database use the same SPFILE.
  • In a future release, RMAN will be able to back up SPFILEs.


How does SPFILE store instance specific parameters?

Parameter specification has been modified in Oracle9i to include instance qualifier. So a globally applicable parameter is represented as "*." whereas an instance specification parameter (let us say for instance A) can be specified as "A.". It is the administrator's responsibility to format the parameter appropriately before generating the SPFILE.


What is the default search order for the STARTUP command?

If you execute the STARTUP command without any PFILE specification, Oracle will search the default location (e.g. $ORACLE_HOME/dbs) in the following order:
1. spfile{$ORACLE_SID}.ora
2. spfile.ora
3. init{$ORACLE_SID}.ora (Server Side)


How can I direct my instance to a non-default SPFILE?

This can be done either by creating a symbolic link at the default location or by creating a text parameter file ("init.ora" file) containing SPFILE parameter.


Why is it so difficult to use a non-default SPFILE?

SPFILE is envisioned as being as integral part of the database as control file is. We would therefore like to discourage people from using different SPFILEs to start the instance. Since SPFILEs provide us with an infrastructure for self tuning parameter values, changing it will mean losing all those information. It is therefore, highly recommended use single SPFILE throughout the life of an instance.


How Do I create a SPFILE?

To create SPFILE manually, use the CREATE SPFILE command. This requires the existence of an text parameter file which must be created prior to running this command. However if you are using DBCA to create a database, it will create the SPFILE automatically for you.


How Do I change the content of a SPFILE when the instance is not available?

Since the contents of an SPFILE can be changed only using the ALTER SYSTEM command, it can not directly edited when the instance is unavailable. In such a situation, you will need to export the contents of theSPFILE to a text parameter ("init.ora) file using the CREATE PFILE command, make the changes in the PFILE and regenerate the SPFILE.


How Do I backup my SPFILE?

Currently you will have to backup your SPFILE just like any other OS file. In a future release, RMAN will be able to back them up.


What happens if I lose my SPFILE?

If you loose the SPFILE while the instance is up, updates to the spfile will fail with an error message. However the instance will keep running. You can then restore a backup copy of the SPFILE or create a new one but it will not be used by the instance until the next startup.


Does OEM support SPFILEs?

Yes, you can use Oracle9i Enterprise Manager to edit the contents of an SPFILE.


Where can I find out more details about SPFILE?

For further details, please refer to our self paced training at http://st-curr.us.oracle.com/oracle9i/Manage_Server/lesson04.htm.


I am using Automatic Undo Management but still keep on getting ORA-1555 (snapshot too old) error messages. How can I prevent it?

ORA -1555 errors are generated when the undo data required to create a read consistent snapshot is not available. This can happen due to two reasons.

1. The undo_retention parameter, which tells the database instance how long should it preserve a piece of undo data, is set to smaller than the required value.

  2. The undo tablespace is not large enough.

  You may therefore need to adjust the setting of the undo_retention parameter based on the duration of the longest running query. Executing the following query should give you an idea of what this value should be:

select max(maxquerylen) from v$undostat;

The view v$undostat displays the undo usage information for the last one week and hence, should be able to guide you reasonable well in setting the value of the undo_retention parameter. This must also be backed up making enough space available in the undo tablespace, since the database may be forced to dishonor the undo retention in order to avoid a transaction failure. The EM undo tablespace advisory can tell you how much space is needed to support a given retention setting.

To summarize therefore, you first need to set the parameter undo_retention appropriately (using v$undostat) and, then make sure that enough undo space is available (using EM undo space advisory). Many administrators hate using the datafile autoextend feature but this is one of the cases where it may help you avoid ORA-1555 errors if you don't wish to go through the trouble of sizing the undo tablespace upfront.


How big should the undo tablespace be if I wish to retain undo data for a week?

It is totally dependent on the rate at which the data is being changed in your database. The Database retains a week worth of statistics about undo generation which can be used to calculate the space required to retain the undo data for a given retention period. Oracle9i Enterprise Manager uses these statistics to provide an advisory which estimates the size of the undo tablespace for different values of undo retention time. Another way to estimate the size of the undo tablespace is to measure the amopunt of archive log data generated in a representative week.


What is Automatic Undo Management?

Automatic Undo Management provides a new and extremely simple way to manage undo (Rollback) data in a database. It enables the database server to automatically manage allocation and management of Undo space among various active sessions. Administrators merely need to create an UNDO tablespace with sufficient disk space instead of manually creating a number of rollback segments and strategically assigning transactions to rollback segments large enough to accommodate generated rollback data.


Am I required to use Automatic Undo Management in Oracle9i?

No, you do not. You can still use rollback segments in the manual undo management mode. However we strongly recommend using Automatic Undo management for better manageability, more efficient space usage and higher performance.


Is it possible to use both automatic as well as manual undo management (Rollback Segments) at the same time?

No, a database can either use automatic or manual undo management but not both at the same time. It is however possible for undo tablespaces and manually created rollback segments to coexist in a database but only one of them will be used at a time.


Can I have more than one undo tablespace in a database?

While you can create more than one undo tablespace in a database, an instance can use only one of them at a time. In a Real Application Clusters environment, you must create at least as many undo tablespaces as the number of instances in the cluster since an undo tablespace can not be shared among instances. For non-RAC databases, there is little reason for having multiple undo tablespaces.


Is Automatic Undo Management compatible with existing applications or scripts designed to use rollback segments?

By default, any command related to rollback segments will fail in Oracle9i with an error message while using Automatic Undo Management. The idea behind this behavior is to make users aware of obsolete commands and facilitate changing the script/application. However, it is possible to direct Oracle9i to suppress such errors by setting a new init.ora parameter (UNDO_SUPPRESS_ERRORS) in which case Oracle will ignore any command related to rollback segments usage while using Automatic Undo Management.


Can Oracle Apps use Automatic Undo Management?

Undo management is purely a database issue with very little visibility to applications. Therefore if you migrated an existing Oracle Apps database to Automatic Undo Management, we do not foresee any problems. However since the database creation scripts used by Apps installer may not have been updated, your default database may still be configured to use the manual undo management.


Can the Automatic SQL Execution Memory Management feature be used with Oracle Shared Server?

Automatic SQL Execution Memory Management feature currently can not be used with Oracle Shared Server (Formerly known as Multithreaded Server). You must use a dedicated server configuration to take advantage of it.


What are the memory requirements for running Oracle Database 10g

Oracle Database 10g requires 256 MB of memory to run adequately. If Enterprise Manager Database Control is also running on the same machine, then the memory requirement goes up to 512 MB.


What's new in 10g for database alerts?

First of all, a majority of the previously supported Enterprise Manager alerts are now pushed from the database server. The server alerts makes use of statistic data cached in SGA. Some alerts are issued on demand during a database operation. So the monitoring cost of the alert metrics is much lower than in earlier versions. And because of this improvement in efficiency, some alerts are enabled out of box with a default threshold, e.g., tablespace space usage alert.


What is the maintenance windows used for? Can I remove it if I don't want to run automatic statistics collection job GATHER_STATS_JOB?

The maintenance window is some predefined time window for system maintenance tasks. By default, not only GATHER_STATS_JOB is scheduled to run in these windows, certain internal maintenance tasks also run in them. If the maintenance windows are removed by the DBA, GATHER_STATS_JOB will not run and the internal maintenance tasks will run whenever the system deems necessary. So it is better to keep the maintenance windows around and adjust them to a time where your system is not under heavy load.


Does initialization parameter STATISTIC_LEVEL setting have any impact on alert monitoring?

Yes. If STATISTIC_LEVEL is set to BASIC, the database server stops monitoring all threshold-based alerts, i.e., any alerts that can have thresholds set for them.


My customer would like to use Oracle's Database Resource Manager whilst also running an operating resource manager such has Sun's Solaris Resource Manager, or HP's Process Resource Manager. Are there any limitations?

Yes.

Oracle Database Resource Manager can not run concurrently with Solaris Resource Manager. Results are unpredictable because neither "knows" about the other. But resource managers are justified based upon predictability!


What are the limitations when an Oracle instance is managed by a resource manager such as HP's Process Resource Manager or Sun's Solaris Resource Manager?

When running under operating system resource managers (including SRM), the Oracle database is supported only if all these conditions are met:
  • Each instance is assigned to a dedicated operating system resource manager group or managed entity.
  • The dedicated entity running all the instance's processes must run at one priority (or resource consumption) level.
  • Memory management and process management are not enabled.
NOTE: Management of individual Oracle processes at different priority levels is not supported. Severe consequences, including instance crashes, can result. You can get the same nasty results if SRM is permitted to manage memory on which an Oracle instance is pinned.


What is the difference between Database Resource Manager's DEFAULT_CONSUMER_GROUP and OTHER_GROUPS?

If a user is not assigned to a user group, he/she is a member of DEFAULT_CONSUMER_GROUP. One reason for this consumer group is administrative time savings. For example, 25% of all users might be explicitly assigned to OLTP, with another 5% specified as members of the DSS group. The remaining 70% would already be members of the DEFAULT_CONSUMER_GROUP. If the remaining 70% should be prioritized similarly, and therefore managed as a single group, no more work is required to assign users to groups. Because of DEFAULT_CONSUMER_GROUP, everyone belongs to a group (either explicitly-assigned, or DEFAULT_CONSUMER_GROUP). Like all consumer groups, specifying the DEFAULT_CONSUMER_GROUP in the active plan is optional.

OTHER_GROUPS is not a group in that users can not be assigned to it. Users map to user groups one-to-one, and every user belongs to a group (DEFAULT or explicitly assigned, see above). When a group is not included in the active plan, its members default to the resources assigned to OTHER_GROUPS. To ensure that this "safety net" is always in place, and therefore that the administrator explicitly assigns resources to "everyone else", OTHER_GROUPS must be part of every plan.


How does Oracle Database Resource Manager limit the allocation of resources to a consumer group? Is it like the UNIX "nice" command, which Oracle recommends against using?

Oracle Database Resource Manager does not change process priorities at the operating system level. Database Resource Manager controls CPU usage solely by restricting the number of running processes.


It appears that the only way Database Resource Manager can be implemented is with an application designed so that each user has their own unique user id. Since most large applications run with one schema user, is Resource Manager practical for any large application?

Making a few changes to a complex application is the practical way to implement Database Resource Manager. As the Oracle Applications team proved in their 11i implementation, the changes did not require a redesign, nor lots of new code.

Since Oracle Applications starts a new session anytime responsibilities change (e.g., when accessing a different module), not much added effort was required to include the single-command (Database Resource Manager) procedure call to switch the session's consumer group assignment at session start-up. Oracle Applications required changes in just one place to integrate with Database Resource Manager. Oracle developers in the core applications infrastructure group implemented the required changes in libraries called by the various application modules.

The Oracle Applications Release 11i support is very granular. DBA's can associate an individual program to a resource consumer group or a group of programs to a resource consumer group. They can also associate a class of online users to a resource consumer group. For instance, they can say all "Order Entry" application users belong to consumer group 1 and "Human Resources" application users belong to consumer group 2.


Does the Database Resource Manager work with Oracle Parallel Server and Real Application Clusters?

Yes. The Database Resource Manager governs and allocates resources at an instance level. It is enabled on each node of the cluster by specifying the instance specific RESOURCE_MANAGER_PLAN initialization parameter. Resource plans used by one instance do not affect the behavior of other instances in the cluster. It is therefore possible to enable the same resource plan cluster wide or enable different plans on different nodes.


How does Database Resource Manager use Adaptive Degree of Parallelism (ADOP)? For example: If I have a low priority user come in and spawn 6 PQ slaves and then a higher priority user comes by and needs more resources than available, what happens ?

We use Adaptive Degree of Parallelism (ADOP) to decide the optimal degree of parallelism for an operation within the constraints of parallel degree resource directive limit. In other words, if a resource plan specifies a maximum parallel degree of for a consumer group as 4, we do not always let a session belonging to that group run with 4 PQ slaves. We decide the degree of parallelism using ADOP algorithm based on current system load. As far as this example is concerned, the degree of parallelism of high priority process will be determined by the current load on the system. The resource allocation of the low priority group will be capped to its quota and even though it may have started with relatively large number of PQ slaves, it will run comparatively slower due to resource consumption cap.


What are the wait events associated with Database Resource Manager?

All wait events associated with Resource Manager are prefixed with "resmgr:". For a complete listing of Resource manager events, execute the following query:

SELECT name from v$event_name where name like 'resmgr:%';

NAME
----------------------------------------------------------------
resmgr:wait in actses run
resmgr:waiting in end wait
resmgr:waiting in check
resmgr:waiting in system stop
resmgr:waiting in enter
resmgr:waiting in shutdown
resmgr:waiting in check2
resmgr:waiting in enter2
resmgr:waiting in run (queued)
resmgr:waiting in end wait2

10 rows selected.


If a user is not in any group, what will happen to that user for CPU and Parallelism?

Any user who is not assigned a consumer group explicitly automatically becomes a member of "DEFAULT_CONSUMER_GROUP" which is automatically created at the time of database set up. Thereafter an administrator has the option including this group in a resource plan if they want to assign resources to these users explicitly. Otherwise all the consumer groups which are not explicitly assigned resources in a resource plan share the resources allocated to "OTHER_GROUPS" (this one is automatically created as well). For this reason every valid plan must have a resource plan directive to allocate resources to "OTHER_GROUPS".

Note: Users can not be assigned to "OTHER_GROUPS" directly since it is not a regular consumer group. Think of it as a place holder for all the explicitly defined consumer groups in the database which is not included in the current (active) resource plan.


Does Oracle support dynamic reconfiguration of the host system, for example, adding or taking resource without a system reboot.

Beginning with Oracle9i, Oracle does have the capability to support dynamic system reconfiguration. In Oracle9i, the Database Server periodically pings the OS and adjusts the CPU_COUNT parameter, if required. This allows new workload to take advantage of the newly added processors. Similarly, the new dynamic memory management features of Oracle9i (i.e. Dynamic SGA, Automatic SQL Execution Memory Management) make it possible to alter the amount of memory used by an active instance without requiring an instance reboot. Using these capabilities, an Oracle9i Database can adjust itself in response to any dynamic resource changes at the hardware or OS level.

Unlike CPU, where the changes are detected automatically, the memory areas must be resized manually using the appropriate ALTER SYSTEM command before or after a dynamic reconfiguration operation. That is, one must execute these commands to shrink the SGA and PGA before taking away memory from an Oracle instance. Conversely, the SGA and PGA must be grown in order to take advantage of newly added memory. Some operating system vendors, like Sun, provide wrapper scripts to automate this process.

Also, since not all configuration parameters, whose values are calculated based on CPU_COUNT at the time of start up, currently adjust themselves automatically to changed number of CPUs, any drastic dynamic change in the number of CPUs may lead to sub-optimal database performance. In other words, if the number of CPU on a machine is dynamically changed from 2 to, let us say 32, the database may not be able to take the full advantage of additional processing power due to sub-optimal configuration. However Oracle will be able to take full advantage of dynamically adding CPUs in situations where the number of CPUs is modestly increased -- e.g., from 8 to 10 or 12.

Providing full dynamic reconfiguration support in the database, which will remove all such limitations, is a goal that we are currently working towards.

Everything stated above applies to a RAC database as well. However, one must be using Oracle9i Release 2 to be able to dynamic resize SGA in a RAC environment since the dynamic feature is not supported for RAC in Release 1.


In Oracle9i Database Resource Manager, is the consumer group switch time based on elapsed time of a running query or on actual CPU time of that the query has used?

Neither. It's based on the time it would take the query to run if it were alone on the system. In other words, it is basically elapsed time minus any time it has to wait for CPU because a CPU is too busy to run it.


Has any thing been done in Oracle9i to improve the usability of the Database Resource Manager?

It is now possible to administer the Database Resource Manager using Oracle Enterprise Manager. The GUI will make it extremely easy to manage even the most complex Resource Manager implementations.

Oracle9i also allows users to quickly create a simple resource plan, adequate for most environments, using a single command (DBMS_RESOURCE_MANAGER.CREATE_SIMPLE_PLAN). This procedure significantly simplifies the creation of a resource plan as DBAs no longer need to execute different commands to create a pending area, create necessary consumer groups and specify resource allocation directives.


Why can I not see the GATHER_STATS_JOB among Oracle Scheduler jobs in Oracle Database 11g?

In Oracle Database 11g the Automatic Optimizer Statistics Collection job, GATHER_STATS_JOB, is managed by the Automatic Maintenance Tasks framework instead of the Oracle Scheduler framework. Automated Maintenance Tasks are predefined tasks that perform maintenance operations on the database. These tasks run in a maintenance window, which is a predefined time interval that is intended to occur during a period of low system load. You can manually customize maintenance windows based on the resource usage patterns of your database, or disable certain default windows from running. Oracle Database 11g has three predefined automated maintenance tasks: 1) Automatic Optimizer Statistics Collection, 2) Segment Advisor, 3) SQL tuning advisor. The preferred way to manage or change configuration of the Automatic Optimizer Statistics Collection job in Oracle Database 11g is to use the Automatic Maintenance Task screens in Enterprise Manager Database Control and Grid Control.


How does retry work with Oracle Scheduler?

Jobs will be retried a max 6 times or until the next scheduled date of the job. First retry will be after 1 sec then after 10 sec, then 100 sec and so on until one day.


Which platforms support external jobs?

Supported: Solaris64, Linux, HP64, TRU64, IA64 HP, IA64 Linux, Solaris x86, MAC, z/Linux, AMD, Windows. Planned: VMS Not supported: OS390, AIX


What are Oracle Managed Files (OMF) and what type of customers can take advantage of it?

In order to make life simpler for DBAs, Oracle9i "Oracle Managed File" (OMF) feature simplifies database administration by eliminating the need for administrators to directly manage the files of an Oracle database. This feature allows for specifying operations in terms of database objects. Oracle internally use the standard operating system (OS) file system interfaces to create and delete files as needed for tablespaces, online logs and controlfiles. DBAs merely need to specify the location of these files using new initialization parameters. Oracle then ensure creation of a file with a unique name and delete it when the corresponding object is dropped.

OMF allows you to specify one default location for datafiles and up to five default locations for confrolfile and online redo log files. It can significantly simply the management of database files for small test or development databases where performance is not the key concern. In order to optimize I/O performance, we recommend using a volume manager with SAME configuration. Refer to our OOW 2000 paper titled "Optimal Storage Configuration Made Easy"  for detailed information on the SAME architecture.

Also, since this feature is dependent on file system interfaces, it can not be used with raw devices.


Does Resumable Space Allocation require any application change?

Resumable Space Allocation is not enabled by default, it has to be done so explicitly at the session level. This can be done either by changing the application or by using a log on trigger.


Which Operations/Utilities support Resumable Space Allocation?

Any DDL or DML statement which causes dynamic space allocation can be executed in the resumable mode. For a detailed list of such SQL statements, please refer to Oracle9i documentation. Resumable Space Allocation is also supported by export, import and SQL Loader.


In Oracle 10g, can you un-truncate a table like you can un-drop table using the FLASHBACK DROP command?

There is no way to un-truncate in Oracle 10g.


What is the difference between index shrink and index coalescence?

Shrink performs coalesce first to pack the leaf blocks. Neither shrink nor coalesce reduce the height of the index tree.


What's the differences between defragmentation (coalescing) and re-organization (rebuilding, moving)?

Defragmentation or coalescing is an in-place data operation that compacts the data file and frees up unused disk space. No additional disk space is required during the compacting process. Oracle9i can defragment indexes in place.

Data re-organizations such as rebuilding indexes and moving a table or index requires additional temporary disk space during the re-organization process. These operations essentially make a new copy of the object. After the reorganization is complete, the original object is deleted and its disk space freed up. Oracle9i can re-organizing indexes, partitioned indexes, IOTs and partitioned IOTs.

Both operations make tables and indexes more contiguous, free up disk space and improve database performance.


Can Transportable Tablespace work between Oracle8i and Oracle9i?

To use the transportable tablespaces feature, the COMPATIBLE initialization parameter for both the source and target databases must be set to 8.1 or higher. If the block size of any tablespace being transported is different from the standard block size for the target database, the COMPATIBLE initialization parameter must be set to 9.0 or higher for the target database. You are not required to be running the same release of Oracle for both the source and target database. Oracle guarantees that the transportable tablespace set is compatible with the target database. If not, an error is signaled at the beginning of the plug-in operation. It is always possible to transport a tablespace from a database running an older release of Oracle (starting with Oracle8i) to a database running a newer release of Oracle (for example, Oracle9i).


What are the Oracle9i online data reorganization capabilities?

Oracle8i introduced many useful online data reorganization features such as creating, rebuilding, and coalescing indexes online; moving and reorganizing index-organized tables (IOTs) online. Oracle9i further extends Oracle's online capabilities: support for IOT secondary indexes, support for additional index types, and support for analyze validate structure online. The latest Oracle9i release adds rename column and constraint online capabilities. But the most exciting online feature in Oracle9i is the online data redefinition feature. The feature allows Oracle database administrators to redefine tables online. For example, administrators can transform a heap table to an IOT or change a non-partition table to a partition table online. Moreover, during the redefinition administrators can change the table's physical or storage attributes, move the table to a new tablespace, modify the table structure, or transform data in the table. See additional details in the following technical white papers "Oracle9i Online Data Reorganization and Redefinition" and "Oracle8i and Oracle9i Data Reorganization and Feature Comparisons." The white papers are available at: http://technet.oracle.com/deploy/availability/


What steps are involved in an online table redefinition?

There are five basic steps to redefine a table. 1. Create a new image of the table with all of the desired attributes. 2. Start the redefinition process. 3. Create any triggers, indexes, grants and constraints on the new image of the table. 4. Optionally synchronize and validate data in the new image of the table periodically. 5. Complete the redefinition of the table. See Oracle documentation for additional details and examples.


When to use online index and IOT reorganization vs. online table redefinition?

Both online IOT reorganization and online table redefinition can perform similar functions.
Oracle recommends using online index and IOT reorganization feature for:
  • Index reorganization (create, rebuild, coalesce)
  • Index-organized table reorganization (move)

Oracle recommends using online table redefinition feature for:

  • Heap table reorganization
  • Changing heap or IOT table physical or storage attributes (i.e. partition)
  • Adding, dropping, and renaming columns in a table (normal drop or rename column command should be used for simple cases)
  • Transforming data in a table
  • When administrators want to validate data before completing a table redefinition or have control over when to complete a table redefinition (i.e. application upgrade)


Why does AWR exist in the Oracle Database SE/SE1?

The entire AWR is indeed installed in Oracle Database 10g in SE/SE1. The reason behind it is that the AWR is also used by some base SE/SE1 features like Automatic Segment Advisor, Undo Advisor, etc. Starting with Oracle Database 11g, there is a new init.ora parameter, CONTROL_MANAGEMENT_PACK_ACCESS, that enables/disables Diagnostic and Tuning packs in the database server. In SE/SE1, this parameter is set to 'NONE' which disables all pack specific functionality. Users are then free to access AWR as it should only have non-pack data in it. All pack specific views will be empty.


How can I disable Diagnostic and Tuning packs in Oracle Database 11g?

Starting with Oracle Database 11g, there is a new init.ora parameter, CONTROL_MANAGEMENT_PACK_ACCESS, that enables/disables Diagnostic and Tuning packs in the database server. This parameter can have three values: DIAGNOSTIC+TUNING (default, both packs are enabled), DIAGNOSTIC (only Diagnostic pack is enabled), NONE (both packs are disabled). In Oracle Database SE/SE1, this parameter is set to 'NONE' which disables all pack specific functionality. Users are then free to access AWR as it should only have non-pack data in it. In this case all pack specific views will be empty.


What is Automatic Workload Repository (AWR)?

The Automatic Workload Repository (AWR) is an integral piece of the server manageability functionality introduced in Oracle Database 10g. It provides a self-managing repository for storing workload statistics that are crucial for system monitoring and performance analysis. The AWR resides in the SYSAUX tablespace.


Is there any interface to take a manual AWR snapshot?

The database system takes automatic snapshots according to the INTERVAL setting. However, AWR also supports manual snapshots taken by users at any point in time using Enterprise Manager (AWR link is found under the "Administration" tab in the "Workload" section) or the PL/SQL command line api. The following PL/SQL api can be used to take manual AWR snapshots: execute dbms_workload_repository.create_snapshot();


How do I obtain an AWR report for a certain time period?

First, you need to identify the AWR snapshots that cover your target time period. This can easily be done by going to the Enterprise Manager AWR Snapshots page. Command line users can query the DBA_HIST_SNAPSHOT view to identify the best set of AWR snapshots. An AWR report, for the pair of snapshots, can then be obtained using Enterprise Manager "View Report" feature or by executing the SQL*Plus AWRRPT.SQL script which can be found in the $ORACLE_HOME/rdbms/admin directory.


What improvements are included in the Enhanced Wait Model introduced in Oracle 10g to facilitate proactive performance diagnosis?

The Enhanced Wait Model introduced in Oracle 10g is a core building block for many of the performance management features introduced in this release. Below is a brief list of the important stats improvements in the performance area: -- Wait events are classified into wait classes (see the v$event_name) -- v$active_session_history view provides a sampled history of active sessions in the system. -- v$sys_time_model and v$sess_time_model views divide up database time in a different manner as compared to the wait model. -- v$sql view contains additional columns that give the time spent by the SQL statement in the wait classes as well as in the PL/SQL and java interpreters. -- v$sys_metrics view provides rates for a bunch of statistics based on 3 fixed time intervals (e.g., "logins/sec" for the last 15sec, 1min, etc.) In Oracle 10g stats are persisted onto disk automatically, this repository is called "Automatic Workload Repository". Automatic performance diagnosis is now done in the database by the Automatic Database Diagnostic Monitor (ADDM). It looks at the above-mentioned statistics in addition to other information to come up with a list of top performance issues and recommendations to fix them. Oracle Enterprise Manager exposes these features and also provides nice live graphs for performance drilldowns using the new stats.


Is the rule based optimizer still present and supported in Oracle 10g?

The rule based optimizer (RBO) is present, but not supported, in Oracle 10g. You should plan to start the migration to the cost based optimizer (CBO) soon.


What resources are available to encourage customers to move to the cost based optimizer (CBO) and ease their migration?

Metalink provides links to two white papers describing the advantages of the CBO as well as RBO-to-CBO migration techniques. We also have an updated white paper on CBO migration written for Oracle World, which is available at: http://files.oraclecorp.com/content/AllPublic/Users/Users-G/george.lumpkin-Public/cbo_migration_new.doc


What are the types of SQL statements eligible for Automatic SQL Tuning?

Not all types of SQL statements are eligible for Automatic SQL Tuning. Some examples of such kinds of SQL are parallel queries, DMLs, DDLS, ad hoc queries (SQLs run only once). Such SQL statements can still be tuned by the SQL Tuning Advisor through user tasks (manually). The reason for not supporting such statements thru Automatic SQL Tuning is that testing the recommendations is much harder to do; instead of tuning such sqls, the Automatic SQL Tuning prefers to spend its time working on SQLs for which it can have the most confidence.


Does Automatic SQL Tuning feature implement any recommendations besides SQL profiles? Why not?

The Automatic SQL Tuning feature in Oracle Database 11g only implements SQL profile recommendations. This is because a SQL profile is the easiest to test, impacts only one SQL statement, and is the most lightweight to implement on a production system (vs gathering statistics,creating indexes, etc).


Does the Automatic SQL Tuning feature perform other types of analysis besides SQL profiling?

Yes-- the Automatic SQL tuning feature provides all of the possible recommendations: gathering statistics on objects with missing/stale statistics, creating indexes, SQL Profiles, and SQL Restructure recommendations. However, only SQL Profiles are auto-implemented if they benefit the SQL statements significantly and a report is provided to the end-user to review other recommendations.


Does the DBA have the option to confirm and implement the recommendations made by the Auto SQL Tuning feature?

Yes, the default out-of-the-box behavior of the Auto SQL Tuning feature is to display a recommendation along with validation results and let the DBA decide whether or not to accept it. The task can be easily configured to enable auto implementation of SQL profiles using the Oracle Enterprise Manager UI.


In Oracle 10g, are SQL Profiles and Stored Outlines exported/imported during a full database export/import?

Yes.


What indexes types does the SQL Access Advisor recommend?

For Oracle 10g, the SQL Access Advisor only advises on bitmap and b-tree index types. However, it does recognize the existence of the other index types.


What dimensions are used to identify top SQL in the AWR?

For Top SQL, we collect top SQL on the following dimensions: -- CPU Time -- Elapsed Time -- Parse Calls -- Sharable Memory -- Version Count When initialization parameter STATISTICS_LEVEL = TYPICAL, we collect the Top 30 SQL statements for each criteria. When STATISTICS_LEVEL = ALL, we collect the top 100 SQL statements for each criteria. For top Segments, we on the following dimensions: -- Logical reads -- Wait count -- RAC stats -- Largest space used delta -- Round-robin scheme to make sure old space statistics are eventually flushed We capture top 100 top segments for each dimension.


We had fake index functionality in Oracle9i for users to test indexes without implementing them. Is this still available in Oracle 10g?

We use fake index and fake materialized view (MV) functionality within Access Advisor to evaluate our candidates. In fact, each of our recommendations will have been validated using the fake artifacts. Thus, by using Access Advisor, users are benefiting from this capability automatically.


Why do I not see a report in SQL*PLUS after a call to dbms_sqltune.report_tuning_task?

You need to set up SQL*PLUS environment properly before you can see the report. You can do this by using the following command: 'set long 1000000'.


Why does the report I generate through a call to dbms_sqltune.report_tuning_task not include information about every SQL statement in the STS that was tuned?

This can happen either because you specified an object_id or result_limit argument to the function, or because SQL tuning ran out of time when it was tuning the STS. To remedy this, re-tune the STS, this time passing a bigger ‘time_limit’ argument to dbms_sqltune.create_tuning_task. Tuning tasks default to a time limit of 1800 seconds (30 minutes), which may not be enough for some tuning sets.


When I try to drop my SQL Tuning Set (STS), I get error "ORA-13757: SQL tune workload is active."

Something else is currently using this SQL Tuning Set (notified through a call to dbms_sqltune.add_sqlset_reference). If you have created a tuning task using this SQL Tuning Set, you will need to drop the task before you can drop the Tuning Set.


Why is the SQL Profile I created not used when I execute the SQL statement?

The optimizer is not forced to use a SQL Profile -- it will only do so if the plan suggested by the profile is better than the one it found itself. Usually SQL Profiles are only ignored if the profile was created when the object statistics were stale, but were then later gathered, thus obviating the existing profile. To avoid this, re-run SQL Tuning Advisor after gathering statistics to get the updated SQL Profiles.


In Oracle 10g, does the automatic statistics collection job analyze all the objects in the database every night?

No. It only analyzes the objects that do not have statistics or whose statistics are stale. The statistics are considered to be stale when total amount of modifications to the table reach 10% or if the table is truncated since last analyze.


I want to manually analyze a table in the same way as the gather_stats_job would do. How would I do that?

You would use the gather_table_stats procedure. The default values of the gather_table_stats procedure are now the same as the job in 10.1.0.2.


Can I specify the job to skip over a particular table?

Yes. Use the LOCK_TABLE_STATS procedure. (Use the UNLOCK_TABLE_STATS procedure to unlock.)


How do I force the automatic statistics collection job to run on demand?

Run the following stmt: execute dbms_scheduler.run_job('gather_stats_job');


For some reason, the new statistics collected by the job results in sub-optimal plan. How do I go back to the old statistics?

You can use the restore procedures of dbms_stats package to restore statistics as of a specific time.


How do I disable automatic statistics collection?

You can disable the job using the Enterprise Manager scheduler interface or alternatively, you could execute the following at the command line: execute dbms_scheduler.disable('gather_stats_job', true);


How can a single ASH sample have 8 sessions with 'ON CPU' status when I have only 2 CPUs in my system?

ASH samples any connected session that is not waiting for some 'Idle' wait event. This includes sessions actually using CPU at the time of sampling as well those which are trying to get on the CPU, either because of a new request or end of a previous wait. Therefore, the actual number of sampled sessions could be more than the number of CPUs.


Will ADDM look for platform specific issues, for example Windows specific issues?

In Oracle 10g, ADDM does not have any set of findings or recommendations that it will diagnose depending on the database platform. Currently, ADDM will find the top performance issues affecting the database and attribute an valid impact to those issues, irrespective of platform the database is running on. ADDM will also suggest recommendations to solve the issues identified independent of the platform in which the database is running on.


How can I generate an ADDM report?

The easiest way to run an ADDM analysis and generate the corresponding ADDM report is to use the "Advisor Central" link from the EM Database Home Page. You can also do it manually by running the ?/rdbms/admin/addmrpt SQL script. You can find more about generating ADDM reports for existing ADDM tasks in the Automatic Performance Diagnostics chapter in the Oracle Database Performance Tuning Guide (Link:http://download-west.oracle.com/docs/cd/B12037_01/server.101/b10752/diagnsis.htm#26747)


What is the overhead associated with the always on monitoring and it's associated infrastructure (AWR , ASH, MMON etc) in 10g?

The complete Managability Infrastructure in 10g was targeted to have less than a 5% impact on performance. In extensive in-house testing and deployments, we see results of 3% or less. Of course, if one actions some of the ADDM's findings & recommendations, there will be a big net positive, especially if your system is underperforming due to various bottlenecks. ASH collection which happens every second for only the active sessions, is very lightweight (<1% overhead).


Enterprise Manager 10g can be used to manage 9i and 10g databases. But can features like AWR and ADDM work with 9i target database through specialized scripts or events ?

AWR and ADDM features are built into 10g database server as part of our Manageability Infrastructure, thus you will not be able to avail of them in 9i.


What are the current known limitations of ADDM?

In Oracle 10g R1, ADDM doesn't detect OS paging issues. If all wait times and CPU usage are exaggerated due to excessive virtual memory paging at the OS level, ADDM might not diagnose the problem correctly.


How can I figure out what are the requirements for upgrading to Oracle Database 11g Re1ease 1?

Please consult the Oracle Database 11g Release 1 Install documentations for system requirements. Also check the platform specific release notes for platform specific requirements. The Database Upgrade guide summarizes all the database requirements. It is possible to run the installer to check pre-upgrade requirements without performing the install. To check database pre-upgrade requirements you can either run the DBUA till you see the pre-upgrade summary and cancel out of the upgrade or run the pre-upgrade utility in $ORACLE_HOME/rdbms/admin/utlu111i.sql


How much more disk space is needed to upgrade to Oracle Database 10g?

For the database, the main thing that will add space is the new SYSAUX tablespace. Refer to the FAQ on how to size the SYSAUX tablespace for more details tablespace sizing.


Can you change the name of the database during upgrade?

No, but you can use the "nid" (dbnewid) utility, starting in 9.2, either before or after the upgrade to accomplish this.


Does the database automatically return to archive mode after the upgrade is completed?

Yes, when the database is restarted normally after upgrade.


In Oracle 10g, can we still do an upgrade via Export/Import?

Yes.


Can we do a direct upgrade from Oracle 8.1.7 to Oracle Database 10g?

Yes, you can directly upgrade from Oracle 8.1.7 to Oracle 10g. For older releases such as Oracle 8.1.6, you will first need to upgrade to 8.1.7 (or a later release) and then upgrade to 10g.


In Oracle 10g can I change hardware during the upgrade?

Not specifically during the upgrade. It would be advisable to do this as a separate step, either before or after the upgrade.


When upgrading to Oracle 10g, can I restart my upgrade from where it was interrupted?

Yes.


When upgrading to Oracle 10g, will all of my components be automatically upgraded?

Yes.


In Oracle 10g, does the component registry stay around after the upgrade?

Yes.


In Oracle 10g, at which points during upgrade is the database unavailable for user applications and how exactly do we prohibit users from connecting during this interval?

The upgrade session is started in “STARTUP UPGRADE” mode. In this mode “restricted session” privilege is required to access the database.


How exactly is Oracle 10g DBUA different from Oracle 9i DBUA?

DBUA in Oracle 10g has the following new features: -- Silent mode upgrade -- Pre upgrade analysis -- Upgrade time estimate -- Dynamic adjustment of tablespace -- Dynamic adjustment of initialization parameters -- Post-upgrade analysis


Does DBUA support a RAC upgrade?

Yes. DBUA has supported a RAC upgrade since Oracle 9.2.


My files are on busy disks or on storage devices with poor IO bandwidths. Can I move my database files to ASM/SAN/NAS devices during database upgrades?

Yes, DBUA supports moving database files to ASM or other storage devices during upgrades.


What is ORACLE_BASE and ADR how can I specify it during upgrades?

The Oracle installer requires that ORACLE_BASE is specified at the time of the 11g install. ORACLE_BASE is the root of both the Oracle software and database files as recommended by the Optimal Flexible Architecture (OFA). ADR or Automatic Diagnostic Repository is the single repository containing all diagnostic information. It is a replacement for the background, user, core dump destination parameters. It is specified by setting the diagnostic_destination parameter. DBUA will default to the ORACLE_BASE setting specified during the install of 11g R1 software. If you have to use a different value of ORACLE_BASE for your database upgrade you can specify ORACLE_BASE as an environment variable. Note that the diagnostic_dest parameter will default to ORACLE_BASE but this value can be changed at the time of upgrades.


I am seeing an error about time zones during upgrades what should I do?

Oracle Database 11g is shipped with version 4 of the timezone files, while 10g releases were shipped with version 2 (10.2.0.3 was shipped with version 3, and 9i with version 1). If you have not applied the patch for timezone file version 4 (Reference Bug#:5632264), then you need to apply that patch prior to upgrading to Oracle Database 11g. If you are already using a timezone file version greater than 4, then you need to apply the patch for that timezone file to the 11g Oracle Home prior to upgrading.


Should I collect statistics prior to upgrades or after upgrades?

Upgrades typically run faster if dictionary statistics are computed prior to upgrade. After the upgrade new dictionary statistics are automatically computed.


I need to upgrade the database and apply a patchset and/or a Critical Patch Update (CPU) after the upgrade. What is the best way to accomplish this?

Upgrades to a new release such as 11g R1 require that the Oracle software be installed in a new directory. After installing the new release you can then apply the patchset and the Critical Patch Update (CPU) before starting the upgrade of the database. This would ensure that the upgrade would both move the database to the new release and the new patchset.


Where is the diagnostic data located in 11g?

The V$DIAG_INFO view has information about the directory location and files for the diagnostic data.


Can I relocate the ADR for my database?

Yes, you can change your ADR location by setting the diagnostic_dest parameter. After the parameter is changed, all new trace files and incidents will be redirected to the new location. Note that if the diagnostic_dest parameter is changed, old trace files and incidents will remain with the old location.


Can I use the OS commands to physically copy the content of my ADR to another location for archiving?

You can physically copy the contents of the ADR directory to another location, but we do not recommend that. For example, if the ADR is copied to another machine running a different OS, there is a good chance that the ADR contents cannot be processed by the diagnostic tools. A better way to copy the contents of an ADR is to use the ADRCI IPS commands. The IPS PACK and UNPACK commands guarantee data format compatibility between OS platforms. Users can use the IPS time option to select the set of ADR data to move. The following example prepares a package for ADR data between 1/1/1900 to 1/1/2100: ADRCI>> ips pack time '1900-01-01 00:00:00.00' to '2100-01-01 00:00:00.00' The following IPS command can be used to unpackage ADR data into the desired destination: ADRCI>> ips unpack file "generated_file" into "target_dir" Use the ADRCI HELP command to get details of the IPS commands.


What are these files in the "metadata" directory of the ADR?

The files stored in the "metadata" directory of the ADR home contain all of the diagnostic metadata for any given home – i.e. the are much the same as the database dictionary tables. These files store all of the information concerning incidents, health checks and packages as well as other control information.


Can the files in ADR home be deleted?

Normally, you should not delete these files, except under the direction of Oracle support. There are commands that can be executed using ADRCI that can repair or rebuild the files if there are problems with the files. In the event that one or more of the files are accidentally deleted, thediagnostic framework will automatically recreate the file (though it will of course be missing any of the previous contents).


Can the files in ADR home be backed up?

Yes, go into ADRCI, do a SET HOMEPATH to the particular home that you wish to backup and execute the following command: adrci>>BEGIN BACKUP Do not exit ADRCI as this will release the backup state of the files allowing other users to write once again into the metadata files. Proceed to copy the files in the metadata directory to wherever you wish via whatever operating system commands you use. When done, make sure you execute END BACKUP to free the backup state. You do this once per ADR HOME that you wish to take a backup of.


Can the contents of the metadata directory be transported to a different machine?

The files in the metadata directory cannot be directly copied between machines. If you need to move the data in one ADR HOME to another home, this is not currently possible without the direction of Oracle Support.


What are the .TRM files now found in ADR directories?

TRM files are internal files used by UTS to format contents of trace files.


Does ADR now need to be included in backup plans and what are recommended best practices in this regard?

No, ADR should not need to be backed up. Like alert logs and trace files, customers can choose to back them up only if they want to. If customers do want to back them up, they can use the ADRCI utility for the backups.


Does MAX_DUMP_FILE_SIZE still apply for the new trace files or not?

Yes, it still applies to .trc files. Like before, the unit is OS block size unless K, M, or G extension is specified. For example, MAX_DUMP_FILE_SIZE=1000 means 1000 OS blocks (e.g. 1000 x 512 bytes) while 100M means 100 Megabytes.


E-mail this page
Printer View Printer View
Oracle Is The Information Company About Oracle | Oracle RSS Feeds | Careers | Contact Us | Site Maps | Legal Notices | Terms of Use | Privacy