DBA Handbook For Oracle
DBA Handbook For Oracle
DBA Handbook For Oracle
T e c h n o l o g i e s
DBA
Hand Book
DBA Handbook
for Oracle
Chapter 1: Introduction -------------------------------------------------- 5
Oracle Technology:
This book applies to Oracle 8i, Oracle 9i, and Oracle 10g. Some of the features
that are specific to Oracle 9i and Oracle 10g have been discussed in a separate
chapter, "New Features in release 9i and 10g."
Disclaimer:
Description
Introduction
Contents
The Introduction
CHAPTER 1: INTRODUCTION
Swelling data growth issues and ever-changing business environment have left
DBA's with new challenges, different from their day-to-day tasks. It is imperative
that a DBA performs effectively and hence needs to constantly update his skills
and knowledge base. Moreover, A DBA has to foresee the need to deploy data
management solutions to ensure that the application environment continuously
provides the required level of performance. Some of these solutions have been
discussed towards the end of the book.
Contents
The Database
The Instance
Database Components
Tablespace
The Control Files
The Datafiles
Initialization Parameters Files (init.ora)
Server Parameter Files
The Redo Log Files
Trace and Alert Log Files
Memory Structures
System Global Area
Program Global Areas
Oracle Processes for An Instance
Background Processes
Overview
The Oracle Database is a repository of storable, updateable, and retrievable
data. The database itself is a collection of physical and logical structures
consisting of system, user, control, and datafiles. The files are collectively known
as the Oracle Database system. The Oracle Database server manages these
files.
The databases refer to the physical storage of data. Oracle Database System is
based on the relational database management model. The data is stored in two-
dimensional tables composed of columns and rows. The columns of an individual
table define the relational tables. Each of these columns defines a particular type
of data and is called an attribute. The data pertaining to an individual set of
records is stored in the rows. Individual tables can be related to each other.
These tables may even contain object-oriented structures such as abstract data
types and methods. All the data is stored in files and can be retrieved by using
database structures that provide the logical mapping of the data onto the files.
Different data types are stored individually in this manner.
ORACLE DATABASE
Figure 1.Oracle Database
Instances refer to a particular set of software that is executed by the server. This
software provides access to the data stored in the database. The set of
processes that facilitate the storing, updating and retrieving the data along with
the memory on the database server form the Instance of the database. The
Instance has to be run on the same machine where the database is stored.
Instance acts as the interface that allows the users to communicate with the
server. The data flows between a user and the database only if the instance is
operational.
BUFFER
SHARED POOL LARGE POOL
CACHE
Related Views
Views Description
v$database Description of database parameter and status
v$active_instances Description of all active instances
v$dbfile Description of database files
v$dblink Description of database links definitions and status
v$instance Description of status of all instances
v$rollstat Description of rollback information
v$undostat Descriptions of undo information
v$datafile Description of datafiles information
2.3.1 Tablespace
Tablespace is a logical structure belonging to a database system. Each database
has to have at least one tablespace called the system tablespace. Each
tablespace is made up of a collection of datafiles and can belong to only one
database.
rbs 01
Dept Table Dept Index
rbs 02
System Aux
rbs 03 Sales Table Sales Index Tablespace
rbs 04
Figure 3.Tablespaces.
To create and manage the SYSTEM tablespace manually set the EXTENT
MANAGEMENT to LOCAL in the CREATE DATABASE statement. By default,
the database defines and manages the extent sizes and creates a dictionary-
managed SYSTEM tablespace.
SYSAUX Tablespace
The SYSAUX tablespace is defined during the creation of the database. It serves
as a default tablespace to many Oracle features and packages that were
previously assigned a separate tablespace. The size of SYSAUX tablespace
depends on the size of each individual component. The typical size of the
SYSAUX tablespace is about 250 MB at the time of creation of the database.
Related Views
Views Description
v$database Description of the control file
v$control files Displays the list of control file names
v$control file record section Description of control file record
v$parameter Displays the names of the control files that are
stored in the initialization parameter file
1. Collect all the information related to datafiles and the redo files by running
the following queries.
SQL>ALTER DATABASE BACKUP CONTROL FILE TO TRACE
3. Make a backup of all the datafiles that belong to the database by copying
the files to a different location.
SQL>STARTUP NOMOUNT
DATAFILE '/mnt/sdc1/1159//slx_db01/system01.dbf'
SIZE 3M,
'/mnt/sdc1/1159/slx_db01/rbs01.dbs'
SIZE 5M,
'/mnt/sdc1/1159/slx_db01/users01.dbs'
SIZE 5M,
'/mnt/sdc1/1159/slx_db01/temp01.dbs'
SIZE 5M
MAXLOGFILES 50
MAXLOGMEMBERS 3
MAXLOGHISTORY 400
MAXDATAFILES 200
MAXINSTANCES 6
ARCHIVELOG;
CONTROL_FILES = (
/mnt/sdc1/1159/slx_db01/slx_db01ctl1.ctl,
/mnt/sdc1/1159/slx_db01/slx_db01ctl2.ctl,
/mnt/sdc1/1159/slx_db01/slx_db01ctl3.ctl).
Related Views
Views Description
dba_data_files Description of the database data file
To resize a datafile:
ALTER DATABASE
DATAFILE
'/mnt/sdc1/1159/slx_db01/slx_dbf01.dat'
RESIZE 20 M;
ALTER DATABASE
RECOVER STANDBY DATAFILE
'/mnt/sdc1/1159/slx_db01/slx_stbs01.f'
UNTIL CONTROLFILE;.
CONTROL_FILES =
(/mnt/sdc1/1159/slx_db01/slx_db01ctl.001.dbf,
/mnt/sdc1/1159/slx_db01/slx_db01ctl1.002.dbf,
(/mnt/sdc1/1159/slx_db01/slx_db01ctl1.003.dbf,)
DB_NAME = slx_db01DB_
DOMAIN = slx.com
LOG_ARCHIVE_DEST_1 =
"LOCATION(/mnt/sdc1/1159/slx_db01/arch"
LOG_ARCHIVE_DEST_STATE_1 = enable
DB_BLOCK_SIZE = 8192
PGA_AGGREGATE_TARGET = 2500M
PROCESSES = 900
SESSIONS = 1200
OPEN_CURSORS = 1024
UNDO_MANAGEMENT = AUTO
SHARED_SERVERS = 2
REMOTE_LISTENER = tnsslx_lcg03
UNDO_TABLESPACE = slx_und01
COMPATIBLE = 10.1.0.0.0
NLS_LANGUAGE = AMERICAN
NLS_TERRITORY = AMERICA
DB_RECOVERY_FILE_DEST_SIZE = 60G
The two main parameters associated with the definition of the flash recovery
area are:
Control Files
The database can be associated with more than one control file. This is specified
using the CONTROL_FILES initialization parameter. As the CREATE
DATABASE statement is executed the control files specified by the
CONTROL_FILES parameter are created.
LICENSE_MAX_USERS = 250
The actual parameter file is created using the SPFILE statement. Once the
STARTUP command is issued, the initialization parameters are read from the
server parameter file. To use the text initialization parameter file at startup, use
the PFILE clause during the STARTUP command.
Oracle uses memory to store the program code, connected sessions, and
information about various executing processes, data blocks, and redo logs. The
memory structure is classified as system global area and program global area.
All the processes share the system global area. The program global area is
private to each server process.
S Y S T E M G L O B A L A R E A (SGA)
Handles all java methods Controls stream activity Hold items for shared
and classes server operations and
Streams-pool-size parameters back up
Memory controlled by
Java-pool-size parameters control the memory region Large-pool-size parameters
control the memory region
Holds the object structures Default memory cache that Buffer modifications that
code definitions and other shares data blocks when are made to the database
meta data read from DB before they are physically
written into the redo log files
Memory area controlled by
Memory region controlled by db-block-buffers parameter Log-buffer configuration
Shared-pool-size parameters and db-cache-size parameters parameter controls the
mermory area
Related Views
Views Description
v$sga SGA status
v$sga_stat SGA components status
v$tablespace Tablespace definition and configuration
v$cache Description of cache information
v$librarycache Status of the library cache
v$db_object_cache Status of cache used by each object
The size of the SGA can be limited using the SGA_MAX_SIZE parameter. In
case it is not specified, Oracle assigns a specific value to SGA_MAX_SIZE
based on the sum of the sizes of all the components.
SHARED_POOL_SIZE=128M
DB_CACHE_SIZE=896M
DB_BLOCK_SIZE=4096
DB_CACHE_SIZE=1024M
DB_2K_CACHE_SIZE
DB_4K_CACHE_SIZE
DB_8K_CACHE_SIZE
DB_16K_CACHE_SIZE
DB_32K_CACHE_SIZE
Java Pool
The java code specific to the session is stored in this portion of memory. The
information about the library cache memory used for java can be viewed using
the java pool advisor statistics. Setting STATICS_LEVEL to TYPICAL or higher
enables the java pool advisor.
Large Pool
A portion of the memory can be programmed to serve as session memory for all
the shared servers that perform transactions requiring them to interact with more
than one database. All I/O, backup, and restore processes use this pool of
memory.
Stream Pool
The SGA memory is used by the streams allocated from this pool, if the
STREAMS_POOL_SIZE is set greater than zero. In case this parameter is set to
zero, a portion of the shared pool is allocated to the streams.
The SGA growth is based on the maximum value set for the
parameter SGA_MAX_SIZE.
Related Views
Views Description
v$sysstat Lists all the available statistics
v$sesstat Session statistics
v$pgastat PGA Memory status
The database processes can classified into dedicated server processes and
shared server processes. The database allows all dedicated server processes to
be processed by default. The shared server processes have to be set up by
configuring initialization parameters.
Views Description
v$session Status and definition session attributes
v$process Status of all the process
v$access Description of object access information
v$session_event Status of all session events
v$mystat Status of current session
Session connection such as authorizations
v$session_connect_info
and network service banners
Checkpoint (CKPT)
The database writer DBWn writes all the data present in the SGA buffers into the
datafiles at specific intervals of time. The point where the DBWn has to resume is
called a checkpoint. The checkpoint process is responsible for all the updates to
the data and control files.
Archiver (ARCn)
This process copies the redo files to an archival storage. The archiver is present
only when the database is placed in the ARCHIVELOG mode by enabling auto
archiving. Each instance can have a maximum of 10 processes (ARC0 to ARC9)
associated with it. Multiple archiver logs can be specified if a high workload is
expected. Setting the LOG_ARCHIVE_MAX_PROCESSES can increase the
number of archiver processes.
Recoverer (RECO)
All the distributed transactions pending due to system or network failure are
recovered using the recoverer. This process also performs pending commit or
rollback actions belonging to the local portion of distributed transaction.
Dispatcher (Dnnn)
In case the shared server configuration is used, this process manages the
communication connections in a distributed environment.
Administration Activities
Contents
Installing the Oracle Database Software
Creating Databases
Database Operation
Starting the database
Shutting Down the Database
Quiescing a Database
Suspend and Resume a Database
Space Management
Tablespace Management
Rollback Segment
User Management
Oracle Network Management
Oracle Networking Components
Listener
The Dispatcher
The Oracle software is typically installed using the Oracle Universal Installer
(OUI). The OUI is a GUI-based tool that reviews Oracle software currently
installed. The user has to select the fresh installation choice, and has the option
of adding additional components using this tool.
Oracle performs an automated system requirement check. This requirement
check includes a basic software and hardware assessment including minimum
memory requirements, storage space, and file systems.
Installation modes
Custom Install
This mode is suitable for customization of the Enterprise Edition. This mode
enables specific individual components to be selected or unselected at the point
of installation.
Management Option
The type of management option has to be selected. The two main options are the
Oracle Enterprise Manager 10g Grid control, or the Oracle Enterprise Manager
10g Database Control that is most often used to manage locally. The Oracle
Enterprise Manager 10g Grid Control enables the administrator to manage
multiple databases and application servers from a single console. Using the local
option enables the administrator to administer a single instance of a database.
Raw Devices
These storage devices are outside the control of the operating system. They are
unformatted disk spaces. It is necessary to ensure that the operating system has
not allocated this space to any other process.
Backup Strategy
The administrator can select backup and recovery options. The backup
configuration can be automated or the administrator can plan a backup strategy
later.
Schema Passwords
The database schema passwords for the SYS and the SYSTEM have to be
specified. The SYS and SYSTEM are primary usernames that facilitate the
administration of the database. The highest-level administrators retain these
passwords.
Summary Page
The Oracle Universal Installer displays the complete summary of all components
that have been selected for installation. Clicking the install button will start the
installation process. The DBA runs the script, root.sh, in a new terminal window
when prompted. The configuration tools page comes up towards the end of the
installation. Starting the NET Service listener process can configure the Oracle
Network.
Password Management
The password management page comes up after the installation is complete.
Locked accounts cannot be accessed but can be unlocked by removing the
check mark in the Lock Account column. This page contains important
information about various web application port numbers.
NOMOUNT
SMON
LGWR
DATABASE MOUNTED
SMON
LGWR
DATABASE OPEN
SMON
SNNN CKPT
ONNN
LGWR
PMON
SQL> Startup
Starting Modes
SQL> STARTUP
Force Startup
The administrator can forcefully start another instance of the database.
Normal Clause
The database can be shut down normally using the SHUTDOWN command in
the SQL*Plus.
Shutdown Immediate
Shutdown Immediate is typically done when an automated and unattended
backup is to be performed, or power interruptions are anticipated.
SQL> ALTER DATABASE OPEN READ ONLY;
Shutdown Transactional
The database starts the shutting down process. The database does not accept
any new connections and all uncommitted transactions are rolled back. The
database disconnects all users immediately. All users are disconnected after the
transactions are completed. This way there is no loss of any data.
SQL> ALTER DATABASE OPEN READ ONLY;
Abort
Abort is typically done, if the database has to be shut down instantaneously,
typically within about a minute. No new connections are allowed after aborting.
SQL> SHUTDOWN ABORT
Undo Quiesce
To suspend database:
To resume system:
Views Description
dba_free_space Size of the tablespaces
dba_extents Extent attributes
dba_rollback_segs Rollback segment attributes
dba_objects Properties of all object
dba_undo_extents Undo extent properties
dba_segments All segment information
dba_tablespaces Description of all tablespaces
dba_object_size Sizes of various pl/sql objects
To create a tablespace:
To back up a tablespace:
1. Make the status of the tablespace offline using the ALTER TABLESPACE
statement.
If in archive mode.
3. Make the status of the tablespace online using the ALTER TABLESPACE
statement:
Logging Attribute
To drop a tablespace:
Related Views
Views Description
dba_segemnts Storage allocated for all database segments
dba_rollback_segs Description of rollback segments
user_segments Storage allocated for all database segments
v$rollstat Contains extent and latch information
v$rollname Contains roll names
Each user must provide a valid user name and password in order to gain access
to the database. To create the user, the following attributes must be specified:
- User name
- Authentication method
- Default tablespace
- Temporary tablespace
- Other tablespaces and quotas
- User profile
Oracle Net
Oracle Net an application layer software that resides on the client and the
database server is responsible for establishing and maintaining the connection
between the server and the client. The main software components that comprise
Oracle Net are Oracle Net Foundation Layer and Oracle Protocol Support. The
Oracle Net Foundation initiates and maintains the connection, whereas the
Oracle Protocol Support helps communicate using the standardized
communication protocols such as TCP/IP or TCP/IP with SSL.
APPLICATION RDBMS
ORACLE NETWORK
Figure 6. Oracle Network.
Networking Tools
Some of the Oracle Net services user interface tools include:
- Oracle Net Configuration Assistant - To configure Listeners
- Oracle Enterprise Manager - Manage Oracle Net Services
- Oracle Net Manager - Built in wizards and utilities to test
connectivity, migrate data, create/ modify network components
3.6.2 Listener
The listener is a process that runs on the client and the server. This process
listens for new communication requests and manages all the traffic on the Oracle
Network. The listener can be configured with one or more protocol addresses.
The configuration parameters pertaining to the listener are stored in the
listener.ora file.
$ lsnrctl service
LSNRCTL for Linux: Version 9.2.0.3.0 -
Production on 08-MAR-2005 12:59:10
Copyright (c) 1991, 2002, Oracle Corporation.
All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROCVIS))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for
this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
...continued on next page
Related Views
Views Description
v$dispatcher Description of all the dispatcher
v$dispatcher_rate Description of dispatcher attributes
v$queue Description of queue status
DISPATCHERS="(ADDRESS=(PROTOCOL=TCP)(HOST=10.2.157.3))
(DISPATCHERS=2)"
Contents
Tables
Clusters
Views
Indexes
Synonyms
Triggers
Database Links
4.1 Tables
Tables are basic units in which data can be stored in rows and columns in the
Oracle database. Each table is identified by a name and a set of columns. Each
column contains values of the same data type and holds a particular attribute.
Separate rules called integrity constraints can be enforced on the data that can
be stored in the column. A row can be defined as a collection of column
information pertaining to a single record. Each table has to be assigned a specific
table space. The user trying to create a table should have appropriate privileges.
TABLE SPACE
TABLE TABLE INDEX
SEGMENT
EXTENT
DATA BLOCKS
8K 8K 8K 8K
8K 8K 8K 8K
Tablespace allocation
The table can be specified to belong to a specific tablespace by including this
parameter towards the end of the CREATE table statement.
Temporary table
A temporary table can be created using the temporary clause. The data in these
tables is deleted at the end of the session.
Nested table
SQL> CREATE TABLE employee
(slx_emp_id NUMBER(10)PRIMARY KEY,
last_name VARCHAR2(30) not null,
phone_number VARCHAR2(15),
hire_date DATE not null,
slx_dept_no NUMBER(4),
compensation_details textdoc_tab,
)
NESTED TABLE compensation_details
STORE AS
compensation_nestedtable;
-- The table contains a nested column called the compensation_details.
To add a column:
To drop a table:
4.2 Clusters
A cluster is a schema object that contains data from a set of more than one table,
each having one or more columns in common.
CLUSTERED TABLES UN CLUSTERED TABLES
Related Views
To create clusters:
A user who wishes to create a cluster must have the CREATE CLUSTER system
privilege.
To drop clusters:
SQL> ALTER CLUSTER account_managers
DEALLOCATE UNUSED KEEP 30 K;
DROP CLUSTER;
4.3 Views
To create views:
SQL> CREATE VIEW personnel AS
SELECT empno, last_name, dept_no
FROM employee
WHERE dept_no = 7;
To join views:
SQL> CREATE VIEW work AS
SELECT last_name, slx_emp_id,, dept_name
FROM employee, department
WHERE
Employee.dept_id = department.dept_id;
To drop/replace a view:
Join View
A join view has a sub query that contains at least one join. In order to modify the
base table, at least one of the columns in the base table should have a unique
index.
SQL> CREATE VIEW location_v AS
SELECT
department.dept_id, department.dept_name,
location.loc_id, location.city
FROM
department, location
WHERE
department.loc_id = location.loc_id;
To drop views:
4.4 Indexes
In an RDBMS system, the actual location of the row is relevant only when the
database has to retrieve a particular row. In order to find the relevant row, each
row that belongs to a table is assigned a RowID. Indexes are simple database
structures that make it easy to locate the row of the table being looked up. There
are three types of indexes: the cluster indexes, table indexes, and the bitmap
indexes. Indexes are optional structures that allow the SQL statements to
execute more efficiently.
The most commonly used indexes are the B-tree indexes. It is more efficient to
create the indexes after inserting or loading the data.
Views Description
dba_indexes Description of all indexes in the database
dba_ind_columns Description of Columns comprising Indexes on
all Tables and Clusters
dba_part_indexes Description of all partitioned indexes
To create an index:
SQL> CREATE INDEX indexemp ON employee(last_name)
TABLESPACE users
STORAGE (INITIAL 20K
NEXT 20k PCTFREE 0);
NOSORT Mode
If the table has been created using a fast parallel load where all rows are already
sorted, the statement can be used to create an index quickly.
Cluster Index
Since the cluster indexes are built on all the columns belonging to the cluster
key, the columns need not be specified. In such cases, all the rows are indexed.
Parallel Queries
To drop an index:
4.5 Synonyms
Synonyms are used to make the location of the database object transparent to
users of the distributed environment. Synonyms can refer to tables, types, views,
sequences, procedures, functions, and packages. Synonyms are schema objects
themselves and are stored in the data dictionary. A synonym can have the same
name as the object to which it is referring.
Related Views
Views Description
dba_synonyms All synonyms in the database
To create a synonym:
To drop a synonym:
4.6 Triggers
Triggers are stored PL/SQL blocks associated with a database or any of its
components. It can also be an anonymous PL/SQL block or a call procedure.
Once a trigger is created, it is enabled automatically by the database.
Related Views
Views Description
dba_triggers All triggers in the database
dba_internal_triggers All internal triggers in the database
dba_trigger_cols Column usage in all triggers
These triggers can be used to audit the creation of a new data dictionary objects
in the schema.
To drop a trigger:
Related Views
Views Description
dba_db_links All database links in the database
Contents
Roles
Privilege
Grant
Revoke
Password Management
Account Locks
Password Complexity Verification
Password Aging and Expiration
Password History
Oracle Auditing
Overview
Every database should enforce a security policy to protect against accidental or
malicious destruction of data or the database system. It is the responsibility of the
administrator to create, maintain and enforce a security policy. The administrator
creates users identified by a username and a password. The administer while
creating a new user specifies attributes such as user name, authentication mode,
user profile, default tablespace, temporary tablespace and other tablespace.
Related Views
Views Description
v$enabledprivs List of all enabled privileges
dba_users Information about all users of the database
dba_policies All row level security policies in the database
5.1 Roles
Role may be defined as a set of privileges or collection of other roles. The roles
help manage the privileges for the database and the user group. Oracle provides
some predefined roles. Roles are primarily used to control user access to the
database.
USER ROLES
ACCESS ACCESS
PRIVELEGES PRIVELEGES
ROLES
Figure 8. Roles
Roles are granted to users by users who have the privilege to do so. During the
creation of the database, the default SYS role is created with the privilege to
grant roles to other users. Some predefined roles are:
- connect - exp_full_database
- resource - imp_full_database
- dba
External Role
The EXTERNALLY clause can be used to create an external role which requires
the user to be authorized by an external service.
To set a role:
Roles for the current session can be enabled or disabled using the SET ROLE
statement. The roles that are currently enabled can be viewed by querying the
view SESSION_ROLES.
To change a password:
SQL> ALTER ROLE slx_sales_manager
IDENTIFIED BY S12#@B;
To drop a role:
5.2 Privilege
Related Views
Views Description
dba_role_privs All Roles which exist in the database
dba_sys_privs System privileges granted to users and roles
SQL> GRANT
CREATE ANY MATERIALIZED VIEW,
ALTER ANY MATERIALIZED VIEW,
DROP ANY MATERIALIZED VIEW
TO slx_sales_manager
WITH ADMIN OPTION;
5.3 Grant
The grant statement is mostly used to grant system privileges to users and roles.
Roles can also be granted to other roles or users. The user should have either
the ADMIN OPTION or the GRANT ANY ROLE privilege to be able to grant a
role. The user must have GRANT ANY OBJECT privilege to be able to grant any
object privilege.
SQL> GRANT
CREATE ANY MATERIALIZED VIEW,
ALTER ANY MATERIALIZED VIEW,
DROP ANY MATERIALIZED VIEW
TO slx_sales_manager
WITH ADMIN OPTION;
5.4 Revoke
Locking Account
The users slx_user01 can change their passwords by using the ALTER USER
with the REPLACE clause
Alter Password
The administrator with ALTER ANY USER privileges can alter any user's
password.
PASSWORD_LIFE_TIME 10
The password is valid only within the specified
amount of time and expires thereafter.
PASSWORD_GRACE_TIME = 3.
Statement auditing audits all the statements that perform select operations
associated with the table:
Privilege auditing audits all the statements that issue a create table command:
Schema Object Auditing audits all the statements (such as Create, Drop, etc)
associated with the table.
To add a policy:
To enable auditing:
To by-pass audit:
To audit roles:
To audit directories:
To audit a file:
Database Tuning
Contents
Database Tuning Strategy
SQL Tuning
Tracing Sessions Using ORADEBUG
Memory Tuning
I/O Tuning
Sort Tuning
The Optimizer
Optimizer Modes
Sub-Queries/Views Optimizer Hints
Access Optimizer Hints
Joins Optimizer Hints
Miscellaneous Optimizer Hints
SQL Explain Plan
The following areas should be considered for tuning. The outlined steps need to
be performed in order to avoid any adverse effects while tuning.
Tuning Indicators
The following parameters can be treated as high-level tuning indicators to
measure database performance:
Related Views
Views Description
v$system_cursor_cache Describes the hits and hits ratio
v$global_transaction Describes all the global transactions
v$sgastat Describes the SGA component stats
v$sqlarea Describes the SQL statement status
v$sqltext Describes the SQL statement location
v$rollstat Describes the rollback status
v$statname Describes the statistics information
v$latch Describes the latch information
The following features can be used to identify high load SQL statements:
Views Description
v$sql Describes the SQL attributes
v$open_cursor Describes the status of all open cursors
v$sqlarea Describes the SQL statement status
v$sqltext Describes the SQL statement status
Describes the status of the cursor hit and
v$sql_cursor
cursor-hit ratio
System Inefficiency
The view v$sqlarea helps locate any specific SQL statement that may be
responsible for system inefficiency.
SQL text
2. Get the Oracle Process Identifier, O/S Process Identifier from v$process.
4. Enable SQL Trace for the session (Includes Trace bind values and waits)
$ sqlplus /nolog
SQL> CONNECT / as sysdba
Semi-Join
A semi-join between two tables returns rows from the first table where one or
more matches are found in the second table. Semi-joins are written using
EXISTS or IN.
Anti-Join
An anti-join between two tables returns rows from the first table where no
matches are found in the second table. An anti-join is essentially the opposite of
a semi-join. Anti-joins are written using the NOT EXISTS or NOT IN.
Tuning operations related to the memory have to be performed after tuning the
application and before tuning the I/O. The SGA must be able to fit in the physical
memory at all times.
cursor_space_for_time = TRUE;
To set the number of cursors that can be cached for a user session:
Session_cached_cursors = 50;
I/O tuning should be attempted only after tuning memory. It is good practice not
to place all Oracle files on the same disks as non-Oracle files. The main objective
is to minimize the concurrent access to the disk.
Sorting is one of the most expensive operations. It is critical for the sorting
operation to be completed in the memory and not let it extend to the physical
disk.
The optimizer determines the most efficient way to access data. It is used to
process the SQL statements. The efficiency of retrieving data or performing an
action can vary depending on the order in which the tables or indexes are
accessed.
INDEX_FFS (tab [ind]) Index fast full scans - rather than FTS
REWRITE (v1 [, v2]) Forces the optimizer to rewrite the query with
respect to the materialized view
Contents
Backup and Recovery Mechanisms
Cold or Off-line Backups
Hot or On-line Backups
Export/Import
Common Import/ Export Errors
SQL*Loader
Standby Database
Oracle Data Guard
Database Recovery using Redo Log Files
Overview
The main purpose of Oracle Database backup is to physically back up the
database files. These files include the control files, server parameter files,
archived redo file and the datafiles. All these files are sufficient to recover the
database files. At the physical level the backup mechanisms provide safe
recovery against accidental deletions or failure of the disk drive.
Related Views
Views Description
v$backup Describes the backup file status
v$backup_device Describes the backup device configurations
v$backup_redolog Describes the redo log files status
v$archive Describes the archive status
v$backup_corruption Describes the corrupted block status
v$backup_piece Describes the backup pieces status
v$recovery_status Describes the recovery status
v$backup_datafile Describes the backup related datafiles
v$archive_dest Describes archive destinations
Export/Import
The logical definitions from the database are extracted to a file. These files are
logical in nature and cannot ensure complete recovery of the database.
RMAN Backups
RMAN is a utility used to back up the entire database.
ARCHIVELOG mode
The archive log mode provides higher availability and guarantees complete
recoverability. It is necessary to put the database in ARCHIVELOG mode before
starting backup of the database online.
spool off
7.2 Export/Import
Oracle provides two utilities; export (exp) and import (imp), to perform logical
database backup and recovery. These utilities move Oracle data from one
machine to another using a binary file format. The binary file format can be used
only between Oracle systems. The binary format is mostly used to back up small
databases. The Oracle Datapump has replaced this utility in Oracle version 10g.
Data can be reorganized or database corruption can be detected using these
utilities. They allow seamless transfer of tablespaces between databases.
Two executables called imp and exp can be found in the $ORACLE_HOME/bin
directory. These executables can be run from the command line parameters or
by using the parameter files.
The data pump has replaced the imp and exp in Oracle 10g.
EXP Slx_user01/slx123
File = slx_hr.dmp
log=slx_hr.log tables=slx_hr
rows=yes indexes=no
EXP Slx_user01/slx123
file=hr.dmp tables=(emp_id,dept)
tables=dept
parfile=export.txt.
7.3 SQL*Loader
The SQL*Loader moves data from external sources into an Oracle Database.
SQL*Loader can support various data formats, selective loading and multi-table
loading.
SQLLDR slx_user01/slx123 CONTROL=loader.ctl
LOAD DATA
INFILE '/mnt/sdc1/data/data01.csv'
INTO TABLE employee
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
(emp_id, emp_name, dept_id, sal)
INFILE '/mnt/sdc1/1159/slx_db01/s/data/data01.csv'
INTO TABLE employee
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
(emp_id, emp_name, dept_id, sal)
LOAD DATA
INFILE * I
INTO TABLE load_delimited_data
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(data1,
data2)
BEGINDATA
01212, "Slx_emp02", 5012, 88000
01213, 5456, 42000
LOAD DATA
INFILE *
INTO TABLE modified_data
(rec_no "seq.nextval", region
CONSTANT'31',time_loaded "to_char(SYSDATE, 'HH24:MI')",
data1 POSITION(1:5) ":data1/100",
data2 POSITION(6:11) "upper(:data2)",
data3 POSITION(16:22))" )
BEGINDATA
01212Slx_emp02501288000
01213Slx_emp02501242000
LOAD DATA
INFILE * REPLACE
INTO TABLE hr
WHEN empno != ' '
( empno POSITION(1:4) INTEGER EXTERNAL,
ename POSITION(6:15) CHAR,
deptno POSITION(17:18) CHAR,
mgr POSITION(20:23) INTEGER EXTERNAL
)
INTO TABLE dept
WHEN dept_no != ' '
( dept_no POSITION(25:27) INTEGER EXTERNAL,
empno POSITION(1:4) INTEGER EXTERNAL
)
LOAD DATA
TRUNCATE INTO TABLE T1
FIELDS TERMINATED BY ','
( field1,
field2 FILLER,
field3
)
PRIMARY STAND BY
DATABASE DATABASE
ARCHIVED ARCHIVED
REDO LOG FILES REDO LOG FILES
DISASTER RECOVERY
Figure 11. Data Guard Concept.
%DGMRL
DGMRL> CONNECT sys/ password.
-- Connect to primary database on the local station.
Contents
Useful Admin Tables
Useful v$ Views
Packages
DBMS_SQL
DBMS_JOB
DBMS_SPACE
The DBMS_OUTPUT
DICT
ALL_INDEXES
OWNER ALL_CONSTRAINTS
INDEX-NAME
ALL_TABLES OWNER
INDEX_TYPE
CONSTRAINT_NAME
TABLE_NAME OWNER CONSTRAINT_TYPE
TABLE_TYPE TABLE_NAME TABLE_NAME
UINIQUENESS NUM_ROWS SERACH_CONDITION
NUM_ROWS etc etc
etc
ALL_IND_COLUMNS ALL_TAB_COLUMNS
OWNER
INDEX_OWNER
TABLE_NAME
INDEX-NAME
COLUMN_NAME
TABLE_OWNER
DATA_TYPE
TABLE_NAME
DATA_LENGTH
TABLE_TYPE
NULLABLE
COLUMN_NAME
etc
COLUMN_POSITION
COLUMN_LENGTH
Views Description
v$session Information about all the sessions
v$databse Information about the database
v$version Information about the version of the
database that has been installed
8.3 Packages
8.3.1 DBMS_SQL
Stored procedures can be written and used dynamically during runtime. Using
the dynamic SQL statements gives more flexibility to the user. Procedures can
be created without knowing which tables they will operate on until runtime. The
DBMA_SQL package allows the user to place the procedure created by the user
into PL/SQL blocks.
8.3.2 DBMS_JOB
This package manages and schedules all jobs in the job queue. The
DBMS_SCHEDULER supersedes the DBMS_JOB package. The user needs no
specific privileges to use this package. This package does not allow jobs to be
deleted or altered. Only the owner of the job can alter the job status.
DBMS_JOB.SUBMIT (
job OUT BINARY_INTEGER,
what IN VARCHAR2,
next_date IN DATE DEFAULT sysdate,
interval IN VARCHAR2 DEFAULT 'null',
no_parse IN BOOLEAN DEFAULT FALSE,
instance IN BINARY_INTEGER DEFAULT any_instance,
force IN BOOLEAN DEFAULT FALSE);
8.3.3 DBMS_SPACE
This package is a collection of procedures used to analyze the space
requirements. This package can be run only with SYS privileges.
CREATE_INDEX_COST Procedure
This procedure estimates the cost incurred while creating an index on a table.
DBMS_SPACE.CREATE_INDEX_COST (
ddl IN VARCHAR2,
used_bytes OUT NUMBER,
alloc_bytes OUT NUMBER,
plan_table IN VARCHAR2 DEFAULT NULL);
CREATE_TABLE_COST Procedures
This procedure finds the size of the table, if the attributes are specified.
DBMS_SPACE.CREATE_TABLE_COST (
tablespace_name IN VARCHAR2,
avg_row_size IN NUMBER,
row_count IN NUMBER,
pct_free IN NUMBER,
used_bytes OUT NUMBER,
alloc_bytes OUT NUMBER);
FREE_BLOCKS Procedure
DBMS_SPACE.FREE_BLOCKS (
segment_owner IN VARCHAR2,
segment_name IN VARCHAR2,
segment_type IN VARCHAR2,
freelist_group_id IN NUMBER,
free_blks OUT NUMBER,
scan_limit IN NUMBER DEFAULT NULL,
partition_name IN VARCHAR2 DEFAULT NULL);
DBMS_SPACE.OBJECT_DEPENDENT_SEGMENTS (
objowner IN VARCHAR2,
objname IN VARCHAR2,
partname IN VARCHAR2,
objtype IN NUMBER)
RETURN dependent_segments_table PIPELINED;
OBJECT_GROWTH_TREND
This procedure describes the space used by an object at a specific point in time.
DBMS_SPACE.OBJECT_GROWTH_TREND (
object_owner IN VARCHAR2,
object_name IN VARCHAR2,
object_type IN VARCHAR2,
partition_name IN VARCHAR2 DEFAULT NULL,
start_time IN TIMESTAMP DEFAULT NULL,
end_time IN IMESTAMP DEFAULT NULL,
interval IN DSINTERVAL_UNCONSTRAINED
DEFAULT NULL,
skip_interpolated IN VARCHAR2 DEFAULT 'FALSE',
timeout_seconds IN NUMBER DEFAULT NULL,
single_datapoint_flag IN VARCHAR2 DEFAULT 'TRUE')
RETURN object_growth_trend_table PIPELINED;
SPACE_USAGE Procedure
This procedure finds the free blocks in an auto space managed segment.
DBMS_SPACE.SPACE_USAGE (
segment_owner IN VARCHAR2,
segment_name IN VARCHAR2,
segment_type IN VARCHAR2,
unformatted_blocks OUT NUMBER,
unformatted_bytes OUT NUMBER,
fs1_blocks OUT NUMBER,
fs1_bytes OUT NUMBER,
fs2_blocks OUT NUMBER,
fs2_bytes OUT NUMBER,
fs3_blocks OUT NUMBER,
fs3_bytes OUT NUMBER,
fs4_blocks OUT NUMBER,
fs4_bytes OUT NUMBER,
full_blocks OUT NUMBER,
full_bytes OUT NUMBER,
partition_name IN VARCHAR2 DEFAULT NULL);
BEGIN
DBMS_OUTPUT.GET_LINE (: buffer: status);
END;
Sample Usage
END dept_salary;
Sample Output
Loop number = 1; Wages = 2000
Loop number = 2; Wages = 3250
Total wages = 3250
Subprogram Description
DISABLE PROCEDURE Disables message output
ENABLE PROCEDURE Enables message output
GET_LINE PROCEDURE Retrieves one line from buffer
GET_LINES PROCEDURE Retrieves an array of lines from buffer
PUT PROCEDURES Places a line in the buffer
PUT_LINE PROCEDURES Places partial line in the buffer
NEW_LINE PROCEDURE Terminates a line created with PUT
Contents
Version 9i Enhancements
Improvements in Oracle Version 10g
9.1.1 Manageability
Database complexity increases with every version of Oracle. Important features
have been added to version 9i to make the database more manageable. Notable
improvements have been done to the Oracle Enterprise Manager. These
improvements are outlined below.
Datafiles
- Datafiles can be automatically managed by Oracle.
- The datafiles can be created, named, resized and deleted by Oracle.
SGA
- Most of the components of the SGA can be dynamically sized.
- SGA_MAX_SIZE - Sets the largest allowable value.
- DB_BLOCK_BUFFER is replaced by DB_ CACHE_SIZE.
- DB_CACHE_SIZE, SHARED_POOL_SIZE, LARGE_POOL_SIZE can
be altered without shutting down the database.
- SGA and buffer size always remain static.
- The view v$sql_plan and v$sql_workarea can be joined to view memory
usage of every SQL statement.
Dataguard
- Dataguard is not an add-on anymore and can be managed by the OEM.
- The standby database can be synchronized to the production database
by applying the redo log files to the standby database on a real-time
basis. This ensures zero data loss. However, this results in
considerable performance penalties.
LOB
- Long columns can be easily converted to CLOBs.
- LOB columns can be manipulated just like the long columns.
- Character function can be applied to CLOBS just like varchar2 columns.
Index Monitoring
- The status of the Index can be viewed using the view v$object. And
v$object_usage.
Block Sizes
- The standard block size is set using the DB_BLOCK_SIZE. This is used
by the SYSTEM and the temporary tablespaces.
- Block sizes for application tablespace can be set to be different from the
standard block size.
Rollback segments
- Rollback segments can be automatically managed.
Timestamp
- This new data type can include time zone information to automatically
adjust for day light savings time.
String Lengths
- String lengths can be specified in terms of the number of characters.
- NLS_LENGTH_SEMANTIC can be used to toggle string length setting
from characters or bytes.
9.1.2 Performance
The most important improvement with respect to performance is the introduction
of the Real Application Clusters (RAC). This feature was earlier called the Oracle
Parallel Server.
RAC
- The database can be implemented on multiple servers. This enhances
the processing power of the database system. This system is called the
real application clusters.
- RACs are a collection of software and hardware that form a single
robust computing environment.
- All active instances share a single database and can concurrently
execute their respective transactions. Each transaction is coordinated in
order to provide data integrity and concurrency.
- A single point of failure is avoided.
NETWORK
DATABASE SERVER CLUSTERS Disk
Mirrored
Sub Systems
Server1
Server2
Users
HSS Hub
Server3
CENTRALLY
CONTROLLED
MANAGEMENT
Server4
CONSOLE
Flashback
- The image of the data at a previously set time point can be retrieved
even after completely processing any updates performed beyond that
time point.
- The data is reconstructed using the undo information.
- Flashback to a specific SCN is also possible.
Three-Tier Security
- Credential proxy for X.509 certificates enabled.
- Secure connection pooling and integration with LDAP enabled.
- Supports PKCS 12 certificates.
Scheduler
The Scheduler not only is able to run regular PL/SQL code blocks within the
database, but it can also run any OS executables. This package is versatile and
easy to use. The Scheduler can run jobs even when the database is not running.
The Scheduler replaces the DBMS_JOB package.
Database Monitoring
Contents
General Monitoring Scripts
Monitoring Memory Usage
Monitoring Disk I/O
Monitoring System Resources
Monitoring for Database Security
Monitoring Database Schema Objects
SQL Monitoring
Useful Unix Commands
SELECT (misses/DECODE(gets,0,1,gets))*100
Ratio1,(immediate_misses/
DECODE (immediate_misses+
immediate_gets, 0, 1,
immediate_misses + immediate_gets
)*100) obratio
FROM v$latch lat
WHERE lat.name = 'redo allocation'
/
obratio
FROM v$latch lat
WHERE lat.name = 'redo copy'
To list the users currently connected to the system and the command
they are currently running and the number of seconds since the
'last call' was issued.
SELECT freesp.tablespace_name,
sum(freesp.tots) Tot_Size,
sum(freesp.sumbytes) Total_free,
sum(freesp.sumbytes)*100/sum(
freesp.tots) Percent_Free,
sum(freesp.largest) Maximum_Free,
sum(freesp.chunks) Free_Chunks
FROM
(SELECT tablespace_name,0 tots,
sum(bytes) sumbytes, max(bytes)
largest,count(* ) chunks
FROM dba_free_space freesp
GROUP BY tablespace_name
UNION
SELECT tablespace_name,
sum(bytes)sumbytes, 0, 0, 0
FROM dba_data_files
GROUP BY tablespace_name
)freesp
GROUP BY freesp.tablespace_name;
SELECT name,type, value val
FROM v$parameter
WHERE name='db_name';
/
SELECT FREESP.tablespace_name,
FREESP.Maxbytes/1024 MaxIndex,
NEXTSP.owner,
NEXTSP.segment_type,
NEXTSP.segment_name,
next_extent/1024 NextIndex,
FROM (SELECT owner, segment_type,
segment_name, tablespace_name,
next_extent
FROM sys.DBA_SEGMENTS
) NEXTSP,
( SELECT tablespace_name,max(bytes)
Maxbytes
FROM sys.DBA_FREE_SPACE
GROUP BY tablespace_name
) FREESP
WHERE FREESP.tablespace_name =
NEXTSP.tablespace_name
AND NEXTSP.next_extent * 2 >=
FREESP.Maxbytes
ORDER BY owner, segment_type,
tablespace_name, segment_name;
SELECT wait.class,
(SUM(wait.count)/sum(stat.value)) * 100
FROM v$waitstat wait , v$sysstat stat
WHERE wait.class in ( 'undo header','undo
block', 'system undo
header','system undo
block')
AND stat.name IN ('consistent gets',
'db block gets')
GROUP BY wait.class
/
SELECT sql_text
FROM v$sqltext
WHERE address =
(SELECT sql_address FROM
v$session where sid=102)
AND hash_value = (SELECT sql_hash_value
FROM v$session where sid=102)
ORDER BY piece;
SELECT dbi.table_owner||'.'||dbi.table_name,
dbi.owner||'.'||dbi.index_nameind_name,
dbi.distinct_keys, dbi.uniqueness,
dicol.column_position||''||
dicol.column_name col_name
FROM dba_ind_columns dicol, dba_indexes dbi
WHERE DECODE('&&owner',
NULL,'x',dbi.table_owner) =
NVL(upper('&&owner'),'x')
AND DECODE('&&table_name',
NULL,'x',dbi.table_name)
LIKE NVL(upper('&&table_name'),'x')
AND dbi.index_name = dicol.index_name
AND dbi.table_name = dicol.table_name
AND dbi.owner = dicol.index_owner;
chmod To change the File Permissions after the root> chmod 777 .log
creation of the file root> chmod o+rwx *.log
root> chmod g+r *.log
root> chmod -Rx *.log
vmstat
To display system Statistics(for 5 seconds apart for 2 times):
root>$ vmstat 5 2
procs.
This parameter gives information about the number of processes.
Page
Reports the paging activities.
- Re: pages that were reclaimed.
- Mf: minor faults.
- Pi: KB paged in.
- Po: KB paged out.
- Fr: free space.
- De: short term memory short fall.
- Sr: pages scanned.
Disk
Number of disk operations for the disk s0 and s1.
Faults.
The number of traps and interrupts.
- Si: system calls.
- Cs : context switches.
CPU
The use of the CPU time.
- Us: user time.
- Si: system time.
- Cs: idle time
root>sar -u 5 2
user: CPU utilization that occurred during the execution at the user level.
nice: CPU utilization that occurred during the execution at the user level
with nice priority.
system: CPU utilization that occurred during the execution at the system level.
idle: Time that the CPU was idle
mpstat
Reports preprocessor statistics 5 Seconds apart for 2 times.
mpstat 5 2
Cron
To run jobs at regular intervals:
Login as root
$ crontab -l> newjob
Edit newjob file.
$ crontab new job
Path Contents
/etc/passwd User settings
/etc/group Group settings for users
/etc/hosts Hostname lookup information
/etc/system Kernel parameters
Contents
Introduction
What is driving the data growth?
Solution
Benefits
11.1 Introduction
11.3 Solution
Solix Technologies develops a variety of archiving and data management tools
enabling DBAs to keep their critical databases clean, stable and operating at
TM
peak performance. Solix ARCHIVEjinni , a state-of-the-art data management
solution automatically detects, analyzes, monitors, subsets and migrates inactive
data to cost effective storage tiers. Migration and management of data from
creation to deletion in accordance with defined data retention policies and
business rules provides visibility and control.
Administrators need not be reluctant to remove old data from the production
database fearing critical records may be permanently deleted or referential
TM
integrity of the data may be comprised. . With ARCHIVEjinni DBAs are freed
from having to synchronize the production and archived databases in case of any
TM
new upgrade or patch implementation. ARCHIVEjinni automatically detects
disparities and performs an automatic update in the archive instance for any
change in the production schema.
Timely access to information when needed can make a significant difference for
enterprises challenged with document control and compliance regulations.
TM
ARCHIVEjinni facilitates this need by storing inactive data into an online archive
database and provides an interoperable access layer that allows for transparent
access to both live and archive data in a single logged in session.
TM
ARCHIVEjinni s Configurator tool provides DBAs with a unique capability to
design custom archive and purge rules (different from the standard purge rules)
with a simple drag and drop function. The Configurator validates new archive
rules based on a pre-seeded knowledge base (parent-child relationships). DBAs
TM
utilizing ARCHIVEjinni further benefit by creating smaller subset databases for
testing, development, patching or training purposes. This feature helps reduce
infrastructure costs and application performance concerns of a database
administrator.
TM
Simply stated, ARCHIVEjinni is the most comprehensive solution enabling
DBAs to resolve application performance and storage cost issues arising from
data growth.
ARCHIVEjinni Features
TM
1) Data Analytics tool provides rich analytics and reporting on static data
growth in different application modules. Initial assessment will provide
information on installed modules, data per module, static data growth,
archive eligible data and parameters.
2) Configurator allows the user to design new configurations for archiving and
purging data, which are different from standard purge routines created by
the application. This feature offers the flexibility to design new configurations
and generate a dynamic code with a simple drag and drop capability.
4) Data Archive allows for archiving of data both labeled by the enterprise
application such as Oracle purge routines and those requisitioned by the
customer.
5) Data Purge archived data can be purged from the production instance with
the data purge feature.
9) Reports Archive provides multiple users real time access and sharing of
reports generated and archived.
10) Alerts provide intelligence on data growth, scheduled reporting and other
associated notifications linked to the regulatory policies.
11) Dash Board provides a view of all database instances. Monitors and
analyzes application performance in both graphical and tabular form.
Supports aggregation, drill-downs and alerts.
13) Data Security feature encrypts sensitive information in both production and
non-production database for protection against inappropriate visibility.
14) Patch Sync detects disparities between production and archive data
structures and performs an appropriate automatic update in the archive
instance for every new patch in the production schema.
11.4 Benefits
- Increased application performance and availability
- Improved regulatory compliance (SOX, HIPPA) and data protection
- Reduced storage, maintenance and operating costs
- Optimized backup, recovery, cloning and upgrades
- Intelligent reporting capability
ARCHIVING STRATEGIES
TM
ARCHIVEjinni offers different cost effective strategies to store and access
archived data. Three alternative methodologies have been discussed below:
In this approach, both archive and production data is stored in a different schema
within the same production database instance. The advantage of this approach is
that both the archive and production database can be simultaneously accessed
through an interoperable layer. Since both the archive and production data is
stored in the same instance, improvement in application performance is
insignificant.
PRODUCTION INSTANCE
A
R
C
H 250 GB
I
V 100 GB
E
PRODUCTION DATA ARCHIVED DATA
C
O
350 GB N
Interoperable Simultaneous Access Layer
F ARCHIVED INSTANCE
I
G
U
PRODUCTION DATA R
A
T
O
R
In this approach production data is stored in the production instance and archive
data is stored in the archived instance. This approach helps improve application
performance, but limits the application accessibility, as a database link has to be
set up to enable simultaneous access of data.
PRODUCTION INSTANCE
A
R
C
H
I 100 GB
V
E
PRODUCTION DATA
C
350 GB O
N
Interoperable Simultaneous Access Layer
F ARCHIVED INSTANCE
I
G
U
PRODUCTION DATA R
A
T
O
R 250 GB
ARCHIVED DATA
This approach overcomes the challenges faced in the above two methodologies.
Customers experience immense improvement in application performance as both
the production and the archived data are stored in two distinct instances.
Moreover, since in the archived instance both the archived data and the
production data copy are made available, the interoperable layer can
simultaneously access both the archived and production data. The flip side of
this alternative is that every time there is a change in the production data it needs
to be replicated in the production schema within the archived instance.
Once the users do not need access to the historical archived data, the inactive
data in the archived instance is moved to backup media for GrandArchive (long
term archiving).
PRODUCTION INSTANCE
A
R
C
H
I 100 GB
V
E
PRODUCTION DATA
C
O Interoperable Simultaneous Access Layer
350 GB N
F ARCHIVED INSTANCE
I
G
U 100 GB
PRODUCTION DATA R
A
T SUBSET CREATION
O
GRAND ARCHIVE
R
250 GB
ARCHIVED DATA
Copyrighted Material
Solix Technologies, Solix product names and the Solix
SOLIX
logo are trademarks or registered trademarks of Solix
Technologies, Inc. All other product names mentioned
Empowering Data Management herein are the trademarks and property of their
respective owners.