PK 1@oa,mimetypeapplication/epub+zipPK1@iTunesMetadata.plist? artistName Oracle Corporation book-info cover-image-hash 391514155 cover-image-path OEBPS/dcommon/oracle-logo.jpg package-file-hash 931776747 publisher-unique-id E10897-09 unique-id 477630085 genre Oracle Documentation itemName Oracle® Database 2 Day DBA, 11g Release 2 (11.2) releaseDate 2012-02-07T11:33:26Z year 2012 PKxo D?PK1@META-INF/container.xml PKYuPK1@OEBPS/index.htm Index

Index

A  B  C  D  E  F  G  I  J  L  M  N  O  P  Q  R  S  T  U  V  W 

A

adding
columns to a table, 8.3.5.1
disks to Oracle ASM disk groups, A.8
table constraints, 8.3.5.3
ADDM
See Automatic Database Diagnostics Monitor
administering
Oracle ASM, A.1
users, 7.5
administrative user accounts, 7.3
SYS, 5.1.5.1, 7.3.1
SYSTEM, 5.1.5.1
advisors
Automatic Database Diagnostics Monitor (ADDM), 10.3.1
Buffer Cache Advisor, 10.3.1, 10.3.1
description, 10.3.1
Memory Advisor, 10.3.1, 10.3.1
using, 10.3.8.1
performance, 10.3.1
PGA Advisor, 10.3.1, 10.3.1
repairing critical errors, 11.2.6
Segment Advisor, 10.3.1
using, 6.3.4.2
SGA Advisor, 10.3.1
Shared Pool Advisor, 10.3.1, 10.3.1
SQL Access Advisor, 10.3.1
using, 10.3.2
SQL Tuning Advisor, 10.3.1
using, 10.3.6
Undo Advisor, 6.5.4, 10.3.1
alerts
reviewing critical errors, 11.2.2
tablespace space usage, 6.3.2.2
ALTER SYSTEM statement, 5.3
archived redo log files
advantages of using, 2.3.2.6
description of, 2.3.2.6, 6.1.3
viewing, 6.2.3
ARCHIVELOG mode, 2.3.2.6
archiving, 2.3.2.6
ARCn processes, 5.1.2
ASM. See Oracle ASM
autoextend
data files and tablespaces, 6.1.6.4
Automatic Database Diagnostics Monitor (ADDM)
description, 10.3.1
findings, 10.1.2
modifying snapshot frequency and retention, 10.2.4
overview, 10.1.2
snapshots, 10.1.2
viewing performance analysis, 10.2.1
Automatic Diagnostic Repository, 11.1
automatic memory management, 2.3.2.8.1, 5.4.1
enabling, 5.4.2
modifying settings, 5.4.3
automatic PGA memory management
modifying settings, 5.4.5
automatic shared memory management, 2.3.2.8.1, 5.4.1
modifying settings, 5.4.4
Automatic SQL Tuning Advisor
about, 10.3.3
configuring, 10.3.4
viewing results, 10.3.5
Automatic Storage Management. See Oracle ASM
Automatic Workload Repository, 10.1.4.1
AWR
See Automatic Workload Repository

B

background processes
and database configuration, 2.3.2.8.2
archiver (ARCn), 5.1.2
checkpoint, 5.1.2
database writer (DBWn), 5.1.2
description, 1.2, 5.1.2
log writer (LGWR), 5.1.2
manageability monitor (MMON), 5.1.2
process monitor (PMON), 4.1.1, 5.1.2
system monitor (SMON), 5.1.2
use by database instances, 5.1
backup
available, 9.6.1
backup pieces, 9.3.5.1
channels, 9.3.5.1
consistent, 9.2.1
cross-checking, 9.6.1, 9.6.2
deleting expired backups, 9.6.3
deleting obsolete backups, 9.6.5
expired, 9.6.1
files, 6.1.7
full backup of data files, 9.4.1.1
image copies, 9.3.5.1
inconsistent, 9.2.1
incremental backup of data files, 9.4.1.2
making unavailable, 9.6.4
managing, 9.6
obsolete, 9.6.1
Oracle suggested backup strategy, 9.4.2.2
overview, 9.1
sets, 9.3.5.1
settings, 9.3.5
tags, 9.4.1.4
unavailable, 9.6.1
validating, 9.4.3
whole database backup, 9.4.2.1
backup and recovery area
specifying during database creation, 2.3.2.6
BasicFiles, 8.3.1.4.1
blackouts
defining time periods, 3.8.2
description, 3.8.1
block size
configuring for the database, 2.3.2.8.2
Buffer Cache Advisor
description, 10.3.1

C

central database management
configuring, 2.3.2.3
character sets, 2.1.2.7
defining, 2.3.2.8.3
description, 2.3.2.8.3
checkpoint
of the database, 5.1.2
checkpoint process, 5.1.2
classes, Java, 8.6.1
CLOB data type, 8.3.1.2.1
code
database-resident, 8.6.1
columns
adding, 8.3.5.1
deleting, 8.3.5.2
comments
adding to problem activity logs, 11.2.6
compiling schema objects, 8.6.2
compressed tables, 6.3.4.2.1, 8.3.1.4.4
configuring
Automatic SQL Tuning Advisor, 10.3.4
connect descriptors
description, 4.1.2
example, 4.1.2
CONNECT role, 7.2
connect strings
description, 4.1.2
connection modes
configuring, 2.3.2.8.4
connection privileges
SYSASM, A.1
SYSDBA, 5.1.5.1
SYSOPER, 5.1.5.1
constraints, 8.3.1.3
adding, 8.3.5.3
deleting, 8.3.5.5
modifying, 8.3.5.4
control files
description, 6.1.1
multiplexing, 6.1.1
SQL*Loader, 8.3.6
creating
databases
overview, 2.1
steps, 2.2
using standalone DBCA, 2.3
indexes, 8.4.3
service requests, 11.2.4
tables, 8.3.4
users, 7.5.2
customized repairs, 9.8

D

data
loading, 8.3.6
data blocks
description of, 2.3.2.8.2, 6.1.5
data dictionary tables
access to as user SYS, 7.3.2
data files
and the Oracle Suggested Backup Strategy, 9.4.2.2.1
autoextend, 6.1.6.4, 6.3.2.1
autoextend and Oracle Flashback, 6.5.2
backing up, 9.2
backups of only used blocks, 9.3.5.1
data blocks, 6.1.5
description of, 6.1.5
example of corrupt block detection, 9.7.2
extents, 6.1.5
full backups, 9.4.1.1
image copies of, 9.4.1.1
media recovery, 9.2.2
missing, 9.1
recovering from the loss of, 9.8.4
recovery without restoration, 9.1
restoring from consistent and inconsistent backups, 9.2.1
segments, 6.1.5
SQL*Loader, 8.3.6
tempfiles, 6.1.5
validating backups of, 9.4.3.2
viewing information about, 6.2.4
data integrity, 8.3.1.3
Data Recovery Advisor, 9.7
data types
CLOB, 8.3.1.2.1
DATE, 8.3.1.2.1
NUMBER, 8.3.1.2.1
overview, 8.3.1.2.1
user-defined, 8.3.1.4.1
VARCHAR2, 8.3.1.2.1
database
domain, 2.1.2.6
global name, 2.1.2.6
management options, 2.1.2.7
database administration
privileges required, 7.3
database checkpoint, 5.1.2
Database Configuration Assistant (DBCA)
configuring database options, 2.3.3
deleting a databases, 2.3.4
managing database templates, 2.3.5
using to create a database, 2.3
database configuration options, 2.1.2.7
Database Control
See Oracle Enterprise Manager Database Control
database edition, 2.1.2.3
database links
description, 8.7
database objects
naming, 8.1
Database Upgrade Assistant (DBUA)
overview, 12.2.1
restrictions on versions, 12.2.2
starting, 12.2.3
steps for upgrading, 12.2.4
database-resident program code, 8.6.1
databases
advisors
using, 10.3.1
alerts, 10.1.1
responding to alerts, 10.1.4.3
setting metric thresholds, 10.1.4.2
setting notification rules, 10.1.4.5
viewing metrics, 10.1.4.1
backup
description, 9.2
backup and recovery, 9.1
configuring options, 2.3.3
creating with DBCA, 2.3
deleting using DBCA, 2.3.4
diagnosing performance problems, 10.2
duplicating, 2.3.5
managing
roadmap, 3.1
with Oracle Enterprise Manager Database Control, 3
metric thresholds, 10.1.1
monitoring
alert-based, 10.1.1
performance, 10.1
overview of creating, 2.1
performance
advisors, 10.3.1
monitoring, 10.1
recovery
description, 9.2, 9.2
point-in-time, 9.2.2
restoring
description, 9.2
starting and stopping on Microsoft Windows, 5.2.2
steps for installing and creating, 2.2
storage structure
logical structures, 6.1
physical structures, 6.1
tuning, 10.1
upgrading, 12.2, 12.2.4
users, 7
using DBCA templates, 2.3.5
DATE data type, 8.3.1.2.1
DBA role, 7.2, 8.2
DBUA
See Database Upgrade Assistant
DBWn processes, 5.1.2
dedicated server mode, 2.3.2.8.4
dedicated server processes, 5.1.3
deinstall tool
location, 12.3
syntax and options, 12.3
deleting
constraints, 8.3.5.5
databases, 2.3.4
table columns, 8.3.5.2
tables, 8.3.7
users, 7.5.9
views, 8.5.4
directory
Oracle base, 2.1.2.4
Oracle inventory, 2.1.2.4
disk discovery
in Oracle ASM, A.2
disk groups
adding disks to, A.8
creating, A.6
dropping, A.7
dropping disks from, A.9
monitoring disk space usage, A.5
overview, A.2
dropping
disk groups, A.7
disks from disk groups, A.9
tablespaces, 6.3.3
undoing with Flashback Drop, 9.8.2.1
duplicating
databases, 2.3.5
users, 7.5.3

E

emctl, 3.4
enabling
automatic memory management, 5.4.2
Enterprise Edition, 2.1.2.3
Enterprise Manager
See Oracle Enterprise Manager Database Control
EXAMPLE tablespace, 6.1.6
configuring, 2.3.2.7
expiring passwords
reasons for, 7.5.8
extending
tablespaces, 6.1.6.4, 6.3.2.1
tablespaces and Oracle Flashback, 6.5.2
undo tablespaces, 6.5.2
extents
description of, 6.1.5

F

failure groups, A.2
fast recovery area, 9.2.3
configuring, 9.3.3
retention policies, 9.3.2.1
specifying during database creation, 2.3.2.6
Flashback Database, 9.8.3
Flashback Drop, 9.8.2
flashback features
Flashback Database, 9.8.3
Flashback Drop, 9.8.2
Flashback Table, 9.8.1
Flashback Table, 9.8.1, 9.8.1.2
functions, PL/SQL, 8.6.1

G

global database name, 2.1.2.6
global indexes, 8.4.1.2
granting
privileges, 7.5.4
roles, 7.5.4
grid control
configuring, 2.3.2.3

I

inactive, 6.4.2
incidents
about, 11.1
closed, viewing, 11.3
closing, 11.2.7
tracking, 11.1
indexes
creating, 8.4.3, 8.4.3
description, 8.4.1
global, 8.4.1.2
viewing, 8.4.2
initialization parameter file, 6.1.7
initialization parameters
description, 5.1
how they are used by the database, 5.1.1
server parameter files, 5.1, 5.1.1
viewing and modifying, 5.3
installation
checking prerequisites, 2.1.1
choices, 2.1.2
overview, 2.1
software location, 2.1.2.4
steps, 2.2
storage options, 2.1.2.5
using DBCA for database, 2.3
instances
database instances, 5.1
management, 5.1
memory structure, 5.1.4
Oracle instances, 5.1
PGA
definition, 5.1.4.2
shutdown, 5.1.5.3
startup, 5.1.5.2
invalid schema objects, 8.6.1

J

Java classes, 8.6.1
Java source code, 8.6.1

L

language
used by software, 2.1.2.7
LGWR process, 5.1.2
licensed software options, 2.1.2.3
listener.ora files, 4.1.1
listeners
See Oracle listeners
Load Data wizard
using, 8.3.6
loading data, 8.3.6
LOB columns, 8.3.1.4.1
local database management
configuring, 2.3.2.3
locally managed tablespaces, 6.1.6.1
locking and unlocking users, 7.5.7
log switch
description, 2.3.2.6

M

managing
memory, 5.4
media recovery, 9.2.2
memory
configuring, 2.3.2.8.1
management, 5.1.4, 5.4, 5.4.1
requirements, 2.1.1
structure of in an Oracle instance, 5.1.4
Memory Advisors
description, 10.3.1, 10.3.1
using, 10.3.8.1
mirroring, A.1
MMON process, 5.1.2
modifying
initialization parameters, 5.3
table attributes, 8.3.5
table constraints, 8.3.5.4
users, 7.5.6

N

Net Configuration Assistant (NETCA)
description, 4.1.3
NETCA
See Net Configuration Assistant (NETCA)
network configuration
connection requests, 4.1.1
description, 4.1
notification of alerts
alert notification, 3.8.1
NUMBER data type, 8.3.1.2.1

O

object privileges, 7.2
offline tablespaces, 6.1.6.3, 6.3.2.3
online redo log files, 6.4.2
current, 6.4.2
description of, 2.3.2.6, 6.1.2
multiplexing, 6.1.2, 6.4.1
switching, 6.4.2
viewing, 6.2.2
online redo log groups
description of, 2.3.2.6
online table redefinition, 6.3.4.1
operating system groups, 2.1.2.7
Oracle ASM, A
administering, A.1
definition, A.1
disk discovery, A.2
failure groups, A.2
installation, 2.1.2.5
mirroring, A.1
monitoring disk group space usage, A.5
rebalancing, A.1
Oracle Automatic Storage Management. See Oracle ASM.
Oracle base directory, 2.1.2.4
Oracle Enterprise Manager Database Control
backup, 9.4.2
backup and recovery, 9.3.1
configuration information, 2.2
description, 3.2
features, 3.2
installing, 2.1.2.7
managing databases, 3
online help, 3.2
starting and stopping, 3.4
Oracle inventory directory, 2.1.2.4
Oracle listeners
listener.ora file, 4.1.1
starting
Oracle Net
description, 4.1
listener configuration, 4.1.1, 4.2
mapping methods, 4.1.2
directory naming, 4.1.2
easy connect naming, 4.1.2
local naming, 4.1.2
Oracle suggested repair, 9.7
Oracle system identifier, 2.1.2.6
ORACLE_BASE environment variable, 2.2, 2.2, 2.2
ORACLE_HOME environment variable, 2.2, 2.2

P

parameter file, 6.1.7
partitioned tables, 8.3.1.4.2
password file, 6.1.7
password policies
default, 7.6.1
description of, 7.6.1
setting, 7.6
passwords
expiring, 7.5.8
patch sets, 12.1
patches, 12.1
PGA
See Program Global Area
PGA Advisor
description, 10.3.1
PMON process, 4.1.1, 5.1.2
predefined roles, 7.2
privileges
administrative, 7.3
and synonyms, 8.7
authenticating SYSDBA and SYSOPER users, 6.1.7
connection, 5.1.5.1
for installation of Oracle Database software, 2.2
granting, 7.5.4
granting to a Database Control administrative user, 3.7
object, 7.2
recommended, 7.1
required for database administration, 3.6, 7.3
revoking a system, 7.5.4
schema object management, 8.2
SYSASM, A.1
SYSDBA, 5.1.5.1, 9.3.1
SYSOPER, 5.1.5.1
system, 7.2
users, 7.2
using roles to manage, 7.2
problem activity logs
adding comments to, 11.2.6
problems
about, 11.1
adding comments to activity logs, 11.2.6
problem key, 11.1
viewing, 11.3
viewing detail, 11.2.3
procedures, 8.6.1
profiles, 7.6.1
Program Global Area (PGA)
components, 5.1.4.2
definition, 5.1.4.2
description, 5.1.4.2
target setting, 10.3.8.1

Q

quotas
assigning for a tablespace, 7.5.5

R

read consistency, 6.5.1
read only tablespaces, 6.1.6.3
read write tablespaces, 6.1.6.3
rebalancing, A.1
reclaiming space, 6.3.4.1
recovery
complete, 9.2.2
configuration, 2.3.2.6
fast recovery area, 9.2.3
incomplete, 9.2.2
media, 9.2.2
overview, 9.1
whole database recovery, 9.8.3, 9.8.3
Recovery Manager (RMAN)
channels, 9.3.5.1
control file use, 9.2.4
overview, 9.1
parallelism, 9.3.5.1
recovery catalog, 9.2.4
repository, 9.2.4
recycle bins, 8.3.7
redo log files
See online redo log files or archived redo log files
reference collection, 10.1.3
reorganizing tables, 6.3.4.1
repairs
customized, 9.8
Oracle suggested, 9.7
RESOURCE role, 7.2, 8.2
revalidating schema objects, 8.6.2
revoking
roles, 7.5.4
system privileges, 7.5.4
roles
administering, 7.4
CONNECT, 7.2
DBA, 7.2, 8.2
granting, 7.5.4
predefined, 7.2
RESOURCE, 7.2, 8.2
revoking, 7.5.4
using to manage user privileges, 7.2
viewing, 7.4.1
rollback, 6.5.1
rollback segments
description, 6.1.4

S

sample schemas
configuring, 2.3.2.7
installation of, 2.1.2.7
schema objects
compiling, 8.6.2
database links, 8.7
description of, 8.1
indexes, 8.4.1
creating, 8.4.3
viewing, 8.4.2
invalid, 8.6.1
privileges, 8.2
sequences, 8.7
synonyms, 8.7
tables, 8.3.1
constraints, 8.3.1.3
modifying, 8.3.5
validating, 8.6.2
views, 8.5.1
schemas, 7.1
SecureFiles, 8.3.1.4.1
security options, 2.1.2.7
Segment Advisor
description, 10.3.1
description of, 6.3.4.2
manual operation, 6.3.4.4
recommendations, 6.3.4.2.1
viewing recommendations, 6.3.4.3
segments
description of, 6.1.5
sequences
description, 8.7
server parameter files, 5.1, 5.1.1
server processes
description, 5.1.3
service requests
creating, 11.2.4
tracking, 11.2.6
services
on Microsoft Windows, 5.2.2
session
description of, 5.1.4.2
setting
password policies, 7.6
SGA
See System Global Area
Shared Pool Advisor
description, 10.3.1
shared server mode, 2.3.2.8.4
shared server processes, 5.1.3
shrinking segments, 6.3.4.1
shutting down databases
Microsoft Windows, 5.2.2
SID, 2.1.2.6
SMON process, 5.1.2
snapshots, 10.1.2
source code, Java, 8.6.1
space usage alerts for tablespaces, 6.3.2.2
SQL Access Advisor
using, 10.3.2
SQL Advisors
about, 10.3.2
description, 10.3.1
SQL Profile, 10.3.3
SQL Response Time, 10.1.3
SQL statements
about, 3.9.1
SQL Tuning Advisor
about, 10.3.2
using, 10.3.6
SQL Tuning Set, 10.1.3
SQL*Loader
control file, 8.3.6
Standard Edition, 2.1.2.3
starting databases
Microsoft Windows, 5.2.2
startup and shutdown
about, 5.1.5
privileges required for, 5.1.5.1
subprograms, 8.6.1
Support Workbench
about, 11
Custom Packaging process, 11.2.5
home page, 11.2.1
Quick Packaging process, 11.2.5
viewing problems, 11.3
synonyms
and privileges, 8.7
description, 8.7
SYS user, 3.7, 3.7, 5.1.5.1, 7.3.1
SYSASM system privilege, A.1
SYSAUX tablespace, 6.1.6
SYSDBA, 2.1.2.7
SYSDBA system privilege, 5.1.5.1, 6.1.7, 7.3.2
SYSMAN user, 3.7, 3.7
SYSOPER, 2.1.2.7
SYSOPER system privilege, 6.1.7, 7.3.2
System Global Area (SGA)
components, 5.1.4.1
description, 5.1.4.1
target setting, 10.3.8.1
system identifier (SID), 2.1.2.6
system privileges, 7.2
SYSASM, A.1
SYSDBA and SYSOPER, 7.3.2
SYSTEM tablespace, 6.1.6
SYSTEM user, 3.7, 3.7, 5.1.5.1, 7.3.1

T

tables
adding columns to, 8.3.5.1
adding constraints, 8.3.5.3
compressed, 6.3.4.2.1, 8.3.1.4.4
creating, 8.3.4
deleting, 8.3.7
deleting columns, 8.3.5.2
deleting constraints, 8.3.5.5
description, 8.3.1
loading data into, 8.3.6
LOB columns, 8.3.1.4.1
modifying attributes, 8.3.5
modifying constraints, 8.3.5.4
partitions, 8.3.1.4.2
retrieving a dropped table, 9.8.2.2
viewing data in, 8.3.3
viewing information about, 8.3.2
tablespaces
autoextend, 6.1.6.4, 6.3.2.1
autoextend and Oracle Flashback, 6.5.2
creating, 6.3.1
description, 6.1.6
dropping, 6.3.3
EXAMPLE, 6.1.6
extending undo tablespaces, 6.5.2
locally managed, 6.1.6.1
modifying, 6.3.2
offline, 6.1.6.3
quotas, 7.5.5
read only and read write, 6.1.6.3
Segment Advisor, 6.3.2
space usage alerts, 6.3.2.2
SYSAUX, 6.1.6
SYSTEM, 6.1.6
taking offline, 6.3.2.3
TEMP, 6.1.6
temporary tablespaces, 6.1.6.2
types of, 6.1.6.2
undo tablespaces, 6.1.6.2, 6.5.1
UNDOTBS1, 6.1.6
USERS, 6.1.6
viewing information about, 6.2.5
TEMP tablespace, 6.1.6
templates
creating databases with, 2.3.2.1
using with DBCA, 2.3.5
temporary tablespaces, 6.1.6.2
triggers, 8.6.1

U

undo
about, 6.5.1
advisor, 6.5.4
managing, 6.5, 6.5.2
tablespaces, 6.1.6.2
viewing, 6.5.3
Undo Advisor
computing minimum undo tablespace size with, 6.5.4
description, 10.3.1
setting minimum undo retention period with, 6.5.4
undo retention, 6.5.1
undo retention period
setting with Undo Advisor, 6.5.4
undo tablespaces
autoextend, 6.5.2
changing to fixed-size, 6.5.5
computing minimum size for fixed-size tablespace, 6.5.4
default configuration, 6.5.1
description of, 6.5.1
UNDOTBS1 tablespace, 6.1.6
upgrading a database, 12.2.4
user-defined data types, 8.3.1.4.1
users
accounts
administrative, 7.3
description, 7
administering, 7.5
creating, 7.5.2
creating by duplication, 7.5.3
deleting, 7.5.9
duplicating, 7.5.3
expiring passwords for, 7.5.8
locking and unlocking, 7.5.7
modifying, 7.5.6
privileges, 7.2
SYSASM, A.1
viewing, 7.5.1
USERS tablespace, 6.1.6

V

validating schema objects, 8.6.2<[/a>
VARCHAR2 data type, 8.3.1.2.1
viewing
indexes, 8.4.2
initialization parameters, 5.3
table data, 8.3.3
table information, 8.3.2
users, 7.5.1
views, 8.5.2
views
deleting, 8.5.4
description, 8.5.1
displaying, 8.5.2

W

wizards
Create Blackout, 3.8.2
database creation, 2.3.2
incident reporting, 11.2.1, 11.2.5
Load Data wizard, 8.3.6
Oracle ASM migration, A.1
Quick Packaging, 11.2.5
Recovery, 9.2.2, 9.8, 9.8.3
Schedule Customized Backup, 9.4.2.3
SQL Access Advisor, 10.3.7
PK@PK1@OEBPS/problems.htm Investigating, Reporting, and Resolving Problems

11 Investigating, Reporting, and Resolving Problems

Oracle Enterprise Manager Database Control (Database Control) includes a feature called the Support Workbench that enables you to view and investigate critical database errors, report these errors to Oracle Support Services, and in some cases, resolve the errors.

This chapter explains critical errors and describes how to use the Database Home page and the Support Workbench to do the following:

The following topics are covered:

About Database Problems and Incidents

To help diagnosis and resolution of critical errors, Oracle Database Release 11g introduces two concepts for Oracle Database: problems and incidents.

A problem is a critical error in the database. Critical errors manifest as internal errors, such as ORA-00600, and other severe errors, such as ORA-07445 (operating system exception) or ORA-04031 (out of memory in the shared pool portion). Problems are tracked in the Automatic Diagnostic Repository (ADR). The ADR is a file-based repository for storing diagnostic data. Because this repository is stored outside the database, the diagnostic data is available even when the database is down. As of Release 11g, the alert log, all trace and dump files, and other diagnostic data are also stored in the ADR.

Each problem has a problem key, which is a text string that describes the problem. The problem key includes the error code (such as ORA 600), and in some cases, one or more error parameter values or other information.

An incident is a single occurrence of a problem. When a problem occurs multiple times, an incident is created for each occurrence. Incidents are timestamped and tracked in the Automatic Diagnostic Repository (ADR).

Each incident is identified by a numeric incident ID, which is unique within the ADR. When an incident occurs, the database performs the following steps:

Each incident has a problem key and is mapped to a single problem.

Diagnosis and resolution of a critical error usually starts with an incident alert. The incident alert is displayed on the Enterprise Manager Database Home page. You can then view the problem and its associated incidents with Enterprise Manager.

Investigating, Reporting, and Resolving a Problem

This section describes the typical set of tasks that you perform to investigate and report a problem (critical error), and in some cases, resolve the problem. It includes the following topics:


Note:

The workflow described in this section includes only the minimum tasks that are required to investigate, report, and in some cases, repair a problem. See Oracle Database Administrator's Guide for a more complete workflow that includes additional diagnostics-gathering activities and data customization activities that you can do before uploading the diagnostic data to Oracle Support Services. In some cases, these additional activities may result in a shorter time to problem resolution.

Roadmap: Investigating, Reporting, and Resolving a Problem

You can begin investigating a problem by starting from the Support Workbench Home page. However, the more typical workflow begins with a critical error alert on the Database Home page. This documentation provides an overview of that workflow.

Figure 11-1 illustrates the basic tasks that you complete when encountering a problem.

Figure 11-1 Workflow for Investigating, Reporting, and Resolving a Problem

Description of Figure 11-1 follows
Description of "Figure 11-1 Workflow for Investigating, Reporting, and Resolving a Problem"

The following are task descriptions. Subsequent sections provide details for each task.

Task 1 – View Critical Error Alerts in Enterprise Manager

You begin the process of investigating problems (critical errors) by reviewing critical error alerts on the Database Home page.

To view critical error alerts:

  1. Go to the Database Home page in Enterprise Manager.

    See "Accessing the Database Home Page".

  2. In the Alerts section, examine the table of alerts.

    Critical error alerts are indicated by an X in the Severity column, and the text "Incident" in the Category column.


    Note:

    You may have to click the hide/show arrowhead icon next to the Alerts heading to display the alerts table.

    Description of critical_alert_home_new.gif follows
    Description of the illustration critical_alert_home_new.gif

  3. (Optional) In the Category list, select Incident to view alerts of type Incident only.

  4. In the Message column, click the message of the critical error alert to investigate.

    An Incident detail or Data Failure page appears for the type of incident you selected. For example, if you clicked a message about an ORA-600 error, then the Incident - Generic Internal Error page appears.

    This page displays the following:

    • Problem information, including the number of incidents for the problem

    • A Performance and Critical Error graphical timeline for the 24-hour time period in which the critical error occurred

    • Alert details, including severity, timestamp, and message

    • Controls that enable you to clear the alert or record a comment about it

    Description of critical_alert_new.gif follows
    Description of the illustration critical_alert_new.gif

  5. Review the Performance and Critical Error graphical timeline, and note any time correlation between performance issues and the critical error. Optionally clear the alert or leave a comment about it.

  6. Perform one of the following actions:

Task 2 – View Problem Details

You continue your investigation with the Problem Details page.

To view problem details:

  1. On the Incident detail or Data Failure page, click View Problem Details.

    The Problem Details page appears, showing the Incidents subpage.

  2. (Optional) To view incident details, in the Incidents subpage, select an incident, and then click View.

    The Incident Details page appears, showing the Dump Files subpage.

  3. (Optional) On the Incident Details page, select Checker Findings to view the Checker Findings subpage.

    This page displays findings from any health checks that were automatically run when the critical error was detected.


    See Also:


Task 3 – (Optional) Create a Service Request

At this point, you can create an Oracle Support service request and record the service request number with the problem information. If you choose to skip this task, then the Support Workbench automatically creates a draft service request for you in Task 4.

To create a service request:

  1. On the Problem Details page, in the Investigate and Resolve section, click Go to My Oracle Support.


    Tip:

    If you followed the steps described in Task 2, then from the Incident Details page, click Problem Details in the breadcrumb to return to the Problem Details page.

    Description of problem_details_new.gif follows
    Description of the illustration problem_details_new.gif

    The My Oracle Support Login and Registration page appears in a new browser window.

  2. Log in to My Oracle Support and create a service request in the usual manner.

    (Optional) Remember the service request number (SR#) for the next step.

  3. (Optional) Return to the Problem Details page, and then do the following:

    1. In the Summary section, click the Edit button that is adjacent to the SR# label.

    2. In the page that opens, enter the SR#, and then click OK.

    The SR# is recorded in the Problem Details page. This is for your reference only.

Task 4 – Package and Upload Diagnostic Data to Oracle Support Services

For this task, you use the quick packaging process of the Support Workbench to package and upload the diagnostic information for the problem to Oracle Support Services. Quick packaging has a minimum of steps, organized in a guided workflow (a wizard). The wizard assists you with creating an incident package (referred to as a package) for a single problem, creating a ZIP file from the package, and uploading the file. With quick packaging, you are not able to edit or otherwise customize the diagnostic information that is uploaded. Using quick packaging is the direct, straightforward method to package and upload diagnostic data.

To edit or remove sensitive data from the diagnostic information, enclose additional user files (such as application configuration files or scripts), or perform other customizations before uploading, you must use the custom packaging process. See Oracle Database Administrator's Guide for instructions. When you complete those instructions, you may continue with Task 5 – Track the Service Request and Implement Any Repairs.


Note:

The Support Workbench uses Oracle Configuration Manager to upload the diagnostic data. If Oracle Configuration Manager is not installed or properly configured, then the upload may fail. In this case, a message is displayed with a request that you upload the file to Oracle Support manually. You can upload files manually with My Oracle Support.

For more information about Oracle Configuration Manager, see Oracle Configuration Manager Installation and Administration Guide.


To package and upload diagnostic data to Oracle Support:

  1. On the Problem Details page, in the Investigate and Resolve section, click Quick Package.

    The Create New Package page of the Quick Packaging wizard appears.

    Description of quick_package_1_11gr2.gif follows
    Description of the illustration quick_package_1_11gr2.gif

  2. (Optional) Enter a package name and description.

  3. Fill in the remaining fields on the page. If you have created a service request for this problem, then select the No option button for Create new Service Request (SR).

    If you select the Yes option button for Create new Service Request (SR), then the Quick Packaging wizard creates a draft service request on your behalf. You must later log in to My Oracle Support and fill in the details of the service request.

    Click Next.

    The Quick Packaging wizard displays a page indicating that it is processing the command to create a new package. When it finished, the Quick Packaging: View Contents page is displayed.

  4. Review the contents on the page, making note of the size of the created package, then click Next.

    The Quick Packaging: View Manifest page appears.

  5. Review the information on this page, making note of the location of the manifest (listed next to the heading Path). After you have reviewed the information, click Next.

    The Quick Packaging: Schedule page appears.

  6. Choose either Immediately, or Later. If you select Later, then you provide additional information about the time the package should be submitted to My Oracle Support. After you have made your choice and provided any necessary information, click Submit.

    The Processing: Packaging and Sending the Package progress page appears.

When the Quick Packaging wizard is complete, the package that it creates remains available in the Support Workbench. You can modify the incident package with custom packaging operations (such as adding new incidents) and reupload the package at a later time.

Task 5 – Track the Service Request and Implement Any Repairs

After uploading diagnostic information to Oracle Support Services, you might perform various activities to track the service request, collect additional diagnostic information, and implement repairs. Among these activities are the following:

  • Adding an Oracle bug number to the problem information.

    To do so, on the Problem Details page, click the Edit button that is adjacent to the Bug# label. This is for your reference only.

  • Adding comments to the problem activity log.

    You may want to share problem status or history information with other DBAs in your organization. For example, you could record the results of your conversations with Oracle Support.

    To add comments to the problem activity log:

    1. Go to the Problem Details page for the problem, as described in "Viewing Problems Using the Enterprise Manager Support Workbench".

    2. Click Activity Log to display the Activity Log subpage.

      Description of activity_log_new.gif follows
      Description of the illustration activity_log_new.gif

    3. In the Comment field, enter a comment, and then click Add Comment.

      Your comment is recorded in the activity log.

  • Adding new incidents, if they occur, to the package and reuploading the package to Oracle Support Services.

    For this activity, you must use the custom packaging method described in Oracle Database Administrator's Guide.

  • Running health checks.

    See Oracle Database Administrator's Guide for information about health checks.

  • Running a suggested Oracle advisor to implement repairs.

    You can access the suggested advisor in one of the following ways:

    • Problem Details page—In the Self-Service tab of the Investigate and Resolve section

    • Support Workbench Home page—On the Checker Findings subpage

    • Incident Details page—On the Checker Findings subpage

    Table 11-1 lists the advisors that help repair critical errors.

    Table 11-1 Oracle Advisors that Help Repair Critical Errors

    AdvisorCritical Errors AddressedSee

    Data Recovery Advisor

    Corrupted blocks, corrupted or missing files, and other data failures

    "Performing Oracle Advised Recovery"


    SQL Repair Advisor

    SQL statement failures

    Oracle Database Administrator's Guide



Task 6 – Close Incidents

When a particular incident is no longer of interest, you can close it. By default, closed incidents are not displayed on the Problem Details page.

All incidents, whether closed or not, are purged after 30 days. You can disable purging for an incident on the Incident Details page.

To close incidents:

  1. Go to the Support Workbench Home page.

    See "Viewing Problems Using the Enterprise Manager Support Workbench".

  2. Select the desired problem, and then click View.

    The Problem Details page appears.

  3. Select the incidents to close and then click Close.

    A confirmation page appears.

  4. Click Yes to close the incident.

Viewing Problems Using the Enterprise Manager Support Workbench

You use the Enterprise Manager Support Workbench home page to view all problems or only those within a specified time period.

To access the Support Workbench home page:

  1. Go to the Database Home page in Enterprise Manager.

    See "Accessing the Database Home Page".

  2. Click Software and Support to view the Software and Support page.

  3. In the Support section, click Support Workbench.

    The Support Workbench home page appears, showing the Problems subpage. By default the problems from the last 24 hours are displayed.

    Description of support_workbench_new.gif follows
    Description of the illustration support_workbench_new.gif

  4. To view all problems, select All from the View list.

  5. (Optional) If the Performance and Critical Error section is hidden, then click the Show/Hide icon adjacent to the section heading to show the section.

    This section enables you to view any correlation between performance changes for your database and incident occurrences.

  6. (Optional) Under the Details column, click Show to display a list of all incidents for a problem, and then click an incident ID to display the Incident Details page.

To view details for a particular problem:

  1. On the Support Workbench home page, select the problem, and then click View.

    The Problem Details page appears, showing the Incidents subpage.

  2. (Optional) To view closed incidents and open incidents, select All from the View list.

  3. (Optional) To view details for an incident, select the incident, and then click View.

    The Incident Details page appears.

  4. (Optional) To view the contents of an associated trace file, on the Dump Files subpage of the Incident Details page, click the icon in the View Contents column for the trace file.

    Enter the host credentials, then click Continue. The contents of the trace file are displayed. Click OK to return.

  5. (Optional) To view checker findings for the incident, on the Incident Details page, click Checker Findingspan>.

    The Checker Findings subpage appears.

  6. (Optional) On the Incident Details page, to view the user actions that are available to you for the incident, click Additional Diagnostics. Each user action provides a way for you to gather additional diagnostics for the incident or its problem.

PKqdXˁPK1@ OEBPS/toc.htm}q Table of Contents

Contents

List of Figures

List of Tables

Title and Copyright Information

Preface

1 Introduction

2 Installing Oracle Database and Creating a Database

3 Getting Started with Database Administration

4 Configuring the Network Environment

5 Managing the Oracle Instance

6 Managing Database Storage Structures

7 Administering User Accounts and Security

8 Managing Schema Objects

9 Performing Backup and Recovery

10 Monitoring and Tuning the Database

11 Investigating, Reporting, and Resolving Problems

12 Managing Oracle Database Software

A Administering Oracle Automatic Storage Management

Index

PK]q}qPK1@"OEBPS/img_text/em_admin_create.htmz Description of the illustration em_admin_create.gif

This image is a screenshot of the Administrators page, where you can create a new administrator. The descriptive text below the title says "Administrators are database users who can login to Enterprise Manager to perform management tasks like set Blackouts, email notification schedules."

The upper right-hand corner of the screenshot includes the date and time the page was last refreshed, along with a Refresh button.

Below the descriptive text is a Search field, followed by a Go button.

In the middle of the screenshot is a table of Administrators. At the top of this table there are 5 buttons. The are labeled, from left to right: View, Edit, Subscribe to Rules, Delete, and Create. The table has 3 columns: Select, Name, and Access. The rows in the table contain the following values:

PKGPK1@(OEBPS/img_text/undo_management_graph.htm[ Description of the illustration undo_management_graph.gif

This is an image of a graph. The x-axis is labeled "Undo Retention (minutes)". The y-axis is labeled "Required Tablespace Size (MB)". A curve starts roughly from the origin and climbs to the upper right, more or less linearly. The curve has tick-marks on it, which you can click. There are three points called out on the curve, listed here in order of proximity to the origin: Auto-Tuned Undo Retention, New, and Best Possible Undo Retention.

PKd`[PK1@%OEBPS/img_text/primary_constraint.htmv Description of the illustration primary_constraint.gif

This is a screenshot of the Add PRIMARY Constraint page. At the top right-hand corner of the page are two buttons, ordered from left to right: Cancel and Continue. Below the buttons is a primer on primary key constraints. Below this are the following sections, going down the page:

PKkVZ{vPK1@(OEBPS/img_text/mem_allocation_advice.htm[ Description of the illustration mem_allocation_advice.gif

This is the screenshot of the SGA Size Advice window. At the top of the window is a line graph. Below the graph is a text field entitled Total SGA Size. The current field value is 480 MB. At the bottom of the window are two buttons: Cancel and OK.

The x-axis of the graph is labeled Total SGA Size (MB), and the y-axis is labeled Improvement in DB Time (%). The curve on the graph rises at a steep rate from the x-y origin (lower left). The curve then levels off until it is flat toward the top right of the graph. An orange vertical line come up from the x-axis at 512 MB, showing the maximum SGA size. Very close to the orange vertical line, a red vertical line comes up from the x-axis, showing the current SGA size. Both lines intersect the curve. The value of the y-axis where both vertical lines intersect the curve (roughly) is zero. There is one value above zero on the y-axis: 20.000%. There are six values on the y-axis below zero: -20.000, -40.000, and so on until -120.000, which is just about at the origin.

PK~PK1@(OEBPS/img_text/disk_group_page_11gr2.htm^ Description of the illustration disk_group_page_11gr2.gif

This screenshot shows the properties of a disk group, including space usage and redundancy, and includes a table of all member disks. There are two charts on the page. In the middle is the Current Disk Group Usage pie chart, which shows the percentages of Used, Free, and internal disk space. The graph on the left is the Disk Group Daily Space Usage History graph which charts the amount of disk space used over the last 7 days.

For each member disk, these fields are shown: ASM disk name, failure group name, disk path, library, read/write errors, online/offline status, usage information, size in GB, and more. A check box to the left of each disk enables you to select one or more disks to manage (for example, to drop or resize).

End of description.

PKzPK1@(OEBPS/img_text/sqltuning_adv_2_11gr2.htmT Description of the illustration sqltuning_adv_2_11gr2.gif

This is a screenshot of the Performance Finding Details: Top SQL Statements page. At the top of the page is the following information:

Below this information is the Recommendations section. The first item in this section is a button labeled Schedule SQL Tuning Advisor. Next is a table of recommendations. At the top of the table are 4 hyperlinks: Select All, Select None, Show All Details, Hide All Details. The table has the following columns: Select, Details, Category, and Benefit (%). The data for the last column is displayed as a horizontal bar graph in each row, followed by the percentage value. In the Details column, each row has a Show icon, that if clicked, "opens" the row to reveal recommendation details, including action buttons such as Run Advisor Now and Filters. For the "opened" rows, the Details column contains a Hide icon.

This table shown in this screenshot has 4 rows, each a SQL Tuning recommendation. The last 3 rows in the table are not "opened". The first row, which is "opened", contains the following information:

End of description.

PK(PK1@&OEBPS/img_text/asm_add_disks_11gr2.htmR Description of the illustration asm_add_disks_11gr2.gif

This is a screenshot of the Oracle ASM Add Disks page. At the upper right-hand corner of the page are three buttons: Show SQL, Cancel, and OK. Below the buttons are the following sections:

End of description.

PK?mgWRPK1@%OEBPS/img_text/memory_size_advice.htmK Description of the illustration memory_size_advice.gif

The screenshot shows the Memory Size Advice page. The main part of the page is a chart of the Improvement in DB Time (%) compared to the Total Memory Size (MB). The chart legend indicates the Percentage improvement in DB Time for various sizes of Total Mem is shown as a blue line, the Total Memory size is shown as a pair of green lines that intersect the blue curve at the point (400 MB, -4%), and the Maximum Memory Size is shown as a pair of red lines that intersect the blue curve at the point (520 MB, 0%). The intersecting green lines appear when you click on a point on the chart that is below the Maximum Memory Size.

Below the chart is the following text "You can click on the curve in the graph to set a new value. Total Memory Size cannot be greater than the Maximum Memory Size. First modify the Maximum Memory size (from the parent page) and then select a value of Total Memory up to the Maximum Memory size."

At the bottom of the page, on the right-hand side are two buttons: Cancel and OK.

End of description.

PK%NPK1@OEBPS/img_text/view_roles.htmp Description of the illustration view_roles.gif

This screenshot of the Roles page has the following components, starting from the top of the page and moving down: An Object Type list at the right that enables you to switch between the Roles, Users, Profiles, and Directory Objects pages; a Search section with which you can filter the contents of the table of role names below; a Selection Mode list with which you choose whether you want to be able select one or multiple roles to operate on; Create, Edit, View, and Delete buttons, with an Actions list to the right of the buttons and a Go button to the right of the Actions list, which is a list of actions that you can perform on roles; a page navigation list that shows the sequence numbers of the currently displayed group of roles (for example 1-25) and enables you to pick the next group of roles; a Next link that gives you another way to view the next group (page) of roles; and finally, a table of current roles. The table contains a Select column at the left (which displays either radio buttons or check boxes, depending on the setting of the Selection Mode list); a Role column that displays the Role names, and an Authentication column, which displays the type of authentication required to enable the role if it is not granted to a user as a default role.

PKzPK1@*OEBPS/img_text/home_page_space_summary.htmx Description of the illustration home_page_space_summary.gif

This screenshot shows the home page Space Summary. It tells you the Database Size, number of problem tablespaces, Segment Advisor recommendations which is 9 in this example, number of space violations and size of dump area used.

PKKPK1@(OEBPS/img_text/quick_package_1_11gr2.htma Description of the illustration quick_package_1_11gr2.gif

The screenshot shows the Quick Packaging: Create New Package page. At the top of the page is an indicator image that has 4 circles, the first one colored in. The remaining circles are empty. The circles are labeled (from left to right) Create New Package, View Contents, View Manifest, and Schedule. On the right-hand side of the page, near the top are two buttons, Cancel, followed by the text "Step 1 of 4", and then a Next button.

Under the page title is the following information:

Below this information is the following note: "Use quick packaging to generate an upload file for a single-problem and send it to Oracle with default options. If Oracle Configuration Manager is not set up, then the upload file will still be created but it will not be sent to Oracle."

Below the note are 5 text entry fields, an action list, and a two pairs of option buttons. They are (listed in order from top to bottom):

End of description.

PKyPK1@&OEBPS/img_text/em_pref_credentials.htmv Description of the illustration em_pref_credentials.gif

This image shows the Preferred Credentials page. The Preferred Credentials page shows target types, their number, number of targets with credentials set, and a link to the detailed interface for setting credentials.

PK%r{vPK1@OEBPS/img_text/admqs001.htmJ Description of the illustration admqs001.eps

This is an illustration of three redo log groups, where each group has two members, and within each group, each member is on a separate disk. There are two disks depicted. Disk A contains all the A members of groups 1, 2, and 3, and Disk B contains all the B members of groups 1, 2, and 3.

PKT߂PK1@ OEBPS/img_text/database_down.htm0 Description of the illustration database_down.gif

This image shows a portion of the Database Home page. At the upper right corner of the page is the date and time at which the last page refresh occurred and a Refresh button. Below that button are two buttons: Startup and Perform Recovery. To the left of those buttons, even with the left margin, is a Database Instance section, which shows a red down-facing arrow, and, next to a Status heading, the status of Down. This section also displays the name of the host, the port, the SID, and the Oracle Home for the database instance. To the right of this section is a Details field which states "There has been a user-initiated shutdown."

End of description.

PK50PK1@)OEBPS/img_text/invalid_object_details.htm9 Description of the illustration invalid_object_details.gif

This screenshot shows the Invalid Object Details page. To the top right is "Page Refreshed" label (currently displaying the date and time when the page was last refreshed), followed to the right by a Refresh button. Below the Refresh button, to the right-hand side are two buttons, ordered from left to right: Recompile and Delete. Below the buttons are two links to select data from the table, ordered from left to right: Select All and Select None. Below the links is a table showing the current invalid objects in the database. This table contains the following columns, ordered from left to right: Select, Name, Type, and Status. This table contains six rows.

PK>9PK1@#OEBPS/img_text/purchase_orders2.htm* Description of the illustration purchase_orders2.gif

This screenshot shows the Create Table page. At the top right-hand corner of the page are three buttons, ordered from left to right: Show SQL, Cancel, and OK. Beneath the buttons, a row of links goes horizontally across the page. Each is the title of a subpage, where each subpage contains different administrative functions. The subpage titles are: General, Constraints, Storage, Options, and Partitions. The General subpage is currently displayed.

Beneath the row of links are three fields ordered from top to bottom: Name (currently showing as PURCHASE_ORDERS), Schema (currently showing as NICK), and Tablespace (currently showing as <Default>). To the right of the Tablespace field is the Estimate Table size button. Below the Tablespace field is the label "Organization" which has the description as Standard (Heap Organized). To the right-hand corner is the "Define Using" list (currently showing as Column Specification).

The Columns section contains the following:

Below the buttons is a Columns table. The table contains the following columns, ordered from left to right: Select, Name, Data Type, Size, Scale, Not NULL, Default Value, and Encrypted.There are five rows displayed. To the left-hand corner of the table is a Add 5 Table Columns button.

Below the table is a legend. A key image signifies a primary key column, a check mark image signifies a unique key column, and a padlock image signifies a SecureFile LOB column.

End of description.

PK$Q / * PK1@(OEBPS/img_text/tablespace_thresholds.htm Description of the illustration tablespace_thresholds.gif

This image is a screenshot of the Tablespace Thresholds property page. At the top of the page are some statistics on available space, space used, and free space. Below the statistics is a section entitled "Tablespace Full Metric Thresholds." It has the following two sections, arranged side by side, going from left to right:

You can select an option in both the Space Used (%) section and the Free Space (MB) section.

PKwPK1@'OEBPS/img_text/backup_reports_11gr1.htm) Description of the illustration backup_reports_11gr1.gif

This screenshot shows the View Backup Report page in Enterprise Manager. Towards the top of the page is the Search section where you can select the Status, Start Time, and the backup type. To the right of these search fields is a Go button. Below the Search section is a Results section. It contains a table of backup reports. The table contains the following columns, from left to right: Backup Name, Status, Start Time, Time Taken, Type, Output Devices, Input Size, Output Size, and Output Rate (Per Sec). There are three rows displayed.

End of description.

PK*PK1@#OEBPS/img_text/perfanalysishpcr.htmW Description of the illustration perfanalysishpcr.gif

This screenshot shows the Performance Analysis section on the Home Page. The main feature of the section is a table of findings. The table has three columns: Impact (%), shown as a horizontal bar graph with a numeric percent figure to the right of each bar; Finding, which is a message shown as a link; and Occurrences, which shows values similar to "7 out of 20", shown as a link. There are four findings, shown in decreasing order of impact.

PK HK\WPK1@#OEBPS/img_text/hp-propertypages.htm6 Description of the illustration hp-propertypages.gif

This image shows the subpage links at the top of the Database Home page. The links go horizontally across the page, and are named, from left to right, Home (in bold because the Database Home page is the current page), Performance, Availability, Server, Schema, Data Movement, and Software and Support.

PKu{"PK1@!OEBPS/img_text/homepage_small.htmY Description of the illustration homepage_small.gif

This image is a partial screenshot of the Database Home page, which is showing the Home subpage. The page heading is "Database Instance," followed by the instance name, which in this case is "orcl.example.com". Beneath the heading, a row of links goes horizontally across the page. Each is the title of a separate Enterprise Manager subpage, where each subpage contains different administrative functions. The subpage titles are Home (highlighted because it is the current page), Performance, Availability, Server, Schema, Data Movement, and Software and Support. Beneath the subpage links are the various sections of the home page, including General (for instance and listener information), Host CPU, Active Sessions, SQL Response Time, Diagnostic Summary, Space Summary, High Availability, Alerts, Related Alerts, and Policy Violations. Each section has various combinations of links, controls, and text or graphical elements that display database status. .

PK/^YPK1@&OEBPS/img_text/modify_system_privs.htmB Description of the illustration modify_system_privs.gif

This is a screenshot of the Modify System Privileges page. On the left-hand side of the page is a scrolling list of available system privileges. On the right-hand side is a scrolling list of selected system privileges. The system privileges named in the APPDEV Privileges table at the beginning of this section are shown in the Selected System Privileges list. Between the two scrolling lists are the following buttons: Move (with an icon showing a right arrow), Move All (with an icon showing a double right arrow), Remove (with an icon showing a left arrow), and Remove All (with an icon showing a double left arrow). At the far right of the page are OK and Cancel buttons.

PKXGBPK1@-OEBPS/img_text/em_admin_create_properties.htm* Description of the illustration em_admin_create_properties.gif

This image is a screenshot of the Create Administrator: Properties page. Under the page title, it shows a field Name and the corresponding text box immediately to the right, followed by a "look-up" icon. Below the Name field is an E-mail Address field, followed immediately to the right by the text entry box. The descriptive text below the E-mail Address field says "Specify one or more e-mail addresses separated by a comma or space. If you are entering these for the first time, they will be used to create a default 24x7 notification schedule for this Administrator."

Below the descriptive text is the Administrator Privilege list. The value View on all targets is currently selected. Below the Administrator Privilege list the Grant SELECT_CATALOG_ROLE option is enabled.

The Cancel button and Review button are provided both at the top-right and at the bottom right of the window.

PK,X/*PK1@OEBPS/img_text/create_user.htm Description of the illustration create_user.gif

This screenshot of the Create User page has the following components, starting from the top of the page and moving down: Three buttons named Show SQL, Cancel, and OK; across the entire page, a series of tabs that bring up property sub pages, the names of which are General, Rolls, System Privileges, Object Privileges, Quotas, Consumer Groups Privileges, and Proxy Users; the following fields, which are text fields unless otherwise noted: Name, Profile (a drop-down list whose current value is DEFAULT), Authentication (a drop-down list whose current value is Password), Enter Password, Confirm Password, a checkbox called Expire Password now, Default Tablespace, Temporary Tablespace, and a Status field with two options - Locked and Unlocked.

PK2PK1@%OEBPS/img_text/perform_reco_11gr1.htmG Description of the illustration perform_reco_11gr1.gif

This screenshot shows the Perform Recovery page in Enterprise Manager. The page has the following sections, arranged vertically on the page from top to bottom:

To the right of all of these sections, is another section entitled Overview, which contains information on the tasks that you can perform in the page.

End of description.

PK_LGPK1@'OEBPS/img_text/select_table_objects.htm  Description of the illustration select_table_objects.gif

This is a screenshot of the Select Table Objects page. At the top right of the page are two buttons: Cancel and Select. Beneath the buttons is a search area with two fields: a Schema list, which currently shows the value HR, and a Search Table Name field, which is empty. To the right of the Search Table Name list is a Go button. Below the search area is a table with two columns. The first column is named Select, and it contains only check boxes. It is used to select rows in the table. The second column, named Object Name, contains a list of tables in the HR schema. Above the table of tables are two links: Select All and Select None.

PK % PK1@&OEBPS/img_text/problem_details_new.htm G Description of the illustration problem_details_new.gif

The screenshot shows the Problem Details: ORA 600 [15700] page. There is a refresh timestamp and Refresh button in the upper right-hand corner of the page. Below the Page Refreshed timestamp is the Investigate and Resolve section. This section has two buttons at the top: Go to My Oracle Support and Quick Package. Below the buttons are two subtabs: Self Service (selected) and Oracle Support.

On the Self Service subpage, there are three sections, each containing a list of links:

To the left of the Investigate and Resolve section is the Summary section. This section displays the following information:

Below the Summary section are two subtabs: Incidents (selected) and Activity Log. On the Incidents subpage, there are two lists at the top: Status on the left, currently showing Open Incidents, and Data Dumped on the right, currently showing Yes. To the right of the Data Dumped list is a Go button.

Below the lists are two buttons: View on the left, Close on the right. Below these buttons are 4 hyperlinks named (in order from left to right) Select All, Select None, Show All Details, and Hide All Details. Below the hyperlinks is a table of incidents.

There are 8 columns in the incident tables. The columns are titled, from left to right: Select, Details, ID, Description, Data Dumped, Active, Status, and Timestamp. There are 2 rows in the table. The rows contain the following values, listed from left to right and top to bottom:

End of description.

PKн PK1@%OEBPS/img_text/addm_home_page_new.htm Description of the illustration addm_home_page_new.gif

This screen shot the majority of the Database Home page, with ADDM Performance Analysis section displayed. The contents of the Database Home page were described in Chapter 3 of this guide.

The ADDM Performance Analysis section shows the beginning and ending date of the analysis period, the duration of the interval, and the name of the database instance. This information is followed by a table with 3 columns. The column names are, from left to right: Impact (%), Finding, and Occurrences (24 hrs ending with analysis period).

In this screenshot, the table has 5 rows. The rows contain the following values:

End of description.

PKNPK1@(OEBPS/img_text/invalid_object_alerts.htmn Description of the illustration invalid_object_alerts.gif

This is a screenshot of the Alerts section of the Database Home page. At the top of the section is the heading, "Alerts." Below the heading are the following controls, ordered from left to right:

Beneath those controls is a table of alerts. The table columns are as follows: Severity, Category, Name, Impact, Message, and Alert Triggered. The Message column contains messages that are also links. There are three rows, two of which are Invalid Object alerts.

PKBPK1@OEBPS/img_text/modify_roles.htm) Description of the illustration modify_roles.gif

This is a screenshot of the Modify Roles page. On the left-hand side of the page is a scrolling list of available roles. On the right-hand side is a scrolling list of selected roles. The CONNECT role is the only member of the selected roles list. Between the two scrolling lists are the following buttons: Move (with an icon showing a right arrow), Move All (with an icon showing a double right arrow), Remove (with an icon showing a left arrow), and Remove All (with an icon showing a double left arrow). At the far right of the page are OK and Cancel buttons.

PKZh PK1@(OEBPS/img_text/support_workbench_new.htm Description of the illustration support_workbench_new.gif

The screenshot shows the Support Workbench home page of Enterprise Manager. The page has three subtabs: Problems (1), Checker Findings (0), and Packages (1). The Problems subtab is selected. In the section of the page above these tabs, on the right-hand side of the page is the time and date of the last refresh for this page and a Refresh button.

On the Problems subpage, the top section displays the following information:

The next section on the page is a table of problems. Above the table, on the left-hand side, is an action list titled View, which is set to Last 24 Hours. Above the table, on the right-hand side, is a Search text entry field, followed by a button labeled Go, and an Advanced Search link.

The table shown in the screenshot contains only one row, which has the following values for the columns listed:

Below this row is the expanded detail information:

At the top of the table, on the left-hand side, are 2 buttons labeled (from left to right) View and Package. Below these buttons are the following links (from left to right): Select All, Select None, Show All Details, Hide All Details.

End of description.

PK% PK1@#OEBPS/img_text/activity_log_new.htmW Description of the illustration activity_log_new.gif

The screenshot shows the Activity Log subpage portion of the Problem Details page. There are two subtabs at the top, Incidents and Activity Log (selected). Below the tabs is the Comment text entry field, with an Add Comment button on the right.

Below the text entry field is a table of comments. The table has 4 columns. The columns are labeled (from left to right): User, Action, Description, and Timestamp. There are 4 rows in the table. Each row has the following values (in order from User to Timestamp):

End of description.

PK\PK1@+OEBPS/img_text/alerts_with_metrics1_new.htm\ Description of the illustration alerts_with_metrics1_new.gif

This screenshot shows the Alerts section of the home page. Above the table of Alerts is a Category list, a Go button, and a display of Critical and Warning alerts. The Category list has the value All selected. The alert summary indicates there is 1 critical alert and 4 warnings.

The Alerts table has 6 columns and 5 rows. The column names are (from left to right): Severity, Category, Name, Impact, Message, and Alert Triggered. The rows in the table contain the following values (listed in order from left to right for each row):

End of description.

PK/Ua\PK1@(OEBPS/img_text/reccomend_details_new.htmU Description of the illustration reccomend_details_new.gif

This screenshot shows the Segment Advisor Recommendation Details for Tablespace: TEST_ASSM_NEW page. The introductory text on the page states "Oracle uses the Automatic Segment Advisor job to detect segment issues regularly within maintenance windows. The following table contains the reclaimable space information for the evaluated segments in the selected tablespace. The recommendations come from the most recent runs of automatic and user-scheduled segment advisor jobs. Oracle recommends shrinking, reorganizing or compressing these segments to release unused space. Select the segment to implement the recommendation."

Below the introductory text, on the left-hand side are 3 fields: Schema text entry field (followed by a Search icon (a picture of a flashlight), Segment text entry field, and Partition text entry field. On the right-hand side of the page are 2 additional fields, and a Search button. The fields are the Recommendation drop-down list, with the value All Types currently displayed, and Minimum Reclaimable Space (MB) text entry field.

The recommendations are displayed in a table. At the top of the table are 3 buttons: Shrink, Reorganize (disabled), and Compress (disabled). Below these buttons are two hyperlinks: Select All and Select None. The table has 9 columns. They are labeled, from left to right: Select, Schema, Segment, Recommendation, Reclaimable Space (MB), Allocated Space (MB), Used Space (MB), and Segment Type. There are 3 rows in the table shown in the screenshot. Each row, list from top to bottom, contains the following values, listed from left to right:

End of description.

PKeFZ U PK1@'OEBPS/img_text/auto_maint_tasks_new.htmU Description of the illustration auto_maint_tasks_new.gif

This is a screenshot of the Automated Maintenance Tasks page. At the top of the page on the left-hand side, there is a Status display (currently showing Enabled) and a Configure button. Below the status is text which reads "Tip: If the status is Disabled, there are no future windows." At the top of the page on the right-hand side is a Begin Date field (currently showing Sep 9, 2009), a calendar icon button, an Interval list (currently showing 7 Days), and a Go button.

In the middle of the page is a table with two columns. The first column is labeled Task Name and the second column is labeled Time. There are 3 rows corresponding to the tasks Optimizer Statistics Gathering, Segment Advisor (hyperlinked), and Automatic SQL Tuning (yperlinked). The Time column for each row shows a bar chart where each bar segment represents a window of execution for that task. At the bottom of the chart is a timeline that measures the hours of the day, starting with 9 AM and having tick marks labeled with the hour every 60 minutes.

At the bottom of the screenshot is the graph legend. Time intervals colored green represent Executed Tasks, time intervals colored navy blue represent Past Windows, and time intervals colored blue represent Future Windows.

End of description.

PK9PK1@(OEBPS/img_text/auto_sqltuning_r2_new.htm Description of the illustration auto_sqltuning_r2_new.gif

The screenshot shows the Automatic SQL Tuning Result Summary page. There are four sections of this page shown in the screenshot. They are (listed in order from top to bottom) Task Status, Summary Time Period, Overall Task Statistics, and Profile Effect Statistics.

The Task Status section shows the status of the task Automatic SQL Tuning (SYS_AUTO_SQL_TUNING_TASK) as currently Enabled. Next to this status is a button labeled Configure. The next line in this section shows the status of the task Automatic Implementation of SQL Profiles as currently Disabled. Next to this status is a button labeled Configure. The last status line displayed in this section is the number of Key SQL Profiles, which is zero.

The Summary Time Period section has a Time Period list that allows you to set the time period for the data displayed in the Overall Task Statistics and Profile Effect Statistics sections. The Time Period field currently displays the value All. Next to the Time Period field are two buttons: Go and View Report. Below the Time Period field are two dates, corresponding to the Begin Date and End Date of the selected time period.

The Overall Task Statistics section starts with the following information: Execution 5, Candidate SQL 41, Distinct SQL Examined 9. There are two charts in this section. The SQL Examined Status pie chart displays the proportion of SQL Examined With Findings (8), SQL Examined Without Findings(1), and SQL Skipped Due To Errors (0). In the pie chart, SQL Examined Without Findings constitutes 89% and SQL Examined With Findings constitutes 11% of the total area.

The second chart in the Overall Task Statistics section is the Breakdown by Finding Type bar chart. This chart shows the Number of SQL statements (vertical axis) for each of the following categories (horizontal axis): SQL Profile, Index, Statistics, Restructure SQL, and Alternative Plan. The Legend for this chart indicates that green bars indicated implemented findings and blue bars represent findings that have not been implemented. All the bars in the chart shows in the screenshot are blue. The number of SQL statements for each category is: SQL Profile (2), Index (0), Statistics (8), Restructure SQL (1), and Alternative Plan (3).

The section Profile Effect Statistics contains a bar chart titled Workload Potential DB Time Benefit (seconds per week). Under the title there are two values shown: Implemented (sec), which shows 0, and Potential Benefit (sec), which shows 0. The vertical axis on the bar chart is labeled DB Time (s), with values ranging from 0 to 1.2. The horizontal axis has two categories: Implemented and Recommended. The Legend for the chart indicates that navy blue bars represent the DB Time estimate before implementing a recommendation, and light blue bars represent the DB Time estimate after implementing a recommendation. There is no data for the Implemented category. For the Recommended category, there are two values displayed: Before and After, as side-by-side bars. These bars show approximately 1 second for Before and approximately 1 second for After.

End of description.

PKz> PK1@&OEBPS/img_text/undo_management_112.htm ] Description of the illustration undo_management_112.gif

This screenshot shows the Automatic Undo Management page. The page has two subpages: General and System Activity. The General subpage is displayed. This subpage has the following three sections:

PK֌= PK1@%OEBPS/img_text/segment_reccom_new.htm_ Description of the illustration segment_reccom_new.gif

This screenshot shows the Segment Advisor Recommendations page. The recommendations are listed in a table with 8 columns. The column titles are, from left to right: Select, Tablespace, Recommendations, Tablespace Size (MB), Evaluated Space (%), Reclaimable Space (MB), Extent Management, and Segment Space Management. The table has 3 rows, for the tablespaces TEST_ASSM, TEST_MSSM_NEW, and TEST_ASSM_NEW.

The TEST_ASSM tablespace is 87.41% full and has 433.98 MB of reclaimable space. There are 4 recommendations for this tablespace. The TEST_ASSM tablespace is locally managed and uses Automatic Segment-Space Management (ASSM).

The TEST_MSSM_NEW tablespace is listed as 86.54% full with 431 MB of reclaimable space. There are 2 recommendations for this tablespace. The TEST_MSSM_NEW tablespace is locally managed and uses manual segment-space management.

The TEST_ASSM_NEW tablespace is listed as 56.58% full with 281.20 MB of reclaimable space. There are 3 recommendations for this tablespace. The TEST_ASSM_NEW tablespace is locally managed and uses ASSM.

Above the table is the View drop-down list, with the value All Recommendations currently selected. Below the drop-down list is a button labeled Recommendation Details.

End of description.

PKGPK1@OEBPS/img_text/run-addm.htmw Description of the illustration run-addm.gif

This screenshot shows the Run ADDM Page. The options described in this section appear at the top of the page. Below the options is the timeline graph. This timeline graph is similar to other ADDM timeline graphs described in other parts of this documentation, except that instead of clipboard icons below the timeline graph, there are camera icons. The graph has Active Sessions on the vertical axis, with values 0.000, 2.240, and 4.480. The horizontal axis list the hours of March 2nd to March 3rd, starting with 11 PM on March 2nd and ending with 8 PM on March 3rd, in intervals of 2 hours.

The graph charts three categories: Wait, User I/O, and CPU. Of these categories, the highest by a large margin is Wait, with a large hump between the hours 6 and 9 AM. There is also a smaller peak at 7 PM. The category CPU can barely be seen in the graph, and the category User I/O is most prominent (but only going up to a value of 1) between the hours of 6 and 9 AM.

End of description.

PK/~C|wPK1@ OEBPS/img_text/metrics_11gr2.htm* Description of the illustration metrics_11gr2.gif

This screenshot shows the All Metrics Page. It shows the date and time metrics were collected, Jun 23, 2009 12:19:28 PM PDT. The table has columns named Metrics, Thresholds, Collection Schedule, Upload Interval, and Last Upload. The first 8 rows in the table contain the following values, listed from left to right:

End of description.

PKyx5/*PK1@*OEBPS/img_text/critical_alert_home_new.htm> Description of the illustration critical_alert_home_new.gif

This screenshot shows the Alert table, which is located on the Database Home page. The table has 6 columns, labeled Severity, Category, Name, Impact, Message, and Alert Triggered. There are 4 rows shown in the table. The first two rows are critical alerts, as indicated by a red X in the Severity column. The last two rows are warnings. The values displayed for each row are, in order from top to bottom and left to right:

End of description.

PK C>PK1@ OEBPS/img_text/drilldownlink.htm0 Description of the illustration drilldownlink.gif

This image shows three field names followed by links. The names of the three fields (from top to bottom) are Host, Listener, and ASM.

The link for the Host field is dbhost.example.com. The link for the Listener field is LISTENER_dbhost.example.com. The link for the ASM field is +ASM_dbhost.example.com.

PKmxzPK1@OEBPS/img_text/admqs003.htmz Description of the illustration admqs003.gif

This diagram shows the logical, physical, and recovery-related structures of the database, and the relationships between them. Dotted horizontal lines divide the image into three sections. The top section shows logical structures, the middle section shows physical structures, and the bottom section shows recovery-related structures in the Fast Recovery Area.

The logical structures are all tablespaces. Each tablespace points to a data file or tempfile, which are physical structures. Other physical structures include a control file, the online redo log files, a server parameter file, and a password file.

The fast recovery area contains the archived redo log files, which are copies of redo log files after they are filled.

PKyzPK1@OEBPS/img_text/asm_si_11gr2.htm, Description of the illustration asm_si_11gr2.gif

This screenshot shows a series of label/value pairs, arranged vertically under the heading of General. Next to each label is either information or a hyperlink. For example, next to the label Version is the value 11.2.0.0.2, and next to the label ASM is a link to the Oracle ASM Home page.

End of description.

PKLPK1@OEBPS/img_text/edit_profile.htm? Description of the illustration edit_profile.gif

This is a screenshot of the Edit Profile page, with the Password subpage displayed. At the top of the page, going from left to right, are the following elements: an Actions list, a Go button, and three buttons labeled Show SQL, Revert, and Apply. Beneath these elements, going down the page, are a number of text fields as follows: under the heading Password, 2 fields named "Expire in (days)" (current value 180) and "Lock (days past expiration)" (current value 7); under the heading History, 2 fields named "Number of passwords to keep" (current value 'UNLIMITED') and "Number of days to keep for" (current value 'UNLIMITED'); under the heading Complexity, a field named "Complexity function" (current value NULL); and under the heading Failed Login, 2 fields named "Number of failed login attempts to lock after" (current value 10) and "Number of days to lock for" (current value 1). All fields have flashlight icons to their right.

PKWD?PK1@(OEBPS/img_text/add_object_privileges.htmA Description of the illustration add_object_privileges.gif

This is a screenshot of the Add Table Object Privileges page. At the top of the page is an empty list named Select Table Objects. This list has a flashlight icon to its right. Below this list, on the left-hand side of the page is a scrolling list of available privileges. To the right of that list is a scrolling list of selected privileges, which is empty. Between the two scrolling lists are the following buttons: Move (with an icon showing a right arrow), Move All (with an icon showing a double right arrow), Remove (with an icon showing a left arrow), and Remove All (with an icon showing a double left arrow). At the far right of the page are OK and Cancel buttons.

PK܈FAPK1@!OEBPS/img_text/hp-shutdown-r2.htm} Description of the illustration hp-shutdown-r2.gif

This screenshot shows the General heading on the Database Instance Page. It shows that this database is Up. The section has an up arrow, a Shutdown button, and a Blackout button. The information displayed in this section is the Status, the length of time the database has been started, the version of the database software, the name of the computer the database is running on, the name of listener, and the name of the Oracle ASM instance used by this database.

End of description.

PK$(PK1@#OEBPS/img_text/top_activity_new.htm b Description of the illustration top_activity_new.gif

This is a screenshot of the Top Activity page. An active sessions graph takes up the entire top half of the page. This graph measures activity for the following categories: Other, Queueing, Network, Administrative, Configuration, Commit, Application, Concurrency, System I/O, User I/O, Scheduler, and CPU + CPU Wait.

Below this chart is the Detail for Selected 5 Minute Interval section. On the left hand side of this section is a Top SQL table, which, for each statement, shows Activity percent as a horizontal bar graph. The columns in this table are Select, Activity (%), SQL ID, and SQL Type. The table is currently showing the top 10 statements, 6 of which have the SQL Type of SELECT, 1 statement has the SQL Type of CALL METHOD, 1 statement has the SQL Type of INSERT, and 2 statements have 189 for the SQL Type. All of the statements show have an activity percent value between 0.76 and 7.29%, except for the first statement, which has a percent activity of 60.58% (a SELECT statement).

On the right hand side of the Detail for Selected 5 Minute Interval section is a Top Sessions table. The table has 4 columns, named Activity (%), Session ID, QC Session ID, User Name, and Program. For each session, the table shows Activity percent as a horizontal bar graph and a numeric value. There are 10 sessions displayed in the table. The first 9 sessions in the table represent background processes (P00n, J00n, CJQ0, and LGWR). The P00n processes belong to the SH user session. The last session listed in the table is for the program oraagent.bin@racnode2.example.com (TNS V1-V3).

Both above and below the Top SQL table on the left is a drop-down list labeled Actions, with the value Schedule SQL Tuning Advisor currently selected. Next to this drop-down list is a Go button. At the top of the Top SQL table are two hyperlinks: Select All and Select None. Below the Top SQL table, on the right hand side, is the text "Total Sample Count: 1,715".

At the top of the Top Sessions table is a drop-down list labeled View, with the value Top Sessions currently selected. Above the Top Sessions table, on the right hand side, is a button labeled Run ASH Report. Below the Top Sessions table on the right hand side is the text "Total Sample Count: 1,812".

End of description.

PK\ PK1@'OEBPS/img_text/shutdown_credentials.htm# Description of the illustration shutdown_credentials.gif

This is an image of the Startup/Shutdown Credentials page. The title of the page is "Startup/Shutdown: Specify Host and Target Database Credentials." Below the title is the heading Host Credentials, followed by two text fields for entering host user name and password. Below those fields is the heading Database Credentials. Below this heading are the following fields, going from top to bottom: the two text fields Username and Password; a Database field, which shows the instance ID (currently shown as orcl); a Connect As drop-down list, currently showing SYSDBA; and a check box entitled Save as Preferred Credentials. There is an informational note beneath the check box that states "Note that you need to login to the database as SYSDBA or SYSOPER in order to change the status of the database."

At the bottom right of the page are two buttons: Cancel and OK.

End of description.

PK_(#PK1@'OEBPS/img_text/asm_admin_page_11gr2.htm Description of the illustration asm_admin_page_11gr2.gif

This screenshot shows a table of the disk groups managed by the Oracle ASM instance. For each disk group, the following information is shown: name, state (for example, mounted), redundancy level (normal, high, or external), size, space used (both as a number and as a horizontal bar graph), usable free, and member disks (which is a number, showing how many disks are in the disk group).

There are a number of buttons in this screenshot: Create, Mount All, Dismount All, Mount, Dismount, Rebalance, Check, and Delete.

In this screenshot there are 2 disk groups displayed: DATA and RECOVERY:

End of description.

PKEy[PK1@ OEBPS/img_text/storageheadr2.htm Description of the illustration storageheadr2.gif

This image shows the Storage section of the Database Administration home page. The links under this heading are Control Files, Tablespaces, Temporary Tablespace Groups, Datafiles, Rollback Segments, Redo Log Groups, Archive Logs, Disk Groups, Migrate to ASM, and Make Tablespace Locally Managed. Some of these database storage structures are described in the text.

PKh PK1@OEBPS/img_text/create_index.htmm Description of the illustration create_index.gif

This screenshot displays the Create Index page. At the top right-hand corner of the page are four buttons, ordered from left to right: Show SQL, Schedule Job, Cancel, and OK. Beneath the buttons, a row of links goes horizontally across the page. Each is the title of a subpage, where each subpage contains different administrative functions. The subpage titles are: General, Storage, Options, Partitions, and Statistics. The General subpage is currently displayed. Beneath the row of links are three fields ordered from top to bottom: Name, Schema (currently showing as SH), and Tablespace (currently showing as <Default>). To the right of the Tablespace field is a Estimate Index size button. Below the Tablespace is "Index Type" label, followed to the right by two options: Standard - B-tree and Bitmap. Below the label is the Indexed Table Object section.

The Indexed Table Object section contains the following, ordered from top to bottom:

PK; rmPK1@*OEBPS/img_text/auto_sqltuning_settings.htmU Description of the illustration auto_sqltuning_settings.gif

The screenshot shows the Automatic SQL Tuning Settings page. There are three buttons on the right-hand side of the page, near the top. In order, from left to right, they are Show SQL, Revert, and Apply.

Below the title there are four modifiable settings. The first setting is Maximum Time Spent Per SQL During Tuning (sec), followed by text field for input, which currently shows the value 1200. The second setting is Automatic Implementation of SQL Profiles, followed by two options, Yes (selected) and No. The third setting is Maximum SQL Profiles Implemented Per Execution, followed by a text input field, which currently shows the value 20. The fourth setting is Maximum SQL Profiles Implemented (Overall), followed by a text input field, which currently shows the value 10000.

At the bottom of the screenshot, on the left-hand side, is the statement "TIP You need to login as SYS to make the change."

End of description.

PK%+|ZUPK1@OEBPS/img_text/hr_tables.htm  Description of the illustration hr_tables.gif

This screenshot shows the Tables page. To the top right corner of the page is the Recycle Bin button. Below the Recycle Bin button is the Object Type list (currently showing Table as the Object Type). The Search section contains two fields, ordered from top to bottom: Schema (currently showing as HR) and Object Name. Beneath the Object Name field is a Go button. Below the Go button, there are some instructions. Below the instructions is a list for Selection Mode (currently showing as Single). To the right-hand corner of the Selection Mode is a Create button. Below the Selection Mode list, the following buttons are arranged horizontally from left to right: Edit, View, and Delete with Options. To the right of the Delete with Options button is a Actions list (currently showing as Create Like). To the right of the Actions list is a Go button. Below the buttons is a search results table. The table contains the following columns, ordered from left to right: Select, Schema, Table Name, Tablespace, Partitioned, Rows, and Last Analyzed. There are seven rows displayed. To the right hand corner of the table is the Recycle Bin button.

PK PK1@OEBPS/img_text/init_params.htmq Description of the illustration init_params.gif

This image is a screenshot of the Initialization Parameters page. At the top right of the page are Show SQL, Revert, and Apply buttons. Below the buttons is the informational text that states "You are not logged on with SYSDBA privilege. Only controls for dynamic parameters are editable." Below this text there are two links going from left to right that display the two subpages: "Current" and "SPFile". The Current subpage is displayed by default.

At the top of the Current subpage, is the descriptive text "The parameter values listed here are currently used by the running instance(s)." Beneath this text, going from left to right, are a Name text field and 4 drop-down lists (Basic, Modified, Dynamic, and Category) that enable you to search for initialization parameters and reduce the number of parameters shown in the table below. In the screenshot, the Name text field is empty, and each drop-down list displays the value All. To the right of the drop-down lists is a Go button. Below the search fields is a check box labeled "Apply changes in current running instance(s) mode to SPFile. For static parameters, you must restart the database."

Below the check box is a table of initialization parameters. The table columns shown in this screenshot are: Name, Help, Revisions, Value, Comments, and Type. Under the Help column, each row has the same icon that you can click to display additional information for that parameter. The Value field is an enterable text field for some rows and read-only text for other rows. This screenshot shows 6 rows in the table: audit_file_dest, audit_trail, diagnostic_dest, dispatchers, spfile, and compatible. All rows have the value "String" in the Type column and no value in the Comments column.

End of description.

PKo@bPK1@!OEBPS/img_text/mem_param_auto.htmp Description of the illustration mem_param_auto.gif

This is a screenshot of the Memory Parameters page when automatic memory management is enabled. At the top right-hand corner of the page are the page refresh date and time, a Refresh button, and then three action buttons: Show SQL, Revert, and Apply. Beneath these buttons, at the left-hand side of the page, are the following three fields, aligned vertically: the read-only field Automatic Memory Management, with a current value of "Enabled", the Total Memory Size field, with a current value of 520 MB, and the Maximum Memory Size field, with a current value of 520 MB. To the right of the Automatic Memory Management field is a Disable button. To the right of the Total Memory Size field is an Advice button.

Beneath this field is the Allocation History section, which contains a chart showing the sizes of the aggregated PGA and SGA over the past 24 hours. The vertical axis charts the Size (MB) and the horizontal axis charts the time of day.

End of description.

PKoeupPK1@!OEBPS/img_text/view_employees.htm; Description of the illustration view_employees.gif

This screenshot shows the View Data for Table page. At the top right-hand corner of the page are two buttons, oriented from left to right: Refine Query and OK. Below the buttons, aligned with the left-hand side of the page, is a read-only multiline text field named Query. It contains a SQL query. Below this field is a table that shows the data in the EMPLOYEES table. Only a subset of EMPLOYEE columns are shown. They are, from left to right: EMPLOYEE_ID, FIRST_NAME, LAST_NAME, EMAIL , PHONE_NUMBER, HIRE_DATE , JOB_ID, and SALARY. Six rows are shown.

PKڱPK1@*OEBPS/img_text/create_disk_group_11gr2.htm* Description of the illustration create_disk_group_11gr2.gif

This screenshot includes fields and options that enable you to define a disk group. Included is a table of disks. For each disk, the following fields are included: disk path, header status, library, label, ASM disk name, size, size unit, failure group, and a force option. A checkbox to the left of each disk enables you to include the disk in the disk group being created. In this screenshot, only candidate disks are displayed (disks with header status of FORMER and CANDIDATE). A Select Member Disks list enables you to display all discovered disks. Above the table of disks are these fields, arranged vertically: Name, Redundancy (a group of three horizontally arranged radio buttons named HIGH, NORMAL, and EXTERNAL) and Allocation Unit (MB), which is currently set to the value 1. Underneath the Allocation Unit field is the following descriptive text: "An allocation unit (AU) is the fundamental unit in which contiguous disk space is allocated to ASM files. ASM file extent size is a multiple of AUs. The AU size cannot be modified later."

End of description.

PKC/PK1@(OEBPS/img_text/performance_addm_page.htm- Description of the illustration performance_addm_page.gif

This is a screenshot of the ADDM page. At the top of the page is a horizontal graphical timeline of approximately the last 24 hours. The graph's vertical axis is labeled Active Sessions. Data is displayed as areas under a curve, where the areas are of three colors that represent database activities Wait, User I/O, and CPU. Beneath the horizontal axis is a horizontal series of small clipboard icons. Icons with check marks in them indicate the presence of findings. The graph currently pictured shows three peaks of activity. Beneath the largest peak, the checked clipboard icon is of a darker color than the others, indicating that the findings in the ADDM Performance Analysis section below the graph pertain to this period of peak activity.

The ADDM Performance Analysis section's main feature is a table of findings. The table has three columns: Impact (%), shown as a horizontal bar graph with a numeric percent figure to the right of each bar; Finding, which is a message shown as a link; and Occurrences (last 24 hrs), which shows values such as "3 out of 21". This value is also a hyperlink. There are ten findings, shown in decreasing order of impact. The Finding types are: Shared Pool Latches, Top SQL by DB Time, Undersized Shared Pool, PL/SQL Execution, I/O Throughput, Undersized Buffer Cache, Soft Parse, "Scheduler" Wait Class, Top Segments by I/O, and Top SQL By I/O.

End of description.

PK2-PK1@'OEBPS/img_text/manage_backups_11gr2.htmw Description of the illustration manage_backups_11gr2.gif

This screenshot shows the Manage Current Backups page in Enterprise Manager. At the top of the page are four buttons, ordered from left to right: Catalog Additional Files, Crosscheck All, Delete All Obsolete, and Delete All Expired. Beneath the buttons, a row of links goes horizontally across the page. Each is the title of a subpage, where each subpage contains different administrative functions. The subpage titles are Backup Sets and Image Copies. The Backup Sets subpage is currently displayed.

Beneath the subpage links are the various sections of the Backup Sets subpage. The Search section contains the follow controls, ordered from top to bottom: A status drop-down list (currently showing "Available"), the label "Contents" followed by four check boxes aligned horizontally across the page, and a Completion Time drop-down list (currently showing "Within a month"). To the right of the Completion time list is a Go button. The four "Contents" check boxes are the following, from left to right: Datafile, Archived Redo Log, SPFILE, and Control File.

In the Results section, the following buttons are arranged horizontally from left to right: Crosscheck, Change to Unavailable, Delete, and Validate. Below the buttons are two links: Select All and Select None. Below these links is a table of backup sets. The table contains the following columns, ordered from left to right: Select, Key, Tag, Completion Time, Contents, Device Type, Status, Keep, and Pieces. There are six rows displayed.

PKiC6PK1@!OEBPS/img_text/asm_home_11gr2.htm' Description of the illustration asm_home_11gr2.gif

This screenshot shows the Oracle ASM Home page in Enterprise Manager. On the left-hand side of the page is a general section, which includes information on instance name, instance status, version, Oracle home location, and more. On the right-hand side of the page is a pie chart graph, with each section representing how space is distributed in Oracle ASM (Free, Internal, or Used, where Used is represented by the instance name). A diagnostic summary section at the left displays the number of active incidents in the system. At the bottom of the page are four tables, named, from top to bottom: Serviced Databases, Serviced ASM Cluster File Systems, Other Volumes, and Alerts.

The first table lists the databases that use this Oracle ASM instance. In the screenshot it contains only one row, for the orcl instance. The second table lists the Oracle ASM Cluster File Systems associated with this Oracle ASM instance. In the screenshot this table contains the message "(No ASM Cluster File Systems)". The third table lists the other volumes associated with this Oracle ASM instance, but there are no rows in the table (No object found). The last table lists the Alerts for this Oracle ASM instance. It contains 1 severe alert which indicates the "Disk group DATA has used 92.87% of safely usable free space".

End of description.

PKd(PK1@'OEBPS/img_text/em_blackout_schedule.htmm Description of the illustration em_blackout_schedule.gif

This image shows the Create Blackout: Schedule page. The Create Blackout: Schedule page allows you to specify the time zone for scheduling the blackout, its start time, its duration, and its repeatability.

PK}RmrmPK1@(OEBPS/img_text/sqlaccess_adv_results.htmE Description of the illustration sqlaccess_adv_results.gif

The screenshot shows a portion of the Results for Task page for a SQL Access Advisor task. There are two main sections in the screenshot: Overall Workload Performance and Recommendations.

In the Overall Workload Performance, there is the text Potential for Improvement, which is preceded by an information icon. Below this are two subsections: Workload I/O Cost and Query Execution Time Improvement.

In the Workload I/O Cost section, there is a bar graph of the original workload cost and the projected new workload cost. In this screenshot, the original workload cost is 38 and the new workload cost is 22.

In the Query Execution Time Improvement section there is a bar graph illustrating how many q ueries can have improved performance, and by what factor. In this screenshot, 40% of the analyzed SQL statements would show little to no improvement and 60% of the analyzed SQL statements could potentially be improved by a factor of 6x.

In the Recommendations section, on the left-hand side, the screenshot shows that there are 3 recommendations (hyperlinked), which would require 0.039 MB to implement. There is a hyperlink titled Show Recommendation Action Counts, which is not expanded in this screenshot.

On the right-hand side of the Recommendations section, the screenshot shows that there are 5 (hyperlinked) SQL statements analyzed, based on the filters used in the SQL Access Advisor tuning task. Below this is the hyperlink Show Statement Counts, which is not expanded in this screenshot.

End of description.

PK!PK1@)OEBPS/img_text/em_blackout_properties.htm: Description of the illustration em_blackout_properties.gif

This image shows the Create Blackout: Properties page. Use the Name, Comments, and Reasons fields to provide a blackout name, comments for the blackout, and the reason for the blackout. Move any targets that you want to black out from the Available Targets list to the Selected Targets list.

PKҳPK1@-OEBPS/img_text/sql_tuning_auto_result_det.htm5 Description of the illustration sql_tuning_auto_result_det.gif

This is a screenshot of a portion of the Automatic SQL Tuning Result Details page. Its main element is a table of recommendations. The table columns shown in the screenshot are: Select, SQL Text, Parsing Schema, SQL ID, Weekly DB Time Benefit(sec), Per-Execution % Benefits, Statistics, SQL Profile, Index. The columns Statistics, SQL Profile, and Index contain check marks, indicating that this type of recommendation is made. The SQL ID column contains hyperlinks to SQL details.

An example of the data in the table is:

Above the table is a View Recommendations button and an Implement All SQL Profiles button.

End of description.

PKPK1@$OEBPS/img_text/editthreshold_11g.htm Description of the illustration editthreshold_11g.gif

This screenshot shows a portion of the Metric and Policy Settings page. At top right are Cancel and OK buttons. At top left are subpages for Metric Thresholds (currently selected) and Policy. Below the subpages is a View list, currently displaying Metrics with Thresholds.

The rest of the page is a table with columns labeled as follows:

The rows of the table are individual metrics, arranged alphabetically.

PKlPK1@%OEBPS/img_text/critical_alert_new.htm Description of the illustration critical_alert_new.gif

The screenshot shows a portion of the Incident - Generic Internal Error page. At the top of the page, on the right-hand side is the time and date of the last refresh for this page. Below the refresh timestamp is the View Data action list. This list has the value "Incident Time Window: 24 Hours" selected.

The screenshot shows two sections of this page: Problem Summary and Performance and Critical Error.

The Problem Summary section has three subsections: Problem Information, Incident Information, and Recommended Actions. The Problem Information subsection displays the following information:

The Incident Information subsection displays only two pieces of information:

Below the Incident Information subsection is the Recommended Actions subsection. There are two buttons displayed for Recommended Actions: View Problem Details and View All Problems.

In the Performance and Critical Error section there is a line graph. The vertical axis charts the number of active sessions, starting with 0 and increasing by 0.5 increments to 1.0. The horizontal axis charts the hours of the day, starting with 12:27 AM on Sep 9, 2009, and then marking every two hours up to 12 AM on Sep 10, 2009. The legend to the right of the chart indicates the green lines charts CPU, the blue line charts User I/O, and the red line charts Wait.

In the chart, all three lines are relatively flat at 0 active sessions. Below the chart is an arrow pointing to the time 12:27 on the horizontal access with a single blue dot below the arrow.

End of description.

PKaշ  PK1@ OEBPS/img_text/install_basic.htmC Description of the illustration install_basic.gif

The screenshot shows the Typical Install Configuration window. The fields in this screenshot are described in the text that follows this image.

End of description.

PKL!4HCPK1@)OEBPS/img_text/mem_current_allocation.htmi Description of the illustration mem_current_allocation.gif

This is an image of the SGA subpage of the Memory Parameters page. In addition to a link at the top that enables you to switch to the PGA subpage, this subpage contains the following sections:

PKT*WPK1@-OEBPS/img_text/diagnostic_summary_section.htm' Description of the illustration diagnostic_summary_section.gif

This is a screenshot of the Diagnostic Summary section of the Database Home page. It contains the following read-only fields, arranged from top to bottom: ADDM Findings, which shows the number of findings as a link; Period Start Time, Alert Log, which shows the date and time of the most recent ORA- error as a link; and Active Incidents, which shows the number of incidents as a link.

PK3,'PK1@OEBPS/img_text/quotas.htmA Description of the illustration quotas.gif

This is a screenshot of the Edit User: NICK page with the Quotas subpage displayed. At the top right of the page are three buttons: Show SQL, Cancel, and OK. Below the buttons, all across the page, are the tabs that select the various subpages for the Create User page. The tab Quotas is the currently selected tab. Below the tabs is a table showing the user's quotas on all tablespaces in the database. The columns of the table are named as follows: Tablespace, Quota, Value, and Unit. The table has rows for the following tablespaces: EXAMPLE, SYSAUX, SYSTEM, TEMP, UNDOTBS1, and USERS. In the Tablespace column, the USERS tablespace has the word (Default) next to the tablespace name.

PKFAPK1@#OEBPS/img_text/back_strat_11gr1.htm< Description of the illustration back_strat_11gr1.gif

This screenshot shows the Schedule Backup page in Database Control. On the left-hand side of the page are two sections, arranged one above the other: Oracle-Suggested Backup and Customized Backup. The Oracle Suggested Backup section gives information about scheduling a backup using Oracle's automated backup strategy. It has a Schedule Oracle-Suggested Backup button. The Customized Backup section provides options to select the objects that you would like to back up and has a Schedule Customized Backup button.

The options available in the Customized Backup section are:

On the right-hand side is the information box which gives information about two Backup Strategies. They are:

End of description.

PKqWA<PK1@!OEBPS/img_text/sga-sizeadvice.htmd Description of the illustration sga-sizeadvice.gif

This screenshot shows the SGA Size Advice page. It is a graph that plots Improvement in DB Time (%) on the vertical axis and Total SGA Size (MB) on the horizontal axis. The legend for the graph contains the following:

The vertical axis is marked with numbers from -80 to 10, in intervals of 10. The horizontal axis is marked with numbers from 100 to 800 in intervals of 100. In the graph, there is a blue line that starts at approximately (180, -74) and arcs upwards to approximately (440, 6), after which it becomes a horizontal line. There are two straight lines that intersect this curve. The first line is horizontal, and intersects the curve at approximately (0, 350). The second line is vertical, and intersects the curve at approximately (0, 350). There is a X at this point.

Below the graph is a line which states "Total SGA Size (MB) 352". Below this line is the following paragraph: "You can click on the curve in the graph to set a new value. Total SGA Size cannot be greater than the SGA Max Size. First modify the Max SGA Size (from the parent page) and then select a value of SGA up to the Max SGA size."

At the bottom of the screenshot, on the right-hand side are two buttons: Cancel and OK.

End of description.

PK_PK1@OEBPS/img_text/users_page.htmf Description of the illustration users_page.gif

This screenshot of the Users page has the following components, starting from the top of the page and moving down: An Object Type list at the right that enables you to switch between the Roles, Users, Profiles, and Directory Objects pages; a Search section with which you can filter the contents of the table of user names below; a Selection Mode list with which you choose whether you want to be able select one or multiple users to operate on; Create, Edit, View, and Delete buttons, with an Actions list to the right of the buttons and a Go button to the right of the Actions list, which is a list of actions that you can perform on users; a page navigation list that shows the sequence numbers of the currently displayed group of users (for example 1-25) and enables you to pick the next group of users (for example, 26-50); a Next link that gives you another way to view the next group (page) of users; and finally, a table of current users. The table contains a Select column at the left (which displays either radio buttons or check boxes, depending on the setting of the Selection Mode list), and the following additional columns: UserName, Account Status, Expiration Date, Default Tablespace, Temporary Tablespace, Profile, Created, and User Type.

End of description.

PKy4PK1@"OEBPS/img_text/hp_relatedlinks.htm< Description of the illustration hp_relatedlinks.gif

This image shows the Related Links section of the Database Home page. It contains a number of links. The links are arranged in three columns. Each column has six or more links.

The links in the left column are Access, Alert History, Baseline Metric Thresholds, Jobs, Monitoring Configuration, Scheduler Central, and User-Defined Metrics.

The links in the middle column are Add Exadata Cell Targets, Alert Log Contents, Blackouts, Metric and Policy Settings, Monitor in Memory Access, Mode, and SQL Worksheet.

The links in the right column are Advisor Central, All Metrics, EM SQL History, Metric Collection Errors, Policy Groups, and Target Properties.

PKA<PK1@$OEBPS/img_text/create_tablespace.htmx Description of the illustration create_tablespace.gif

This is a screenshot of the Create Tablespace page. At the top right-hand corner of the page are three buttons: Show SQL, Cancel, and OK. Below the buttons, at the left-hand side of the page, are two links that you can click to display the two property pages, General and Storage. The General property page is currently displayed. Below the links is a text field for the tablespace name. Below this are the following three sections, going across the page from left to right:

Below these sections is a Datafile section that occupies the entire bottom of the page. It includes the following elements:

PK<3}xPK1@ OEBPS/img_text/mem_param_pga.htm~ Description of the illustration mem_param_pga.gif

This screenshot shows the PGA subpage of the Memory Parameters page. It contains the following fields, arranged vertically at the left-hand side of the page: Aggregate PGA Target (with a current value of 188 MB), Current PGA Allocated (with a current read-only value of 99285 KB), Maximum PGA Allocated (since startup) (with a current read-only value of 136450 KB), and Cache Hit Percentage (with a current value of 100%). To the right of the Aggregate PGA Target field is an Advice button.

Below these fields is a PGA Memory Usage Details button. Below this button is a tip that reads as follows: The sum of PGA and SGA should be less than the total system memory minus memory required by the operating system and other applications.

PK^~PK1@OEBPS/img_text/admqs006.htmc Description of the illustration admqs006.gif

This image is an illustration of the typical workflow for investigating, reporting, and resolving a problem. The workflow tasks (1–6) are described in the text following this image. Each task is represented by an oval. In each oval is a task number, task name, and an icon that indicates the activity for the task. (For example, for Task 6, the Close Incidents task, there is an image of a door closing.) The task ovals are arranged in a circle with arrows pointing from one task to another.

End of description.

PK`PK1@&OEBPS/img_text/review_repair_11gr1.htmO Description of the illustration review_repair_11gr1.gif

This screenshot shows the Review page. At the top of the page is a message that the Data Recovery Advisor generated recovery advice of: NO DATA LOSS. To the right of the message are two buttons: Cancel and Submit Recovery Job. Below the message is a table titled Failures That Will Be Resolved. Below the explanation are details about the failures detected. Following the failure details is an RMAN script that includes the command: recover datafile 1 block 63467. Below the script are the Cancel and Submit Recovery Job buttons.

PK(SPK1@)OEBPS/img_text/auto_maint_task_config.htmM Description of the illustration auto_maint_task_config.gif

This is a screenshot of the Automated Maintenance Task Configuration page. Just below the title is the Global Status option, for which Enabled is currently selected, and Disabled is not.

The first section of the page is titled Task Settings, and is a series of options, arranged from top to bottom, that enable you to enable or disable each type of automated maintenance task: Optimizer Statistics Gathering, Segment Advisor, and Automatic SQL Tuning. There is also a Configure button for the Optimizer Statistics Gathering and Automatic SQL Tuning tasks.

The second section shown in the screenshot is the Maintenance Window Group Assignment section. It contains a table with four columns: Window (which contains the names of all current maintenance windows), Optimizer Statistics Gathering, Segment Advisor, and Automatic SQL Tuning. There are 10 rows, one for each existing maintenance window, which are named MID_MORNING_WINDOW, MID_AFTERNOON_WINDOW, MID_EVENING_WINDOW, WEDNESDAY_WINDOW, THURSDAY_WINDOW, FRIDAY_WINDOW, and so on. At the top of the other three columns are two hyperlinks: Select All and Select None. In each row of the table, the last 3 columns contain a check box, which is checked, indicating that task is enabled for that maintenance window.

Above the table to the right is an Edit Window Group button. Below the table to the right are three buttons: Show SQL, Revert, and Apply.

End of description.

PK] ?RMPK1@OEBPS/img_text/constraints.htm Description of the illustration constraints.gif

This image is a screenshot of the Edit Table page, with the Constraints subpage displayed. The Constraints subpage contains the following controls and data:

PK#zBPK1@OEBPS/img_text/tablespaces.htmu Description of the illustration tablespaces.gif

This is a screenshot of the Tablespaces page. Below the heading Tablespaces, is the Search section, which contains the Object Name search field, and a Go button.

Below the Search area is a table of tablespaces in the database. The table columns are as follows: Select, Name, Allocated, Size(MB), Space Used(MB), Allocated Space Used(%), Allocated Free Space(MB), Status, Datafiles , Type, Extent Management, and Segment Management. The Allocated Space Used(%) column shows a horizontal bar graph of space used relative to total tablespace size. The following is information about some of the other table columns:

Just above the table are three buttons, used in conjunction with the Select column: Edit, View, and Delete. To the right of the buttons is an Actions list with a Go button. The selection currently shown in the Actions list is Add Datafile. Above the buttons and Actions list, still associated with the table of tablespaces. are the following:

Below the table of tablespaces are read only text fields that show Total Allocated Size (MB), Total Used (MB) , and Total Allocated Free Space (MB) for all tablespaces.

PK}VPK1@OEBPS/img_text/create_role.htm, Description of the illustration create_role.gif

This is a screenshot of the System Privileges subpage of the Create Role page. At the top right of the page are three buttons: Show SQL, Cancel, and OK. Beneath the buttons are the following links that open the various subpages for the Create Role page: General, Roles, System Privileges, Object Privileges, and Consumer Group Privileges. Beneath the property page links is a table of system privileges assigned to this role. The table has two columns: System Privilege and Admin Option. The table has no rows yet. Just above the table at the right is an Edit List button.

PK PPK1@ OEBPS/asm.htm Administering Oracle Automatic Storage Management

A Administering Oracle Automatic Storage Management

This appendix discusses using Oracle Automatic Storage Management (Oracle ASM). Oracle ASM is Oracle's recommended storage management solution that provides an alternative to conventional volume managers, file systems, and raw devices. This chapter includes the following topics:


See Also:


About Oracle Automatic Storage Management

Oracle Automatic Storage Management (Oracle ASM) is an integrated, high-performance database file system and disk manager. You use Oracle ASM instead of an operating system file system to store your Oracle Database files and, optionally, other files.

Oracle ASM is based on the principle that the database should manage storage instead of requiring an administrator to do it. Oracle ASM eliminates the need for you to manage potentially thousands of database files.

Oracle ASM groups the disks in your storage system into one or more disk groups. You manage a small set of disk groups, and Oracle ASM automates the placement of the database files within those disk groups.

Oracle ASM provides the following benefits:

Oracle recommends that you use Oracle ASM for your database file storage, instead of raw devices or the operating system file system. However, databases can have a mixture of Oracle ASM files and non-Oracle ASM files. Oracle Enterprise Manager includes a wizard that enables you to migrate non-Oracle ASM database files to Oracle ASM.

The Oracle ASM Instance

Oracle ASM is implemented as a special kind of Oracle instance, with its own System Global Area and background processes. The Oracle ASM instance is tightly integrated with the database instance. Every server running one or more database instances that use Oracle ASM for storage has an Oracle ASM instance. In an Oracle Real Application Clusters environment, there is one Oracle ASM instance for each node, and the Oracle ASM instances communicate with each other on a peer-to-peer basis. Only one Oracle ASM instance is required for each node, regardless of the number of database instances on the node.

Administering Oracle ASM

You administer Oracle ASM with Oracle Enterprise Manager Database Control (Database Control). To administer the Oracle ASM instance and Oracle ASM disk groups, you must connect to the Oracle ASM instance as a user who has been granted the SYSASM system privilege. You can also administer Oracle ASM with Oracle Automatic Storage Management Command Line utility (ASMCMD) and SQL*Plus statements.

When you create the Oracle ASM instance either during installation or using Oracle Automatic Storage Management Configuration Assistant (ASMCA), the SYSASM is granted to the specified Oracle ASM administrator user.

Overview of Disks, Disk Groups, and Failure Groups

You configure Oracle ASM by creating disk groups that become the default location for files created in the database. The disk group type determines how Oracle ASM mirrors files. When you create a disk group, you indicate whether the disk group is a normal redundancy disk group (2-way mirroring for most files by default), a high redundancy disk group (3-way mirroring), or an external redundancy disk group (no mirroring by Oracle ASM). You use an external redundancy disk group if your storage system does mirroring at the hardware level, or if you have no need for redundant data. The default disk group type is normal redundancy.

A disk group consists of a grouping of disks that are managed as a unit. These disks are referred to as Oracle ASM disks. An Oracle ASM disk can be a disk device, a partition, or a network-attached file.

When an Oracle ASM instance starts, it automatically discovers all available Oracle ASM disks. Discovery is the process of finding all disks that were prepared for Oracle ASM by your system administrator, examining their disk headers, and determining which disks belong to disk groups and which are available for assignment to disk groups. Oracle ASM discovers disks in the paths that are listed in an initialization parameter, or if the parameter is NULL, in an operating system–dependent default path.

Failure groups define Oracle ASM disks that share a common potential failure mechanism. An example of a failure group is a set of small computer system interface (SCSI) disks sharing the same SCSI controller. Failure groups are used to determine which Oracle ASM disks to use for storing redundant copies of data. For example, if 2-way mirroring is specified for a file, then Oracle ASM automatically stores redundant copies of file extents in separate failure groups. Failure groups apply only to normal and high redundancy disk groups. You can define the failure groups in a disk group when you create or alter the disk group, or let Oracle ASM automatically place each disk into its own failure group. For most systems, the default failure groups work well to prevent data loss.


See Also:


Installing Oracle Automatic Storage Management

This documentation assumes that Oracle Automatic Storage Management (Oracle ASM) is installed and configured on your single-instance server or on your Oracle Real Application Clusters (Oracle RAC) nodes. For information about installing and initially configuring Oracle ASM, for either a single-instance database or an Oracle RAC database, see Oracle Grid Infrastructure Installation Guide for Linux.

Accessing the Oracle Automatic Storage Management Home Page

All Oracle Automatic Storage Management (Oracle ASM) administration tasks begin with the Oracle ASM Home page in Database Control. The Oracle ASM Home page displays:

Description of asm_home_11gr2.gif follows
Description of the illustration asm_home_11gr2.gif

The procedure for accessing the Oracle ASM Home page differs depending on whether your database is a single-instance database or an Oracle Real Application Clusters database. Details are provided in the following sections:

Accessing the Oracle ASM Home Page on a Single-Instance System

On a single-instance system, you access the Oracle ASM Home page starting from the Database Home page.

To access the Oracle ASM Home page on a single-instance system:

  1. Go to the Database Home page, logging in as any database user.

    See "Accessing the Database Home Page".

  2. Under the General heading, click the link next to the label ASM.

    Description of asm_si_11gr2.gif follows
    Description of the illustration asm_si_11gr2.gif

  3. If prompted for Oracle ASM login credentials, then enter the user SYS, provide the SYS password that was set for the Oracle ASM instance upon installation, and connect as SYSASM.

Accessing the Oracle ASM Home Page on an Oracle RAC System

On an Oracle RAC system, you access the Oracle ASM Home page starting from the Cluster Database Home page.

To access the Oracle ASM Home page on an Oracle RAC system:

  1. Log in to Oracle Enterprise Manager on any node that is running the Database Control OC4J instance.

    The Database Control OC4J instance is automatically started on the node where DBCA was run to create the cluster database. Depending on your configuration, the Database Control OC4J instance may also be running on other nodes.

    See "Accessing the Database Home Page".

  2. On the Cluster Database Home page, under the Instances heading, click the link for the desired Oracle ASM instance.

Monitoring Disk Group Space Usage

Using Oracle Enterprise Manager, you can monitor the total capacity of your disk groups, including the amount of unused space and the amount of unused space that can be safely utilized after taking mirroring into account.

To view Oracle Automatic Storage Management (Oracle ASM) disk group usage and free space:

  1. Go to the Oracle ASM Home page.

    See "Accessing the Oracle Automatic Storage Management Home Page".

  2. Click Disk Groups to view the Disk Groups subpage.

  3. If the Oracle ASM Login page appears, then log in as the SYS user, connecting as SYSASM. Provide the SYS password that was set when the Oracle ASM instance was created.

The Disk Groups subpage displays all disk groups with their space usage information.

Description of asm_admin_page_11gr2.gif follows
Description of the illustration asm_admin_page_11gr2.gif


Note:

The Usable Free column displays the space in gigabytes (GB) that is actually available in the disk group. It takes into account the redundancy level of the disk group, and excludes the space that the disk group reserves for restoring full redundancy for all files in the disk group after a disk failure.

Creating a Disk Group

You may want to create additional Oracle Automatic Storage Management (Oracle ASM) disk groups to do any of the following:

To create a disk group:

  1. Go to the Oracle ASM Home page.

    See "Accessing the Oracle Automatic Storage Management Home Page".

  2. Click the Disk Groups link to display the Disk Groups subpage.

  3. If the Oracle ASM Login page appears, then log in as the SYS user, connecting as SYSASM. Provide the SYS password that was set when the Oracle ASM instance was created.

  4. Click Create.

    The Create Disk Group page appears. It displays a list of Oracle ASM disks that are available to be added to a disk group. You can use the Select Member Disks drop-down list to choose whether All Disks or Only Candidate disks are displayed.

    Description of create_disk_group_11gr2.gif follows
    Description of the illustration create_disk_group_11gr2.gif

  5. Enter the disk group name, and select redundancy type (high, normal, or external).

  6. Select disks as follows:

    1. Select the check box to the left of each disk to include in the new disk group.

    2. To force the inclusion of a disk in the disk group, select the Force Reuse check box for that disk.


      Caution:

      The Force Reuse check box causes the disk to be added to the new disk group even if the disk belongs to another disk group and has valid database data. This data will be lost. You must be certain that you are selecting a disk that can legitimately be added to the disk group.

    3. Optionally enter an Oracle ASM disk name for each selected disk. (Oracle ASM provides a name if you do not.)

  7. Click OK to create the disk group.


See Also:


Dropping a Disk Group

When you drop a disk group, you delete the disk group, and all of its files. You cannot drop a disk group if any one of its database files is open. After dropping a disk group, you can add its member disks to other disk groups or use them for other purposes.

One reason to drop a disk group is to change redundancy (normal, high, or external). Because you cannot change the redundancy of a disk group, you must drop the disk group and then re-create it with the proper redundancy. In this case, you must back up or move disk group data before you drop the disk group.

To drop a disk group:

  1. Go to the Oracle ASM Home page.

    See "Accessing the Oracle Automatic Storage Management Home Page".

  2. Click the Disk Groups link to display the Disk Groups subpage.

  3. If the Oracle ASM Login page appears, then log in as the SYS user, connecting as SYSASM. Provide the SYS password that was set when the Oracle ASM instance was created.

  4. In the Select column, select the name of the disk group to drop.

  5. Click Delete.

    A confirmation page appears.

  6. To delete the disk group even if it still contains files, expand Show Advanced Options and ensure that the Including Contents option is selected.

    If the disk group contains files and the Including Contents option is not selected, then you cannot drop the disk group.

  7. On the confirmation page, click Yes.

Adding Disks to a Disk Group

You add disks to a disk group to increase the total amount of storage space in a disk group. You can add one or multiple disks in a single operation. Oracle ASM then rebalances the disk group so that data is evenly distributed on all disks, including the newly added disks.

You can specify a number to control the power of the rebalance operation. (The range of valid values depends upon the Oracle Database release you are using. See Oracle Automatic Storage Management Administrator's Guide.) The higher the number, the faster the rebalance operation completes. Lower numbers cause rebalancing to take longer, but use fewer processing and I/O resources. This leaves these resources available for the database. The default value of 1 minimizes disruption to the database. A value of 0 prevents the rebalance operation from happening. Manual or automatic rebalancing can then occur at a later time. For example, you may want to postpone rebalancing because you want to wait for a time when there are fewer demands on the database, or because you want to add more disks or drop disks later and want the rebalancing to be done only once for all disk group changes.

To add one or more disks to a disk group:

  1. Go to the Oracle ASM Home page.

    See "Accessing the Oracle Automatic Storage Management Home Page".

  2. Click the Disk Groups link to display the Disk Groups subpage.

  3. If the Oracle ASM Login page appears, then log in as the SYS user, connecting as SYSASM. Provide the SYS password that was set when the Oracle ASM instance was created.

  4. Click a link in the Name column to select the disk group to which you want to add disks.

    The Disk Group page appears, displaying a list of disks that are in the disk group.

    Description of disk_group_page_11gr2.gif follows
    Description of the illustration disk_group_page_11gr2.gif

  5. Click Add.

    The Add Disks page appears. It displays a list of Oracle ASM disks that are available to be added to the disk group. This includes disks with the header status of CANDIDATE, PROVISIONED, or FORMER.

    Description of asm_add_disks_11gr2.gif follows
    Description of the illustration asm_add_disks_11gr2.gif

  6. To display not only disks that are available to be added to a disk group, but all Oracle ASM disks, including disks that belong to a disk group (header status = MEMBER), select All Disks from the Select Member Disks list.

    The page is refreshed and now displays the complete list of Oracle ASM disks that were discovered by the Oracle ASM instance.

  7. Optionally change the rebalance power by selecting from the Rebalance Power list.

  8. Select disks as follows:

    1. Select the check box to the left of each disk to add to the disk group.

    2. To force the inclusion of a disk in the disk group, select the Force Usage check box at the right.


      Caution:

      The Force Usage check box causes the disk to be added to the disk group even if the disk belongs to another disk group and has valid database data. This data will be lost. You must be certain that you are selecting a disk that can legitimately be added to the disk group.

    3. Optionally enter an Oracle ASM disk name for each disk. (Oracle ASM provides a name if you do not.)

  9. Click OK to add the selected disks.


See Also:


Dropping Disks from a Disk Group

When you drop a disk from the disk group, the disk group is rebalanced by moving all of the file extents from the dropped disk to other disks in the disk group. Oracle ASM then releases the disk, and you can then add it to another disk group or use it for other purposes. You can drop one or multiple disks in a single operation. You #can also optionally set rebalance power for the drop operation.

The following is a list of possible reasons for dropping a disk:


Note:

Dropping disks from a disk group only logically deletes the disks from the disk group. It does not delete the disk contents. However, the contents are lost when you add the disk to a new disk group.

To drop one or more disks from a disk group:

  1. Go to the Oracle ASM Home page.

    See "Accessing the Oracle Automatic Storage Management Home Page".

  2. Click the Disk Groups link to display the Disk Groups subpage.

  3. If the Oracle ASM Login page appears, then log in as the SYS user, connecting as SYSASM. Provide the SYS password that was set when the Oracle ASM instance was created.

  4. Click a link in the Name column to select the disk group from which you want to drop disks.

    The Disk Group page appears.

  5. Under the Member Disks heading, in the Select column, select the check boxes for the disks to drop, and then click Remove.

    A confirmation page appears.

  6. To change rebalance power, or to set the FORCE option for dropping disks, do the following:

    1. Expand Show Advanced Options.

    2. Optionally select the Force option or select a value for rebalance power in the Rebalance Power list.


    Note:

    You may need the FORCE option if Oracle ASM cannot read from or write to the disk.

  7. Click Yes to drop the disks.

    The Disk Group page returns, and displays a state of DROPPING for each disk being dropped.

  8. Refresh the page until the dropped disks no longer appear in the disk group.


Caution:

You cannot reuse or disconnect the dropped disks until the drop and rebalance operations are complete—that is, until the dropped disks no longer appear in the disk group.

Backing Up Oracle ASM-Managed Files

Oracle recommends that you use Recovery Manager (RMAN) to back up files managed by Oracle ASM. See Chapter 9, "Performing Backup and Recovery" for the information about using RMAN for performing backups.

Oracle Automatic Storage Management: Oracle By Example Series

Oracle By Example (OBE) has a series on the Oracle Database 2 Day DBA guide. This OBE steps you through the tasks in this appendix and includes annotated screenshots.

To view the Oracle Automatic Storage Management OBE, in your browser, enter the following URL:

http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/2day_dba/asm/asm.htm
PKFPܖPK1@OEBPS/montune.htm Monitoring and Tuning the Database

10 Monitoring and Tuning the Database

Monitoring the performance of a database and ensuring that it performs optimally is an important task for a database administrator. This chapter discusses the features and functions included in Oracle Database that make it easy to monitor database health, identify performance problems, and implement any corrective actions.

This chapter contains the following topics:

Proactive Database Monitoring

Oracle Database makes it easy to monitor the health and performance of your database. It monitors the vital signs (or metrics) related to database health and performance, analyzes the workload running against the database, and automatically identifies any issues that need your attention as an administrator. The identified issues are presented as alerts and performance findings on the Database Home page. You can also configure Oracle Enterprise Manager Database Control (Database Control) to notify you of issues by e-mail.

This section discusses the following topics:

About Alerts

Alerts help you monitor your database. Most alerts notify you of when particular metric thresholds are exceeded. For each alert, you can set critical and warning threshold values. These threshold values are meant to be boundary values that when exceeded, indicate that the system is in an undesirable state. For example, when a tablespace becomes 97 percent full, this can be considered undesirable, and Oracle Database generates a critical alert.

Other alerts correspond to database events such as Snapshot Too Old or Resumable Session suspended. These types of alerts indicate that the event has occurred.

In addition to notification, you can set alerts to perform some action such as running a script. For instance, scripts that shrink tablespace objects can be useful for a Tablespace Usage warning alert.

By default, Oracle Database issues several alerts, including the following:

  • Archive Area Used (warning at 80 percent full)

  • Broken Job Count and Failed Job Count (warning when goes above 0)

  • Current Open Cursors Count (warning when goes above 1200)

  • Dump Area Used (warning at 95 percent full)

  • Session Limit Usage (warning at 90 percent, critical at 97 percent)

  • Tablespace Space Used (warning at 85 percent full, critical at 97 percent full)

You can modify these alerts and others by setting their metrics.

For more information, see "Managing Alerts".

Performance Self-Diagnostics: Automatic Database Diagnostic Monitor

Oracle Database includes a self-diagnostic engine called Automatic Database Diagnostic Monitor (ADDM). ADDM makes it possible for Oracle Database to diagnose its own performance and determine how any identified problems can be resolved.

To facilitate automatic performance diagnosis using ADDM, Oracle Database periodically collects snapshots of the database state and workload. Snapshots are sets of historical data for specific time periods that are used for performance comparisons by ADDM. The default collection interval for a snapshot is one hour. Snapshots provide a statistical summary of the state of the system at a point in time. These snapshots are stored in Automatic Workload Repository (AWR), residing in the SYSAUX tablespace. The snapshots are stored in this repository for a set time (8 days by default) before they are purged to make room for new snapshots.

ADDM analyzes data captured in AWR to determine the major problems in the system, and usually recommends solutions and quantifies expected benefits. ADDM analysis results are represented as a set of findings.

Generally, the performance problems that ADDM can call attention to include the following:

  • Resource contention (bottlenecks), such as when your database is using large amounts of CPU time or memory due to high load SQL statements

  • Poor connection management, such as when your application is making too many logins to the database

  • Lock contention in a multiuser environment, such as when one user process acquires a lock to safely update data in a table, causing other user processes that must acquire locks against the same table to wait, resulting in a slower database performance


See Also:


Monitoring General Database State and Workload

The Database Home page enables you to monitor the state and workload of your database. It provides a central place for general database state information and is updated periodically.

Description of addm_home_page_new.gif follows
Description of the illustration addm_home_page_new.gif

To monitor the general database state and workload:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. (Optional) Click the Refresh button to update the information displayed.

    By default, the Database Home page automatically refreshes every 60 seconds. You can prevent automatic refresh by selecting Manually in the View Data list at the top right-hand corner of the page. You must then click Refresh to view the latest information.

    The date and time that data was last collected from the database is displayed to the left of the Refresh button.

  3. Get a quick overview of the database state in the General section, which includes the following information:

    • Status of the database instance, Up or Down

      Click the Status link to drill down to database availability details.

    • Time the database was last started

    • Instance name

    • Oracle Database version

    • Host name

      Click the Host link to drill down to host details.

    • Listener name

      Click the Listener link to drill down to listener details.

    Click View All Properties to see the Oracle home path and whether the database is read-only or read/write.

  4. View CPU utilization in the Host CPU section, which includes the following information:

    • Bar chart

      This chart shows the percentage of CPU time used by the database and other processes. The chart legend contains links for the database instance and for other CPU processes.

      Click the Other link in the chart legend to see how the utilization of CPU, memory, and disk I/O change over time.

      Click the instance name link in the chart legend to see the Top Activity page. It includes a graph of active sessions over time, details about SQL statements issued, and the most active sessions.

    • CPU load

      This is the average number of processes waiting to be scheduled for the CPU in the previous minute.

      Click the Load link to see how the utilization of CPU, memory, and disk I/O change over time.

    • Paging

      This is the number of memory pages (fixed-length block of instructions, data, or both) that are paged out (moved out of active memory) each second.

      Click the Paging link to see how the utilization of CPU, memory, and disk I/O change over time.

  5. Investigate the Active Sessions section, where you can further explore the cause of performance problems, such as your database taking up most of the CPU time on the server. This section displays a bar graph with the following information:

    • Waits

      This is the value for all wait classes combined, excluding user I/O and idle wait events. Wait classes are groupings of wait events based on the type of wait.

      If other processes are taking up most of your CPU time, then this indicates that some other application running on the database host computer could be causing performance problems.

      Click the Wait link to go to the Performance page to view potential problems inside and outside the database.

    • User I/O

      This is the average number of active sessions waiting for user I/O. User I/O means that the workload originating from the user causes the database to read data from disk or write data to disk.

      Click the User I/O link to go to the Performance page to view potential problems inside and outside the database.

    • CPU

      This is the average active sessions using CPU.

      Click the CPU link to see a chart showing more detailed information about active sessions over time.

  6. View the Diagnostic Summary section, which includes the following information:

    • ADDM Findings

      This shows the count of ADDM findings from the most recent ADDM run. Click the number adjacent to the ADDM Findings link to go to the ADDM page.

    • Period Start Time

      This is the start time of the time period most recently analyzed by ADDM. It is shown only if there are ADDM findings.

    • Alert Log

      This is the timestamp of the most recent alert log entry that describes an ORA- error.

      Click the Alert Log link to go to the Alert Log Errors page, which shows a list of log entries that contain errors.

    • Active Incidents

      This shows the count of active incidents, which are occurrences of critical errors in the database. You are encouraged to investigate critical errors and report them to Oracle Support Services. Click the count to go to the Support Workbench home page.

    • Database Instance Health

      Click Database Instance Health to display the Database Instance Health page, which includes graphical timelines of incidents, ADDM findings, and alerts. You can use these graphs for identifying correlations between incidents and alerts generated and performance issues on the system.

  7. View the SQL Response Time section.

    This is the current response time of a tracked set of SQL statements as compared to the response time for the reference collection. A reference collection, or SQL Tuning Set, is set of SQL statements that represents the typical SQL workload on your production system. If the current response time and reference collection response time are equal, then the system is running as it should. If the current response time is greater than the reference collection response time, then one or more SQL statements are performing more slowly than they should. The lower the current response time, the more efficiently the tracked SQL statements run.

    Click the SQL Response Time link to see response time metrics for the previous 24 hours. If the reference collection is empty, then click Reset Reference Collection to go to a page where you can create a reference collection.

  8. View the Space Summary section.

    If the number adjacent to the Segment Advisor Recommendations label is not zero, then it means the Segment Advisor has identified candidate segments for space defragmentation. Click the number to view recommendations for how to defragment these segments.

  9. View the Alerts section, which includes the following items:

    • Category list

      Optionally choose a category from the list to view alerts only in that category.

    • Critical

      This is the number of metrics that have exceeded critical thresholds plus the number of other critical alerts, such as those caused by incidents (critical errors).

    • Warning

      This is the number of metrics that have exceeded warning thresholds.

    • Alerts table

      Click the message to learn more about the alert.

  10. View the ADDM Performance Analysis section, if present. This section contains the following items:

    • Period Start Time

      This is the start time of the period most recently analyzed by ADDM.

    • Period Duration in minutes

      This is the duration of the period most recently analyzed by ADDM.

    • Instance name

    • ADDM findings table

      This table lists the ADDM findings, their estimated impact on database performance, a description of the finding, and the number of times the finding occurred in snapshots collected during the previous 24 hours. For example, a finding with Occurrences listed as 34 of 43 has occurred in 34 of the last 43 snapshots.

    Click the finding to view finding details, to view recommendations, and in some cases to implement recommendations or start advisors.

    Description of perfanalysishpcr.gif follows
    Description of the illustration perfanalysishpcr.gif

To view database performance over time:

  1. At the top of the Database Home page, click Performance.

    The Performance page appears, displaying a summary of CPU utilization, average active sessions, instance disk I/O, and instance throughput for the recent time period.

  2. Use the Additional monitoring links to drill down to Top Activity and other data.

The types of actions you can take to improve host performance depends on your system, and can include eliminating unnecessary processes, adding memory, or adding CPUs.

Managing Alerts

The following topics describe how to manage alerts:

Viewing Metrics and Thresholds

To effectively diagnose performance problems, statistics must be available. Oracle generates many types of cumulative statistics for the system, sessions, and individual SQL statements. Oracle also tracks cumulative statistics on segments and services. A metric is defined as the rate of change in some cumulative statistic. Metrics are computed and stored in Automatic Workload Repository, and are displayed on the All Metrics page, which can be viewed by clicking All Metrics under Related Links on the Database Home page.

To view metrics for your database:

  1. On the Database Home page under Related Links, click All Metrics.

    The All Metrics page appears.

  2. Click a specific metric link.

    A details page appears, with more information about the metric. Online Help for this page describes the metric.

Description of metrics_11gr2.gif follows
Description of the illustration metrics_11gr2.gif

For each of these metrics, you are able to define warning and critical threshold values, and whenever the threshold is exceeded, Oracle Database issues an alert. Alerts are displayed on the Database Home page under the Alerts heading (or Related Alerts for nondatabase alerts such as a component of Oracle Net).

The following sample output shows two warning alerts for the threshold Tablespace Space Used.

Description of alerts_with_metrics1_new.gif follows
Description of the illustration alerts_with_metrics1_new.gif

Setting thresholds is discussed in "Setting Metric Thresholds". Actions you might take to respond to alerts are discussed in "About Responding to Alerts".

When the condition that triggered the alert is resolved and the metric value is no longer outside the boundary, Oracle Database clears the alert. Metrics are important for measuring the health of the database and serve as input for self-tuning and recommendations made by Oracle Database advisors.

Setting Metric Thresholds

Oracle Database provides a set of predefined metrics, some of which have predefined thresholds. There may be times when you want to set thresholds for other metrics, or you want to alter existing threshold settings.

"Changing Space Usage Alert Thresholds for a Tablespace" describes one means of setting a threshold, where you set warning and critical thresholds on the amount of space consumed in a tablespace. A more general means of setting thresholds is available using the Edit Thresholds page.

To set metric thresholds:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. Under the Related Links heading, click Metric and Policy Settings.

    The Metric and Policy Settings page appears.

    This page displays the existing thresholds for metrics and any response actions that have been specified.

    This is an image of the Edit Thresholds page.
    Description of the illustration editthreshold_11g.gif

  3. In the View list, do one of the following:

    • Select Metrics with thresholds to view only those metrics with thresholds, either predefined by Oracle or previously set by you.

    • Select All Metrics to view all metrics, whether they have thresholds defined.

  4. To set or modify a warning threshold for a particular metric, enter the value you want in the Warning Threshold field for that metric.

  5. To set or modify a critical threshold for a particular metric, enter the value you want in the Critical Threshold field for that metric.

  6. To disable or reenable metric collection for a particular metric, or to change its collection schedule, complete the following steps:

    1. Click the Collection Schedule link for the metric.

      The Edit Collection Settings page for that metric appears.

    2. Click Disable to disable collection for this metric, or click Enable to enable it.

    3. If you chose Enable, then you must choose the Frequency Type for the Collection Schedule and enter a numeric value in the Repeat Every field.

      If you chose Disable, then skip this step.

    4. Do one of the following:

      • Click Continue to save your choices and return to the Metric and Policy Settings page.

      • Click Cancel to return to the Metric and Policy Settings page without saving your choices.

  7. Click a single-pencil icon to use the Edit Advanced Settings page to make changes to Corrective Actions, (Monitoring) Template Override, and Advanced Threshold Settings. Click Help on this page for more information about these options.

  8. Click a triple-pencil icon to set different threshold values for different instances of the object type being measured.

    For example, for each tablespace you can set different warning and critical levels for the Tablespace Space Used metric.

  9. Do one of the following:

    • Click OK to save your changes and return to the Database Home page.

    • Click Cancel to return to the Database Home page without saving your changes.

About Responding to Alerts

When you receive an alert, follow any recommendations it provides, or consider running ADDM or another advisor, as appropriate, to get more detailed diagnostics of system or object activity.

For example, if you receive a Tablespace Space Usage alert, then you might take a corrective measure by running the Segment Advisor on the tablespace to identify possible objects for shrinking. You can then shrink the objects to create available (free) space. See "Reclaiming Unused Space".

Additionally, as a response, you can set a corrective script to run as described in "Setting Metric Thresholds".

Clearing Alerts

Most alerts are cleared (removed) automatically when the cause of the problem disappears. Other alerts, such as Generic Alert Log Error, are sent to you for notification and must be acknowledged by the database administrator.

After taking the necessary corrective measures, you can acknowledge an alert by clearing or purging it. Clearing an alert sends the alert to the Alert History, which can be viewed from the Database Home page under Related Links. Purging an alert removes it from the Alert History.

To clear or purge an alert:

  1. On the Database Home page under Diagnostic Summary, click the Alert Log link.

    The Alert Log Errors page appears.

  2. From the View Data list, select the period for which you want information.

  3. Click Refresh to refresh the page with the latest information.

  4. Do one of the following:

    • Click Show Open Alerts to hide alerts that have been cleared.

    • Click Show Open and Cleared Alerts to see all alerts.


    Note:

    You will see only one or the other of these buttons, depending on what is currently displayed.

  5. Select one or more alerts by clicking their Select options.

  6. Click Clear to clear the alert.

  7. Click Purge to purge the alert.

  8. Click Clear Every Open Alert to clear all open alerts.

  9. Click Purge Every Alert to purge all alerts.

Setting Up Direct Alert Notification

Database Control displays all alerts on the Database Home page. However, you can optionally specify that Database Control provide you direct notification when specific alerts arise. For example, if you choose e-mail notification for critical alerts, and you have a critical threshold set for the system response time for each call metric, then you might be sent an e-mail message similar to the following:

Host Name=mydb.us.example.com
Metric=Response Time per Call
Timestamp=08-NOV-2006 10:10:01 (GMT -7:00)
Severity=Critical
Message=Response time per call has exceeded the threshold. See the
latest ADDM analysis.
Rule Name=
Rule Owner=SYSMAN

The e-mail message contains a link to the host name and the latest ADDM analysis.

By default, alerts in critical state such as DB Down, Generic Alert Log Error Status, and Tablespace Space Used are set up for notification. However, to receive these notifications, you must set up your e-mail information.

To set up your e-mail information:

  1. From any Database Control page, click the Setup link, which is visible in the header and footer areas.

  2. On the Setup page, select Notification Methods.

  3. Enter the required information into the Mail Server section of the Notifications Methods page. Click Help at the bottom of the page for assistance.

    There are other methods of notification, including scripts and SNMP (Simplified Network Management Protocol) program interrupts (traps). The latter can be used to communicate with third-party applications.

    At this point, you have set up a method of notification, but you have not set up an e-mail address to receive the notification. To do so, complete the following steps.

  4. From any Database Control page, click the Preferences link, which is visible in the header and footer areas.

  5. On the Preferences page, select General. Click Add Another Row in the E-mail Addresses section to enter your e-mail address.

  6. Click Test to verify that e-mail messages can be sent using the specified information. After the test completes, click OK.

  7. (Optional) To edit notification rules, for example to change the severity state for receiving notification, select Rules under the heading Notification on the left-hand side of the page.

    The Notification Rules page appears. Click Help for more information about this page.


See Also:


Diagnosing Performance Problems Using ADDM

At times, database performance problems arise that require your diagnosis and correction. Usually, these problems are brought to your attention by Automatic Database Diagnostic Monitor (ADDM), which does a top-down system analysis every hour by default, and reports its most significant findings on the Database Home page.

This section contains the following topics:

Viewing a Summary of ADDM Performance Findings

ADDM analysis results consist of a description of each finding and a recommended action. You can view a summary of findings and their impacts on the system.

To view a summary of ADDM performance findings:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. In the Diagnostic Summary section of the Database Home page, locate the numeric link next to the ADDM Findings label.

    Description of diagnostic_summary_section.gif follows
    Description of the illustration diagnostic_summary_section.gif

    The number indicates the number of findings from the most recent ADDM run. If this number is zero, then there are no ADDM findings to investigate.

    If this number is not zero, then continue to Step 3.

  3. View the ADDM Performance Analysis section, below the Alerts section of the Database Home page.

    Problem list in ADDM analysis.
    Description of the illustration perfanalysishpcr.gif

    This section is present only if there are ADDM findings. It displays the first five findings from the most recent ADDM run. If there are more than five findings, then controls appear to enable you to view the next five findings, and so on.

  4. In the Diagnostic Summary section of the Database Home page, locate the nonzero numeric link next to the ADDM Findings label, and click it.

    The ADDM page appears, showing a summary of all findings from the most recent run, and a graphical timeline showing session activity over the past 24 hours.

    Description of performance_addm_page.gif follows
    Description of the illustration performance_addm_page.gif

    Click Help for more information about this page.

    Each clipboard icon beneath the graph represents a time range within the 24 hours. Click an icon to view findings for the ADDM run that took place during that icon's time range. If more than one ADDM run occurred during that time range, then you can select an individual ADDM run from the list that appears next to the Task Name label.

Responding to ADDM Performance Findings

You can act upon the recommendations that accompany ADDM performance findings.

To respond to ADDM performance findings:

  1. In the ADDM Performance Analysis section of either the Database Home page or the ADDM page, in the Finding column, click a finding.

    The Performance Finding Details page appears.

    Description of sqltuning_adv_2_11gr2.gif follows
    Description of the illustration sqltuning_adv_2_11gr2.gif

  2. In the Recommendations section, click Show All Details.

  3. Choose a finding to respond to, and follow the recommended action. A recommendation can include running an advisor, which you can do by clicking Run Advisor Now.

  4. (Optional) Select one or more findings, and then click the action button above the table of findings. An example of an action button might be Schedule SQL Tuning Advisor.

Running ADDM Manually

By default, Oracle Database runs ADDM every hour, immediately after an AWR snapshot. Performance findings from the most recent ADDM run, if any, are listed on the Database Home page. See "Performance Self-Diagnostics: Automatic Database Diagnostic Monitor" for more information.

You can also run ADDM manually. Reasons for doing so include running it as a recommended action associated with an alert or running it across multiple snapshots.


Note:

If you need more frequent ADDM reporting, then you can also modify the default snapshot interval. To do so, see "Modifying AWR Snapshot Frequency and Retention".

The following steps describe how to run ADDM to analyze a period that spans multiple snapshots.

To run ADDM manually:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. Under Related Links at the bottom of the page, click Advisor Central.

    The Advisor Central page appears.

  3. Click ADDM.

    The Run ADDM page appears.

    This is a screen shot of the ADDM monitoring page.
    Description of the illustration run-addm.gif

  4. Select Run ADDM to analyze past performance.

  5. Complete the following steps to choose a period start time:

    1. Select the Period Start Time option.

    2. (Optional) Examine the timeline graph and note the number of snapshots available in each 2-hour period. Each snapshot is represented by a camera icon. If your snapshots occur more frequently than once each hour and you want to view the timeline of snapshots with more precision, then click the zoom-in icon at the right. (The zoom-in icon is a magnifying glass with a plus-sign.)

    3. (Optional) Below the timeline graph, click the left-arrow icon or right-arrow icon at the left and right sides of the page to change the period shown in the timeline graph.

    4. Click a camera icon.

      A bold right arrow indicating period start time covers the camera icon, and the Period Start Time field above the timeline graph changes to the selected date and time.

  6. If you want a period end time other than the default (the most recent snapshot), then complete the following steps:

    1. Above the timeline graph, select the Period End Time option.

    2. (Optional) Click the left-arrow icon or right-arrow icon at the left and right sides of the page to change the period shown in the timeline graph.

    3. Click a camera icon.

      A bold square (like a stop button on a recording device) covers the camera icon, and the Period End Time field changes to the selected date and time.

  7. Click OK to start the analysis.

    After a short delay, the Automatic Database Diagnostic Monitor page appears, showing its findings.

  8. (Optional) In the Task Name list, note the task name.

    A typical task name is "Task_52." You can return to this analysis at a later time by searching for and selecting the task name in the Advisor Central page.

Modifying AWR Snapshot Frequency and Retention

ADDM analysis is based on AWR snapshots, which have a default frequency of once each hour and a default retention period of 8 days.


Note:

The snapshot retention period does not apply to preserved snapshots, which are retained forever. A preserved snapshot set is typically created to define a reference period for performance analysis.

You can view and alter these AWR snapshot settings.

To modify AWR snapshot frequency and retention:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to display the Server page.

  3. In the Statistics Management section, click Automatic Workload Repository.

    The Automatic Workload Repository page appears.

  4. Click Edit.

    The Edit Settings page appears.

  5. Enter new snapshot retention settings or new snapshot collections settings, and then click OK.

Using Advisors to Optimize Database Performance

Oracle Database includes a set of advisors to help you manage and tune your database. This section contains background information about these advisors and instructions for their use. The following topics are covered:

About Advisors

Advisors are powerful tools for database management. They provide specific advice on how to address key database management challenges, covering a wide range of areas including space, performance, and undo management. In general, advisors produce more comprehensive recommendations than alerts. This is because alert generation is intended to be low cost and have minimal impact on performance, whereas advisors consume more resources and perform more detailed analysis. This, along with the what-if capability of some advisors, provides vital information for tuning that cannot be procured from any other source. You run advisors from Oracle Enterprise Manager Database Control (Database Control). Some are also run automatically during maintenance windows (time periods).

Advisors are provided to help you improve database performance. These advisors include Automatic Database Diagnostic Monitor (ADDM), SQL advisors, and memory advisors. For example, the Shared Pool Advisor, graphically displays the impact on performance of changing the size of this component of the System Global Area (SGA).

You can run a performance advisor when faced with the following situations:

  • You want to resolve a problem in a specific area, for example, to determine why a given SQL statement is consuming 50 percent of CPU time and what to do to reduce its resource consumption.You can use the SQL Tuning Advisor.

  • During application development, you want to tune a new schema and its associated SQL workload for optimal performance. You can use the SQL Access Advisor.

  • You are planning to add memory to your system. You can use the Memory Advisor to determine the database performance impact of increasing your SGA or PGA (Program Global Area).

You can run all advisors from the Advisor Central home page, accessible through a link on the Database Home page. You can also invoke many of the advisors from the Performance page, through recommendations from ADDM, or from alerts.

Table 10-1 describes the performance advisors. Other advisors are listed in Table 10-2.

Table 10-1 Performance Advisors

AdvisorDescription

Automatic Database Diagnostic Monitor (ADDM)

ADDM makes it possible for Oracle Database to diagnose its own performance and determine how any identified problems can be resolved.See "Performance Self-Diagnostics: Automatic Database Diagnostic Monitor" and "Diagnosing Performance Problems Using ADDM".

SQL Advisors

  • SQL Tuning Advisor

  • SQL Access Advisor

The SQL Tuning Advisor analyzes one or more SQL statements and makes recommendations for improving performance. This advisor is run automatically during the maintenance periods, but can also be run manually. See "About the Automatic SQL Tuning Advisor" and "Running the SQL Tuning Advisor".

The SQL Access Advisor tunes a schema to a given SQL workload. For example, the SQL Access Advisor can provide recommendations for creating indexes, materialized views, or partitioned tables for a given workload. See "Running the SQL Access Advisor".

Memory Advisors

  • Memory Advisor

  • SGA Advisor

  • Shared Pool Advisor

  • Buffer Cache Advisor

  • PGA Advisor

The Memory Advisors provide graphical analyses of total memory target settings, SGA and PGA target settings, or SGA component size settings. You use these analyses to tune database performance and for what-if planning. Depending on the current memory management mode, different memory advisors are available.

  • If Automatic Memory Management is enabled, then only the Memory Advisor is available. This advisor provides advice for the total memory target for the instance.

  • If Automatic Shared Memory Management is enabled, then the SGA Advisor and PGA Advisor are available.

  • If Manual Shared Memory Management is enabled, then the Shared Pool Advisor, Buffer Cache Advisor, and PGA Advisor are available.

See "Optimizing Memory Usage with the Memory Advisors". See "Managing Memory" for more information about memory management modes.


Table 10-2 Other Advisors

AdvisorDescription

Segment Advisor

The Segment Advisor provides advice on whether a segment is a good candidate for a shrink operation based on the level of space fragmentation within that segment. The advisor also reports on the historical growth trend of segments. You can use this information for capacity planning and for arriving at an informed decision about which segments to shrink. See "Reclaiming Unused Space".

Undo Advisor

The Undo Advisor assists in correctly sizing the undo tablespace. The Undo Advisor can also be used to set the low threshold value of the undo retention period for any Oracle Flashback requirements. See "Computing the Minimum Undo Tablespace Size Using the Undo Advisor".


About the SQL Advisors

The SQL advisors examine a given SQL statement or a set of SQL statements and provide recommendations to improve efficiency. These advisors can make various types of recommendations, such as creating SQL profiles (a collection of information that enables the query optimizer to create an optimal execution plan for a SQL statement), restructuring SQL statements, creating additional indexes, materialized views, or partitions, and refreshing optimizer statistics. Oracle Enterprise Manager Database Control (Database Control) enables you to accept and implement many of these recommendations with just a few mouse clicks.

The two SQL advisors are the SQL Tuning Advisor and the SQL Access Advisor.

SQL Tuning Advisor

You use the SQL Tuning Advisor to tune a single or multiple SQL statements. Typically, you run this advisor in response to an ADDM performance finding that recommends its use. You can also run it periodically on the most resource-intensive SQL statements, and on a SQL workload.

When tuning multiple SQL statements, the SQL Tuning Advisor does not recognize interdependencies between the SQL statements. It solves SQL performance problems by identifying problems with individual SQL statements, such as a poorly performing optimizer plan or the mistaken use of certain SQL structures.

You can run the SQL Tuning Advisor against the following sources:

  • Top Activity—The most resource-intensive SQL statements executed during the last hour. Use this option to tune SQL statements that might have caused recent performance problems.

  • Historical SQL— A set of SQL statements over any 24 hour window (time period). Use this option for proactive tuning of SQL statements.

  • SQL Tuning Sets (STS)—A set of SQL statements you provide. An STS can be created from SQL statements captured by AWR snapshots or from any SQL workload.

SQL Access Advisor

The SQL Access Advisor is primarily responsible for making schema modification recommendations. It can recommend that you create access structures such as indexes and materialized views to optimize SQL queries. It can also recommend that you partition tables, indexes, or materialized views to improve query performance.

The SQL Access Advisor takes a SQL workload as input. You can select your workload from different sources, including current and recent SQL activity, a SQL repository, or a user-defined workload such as from a development environment. The advisor then makes recommendations to improve the performance of the workload as a whole.

Statement Tuning and Workload Tuning

Note that both the SQL Tuning Advisor and the SQL Access Advisor provide index creation recommendations. The SQL Tuning Advisor recommends creation of indexes only when it anticipates exceptional performance gains for the SQL statement being tuned. However, creation of new indexes may adversely impact the performance of DML insert, update, and delete operations. The SQL Tuning advisor does not take this into account while generating new index recommendations.

The SQL Access Advisor, however, considers the impact of new indexes on the complete workload. As such, if an index improves performance of one SQL statement but adversely impacts the rest of the workload, then the new index is not recommended by the SQL Access Advisor. For this reason, the SQL Tuning Advisor always recommends validating its new index recommendation by running the SQL Access Advisor.


See Also:


About the Automatic SQL Tuning Advisor

Beginning with Oracle Database 11g, the SQL Tuning Advisor runs automatically during system maintenance windows (time periods) as a maintenance task. During each automatic run, the advisor selects high-load SQL queries in the system and generates recommendations on how to tune these queries.

The Automatic SQL Tuning Advisor can be configured to automatically implement SQL profile recommendations. A SQL profile contains additional SQL statistics that are specific to the SQL statement and enable the query optimizer to generate a significantly better execution plan at run time. If you enable automatic implementation, then the advisor creates SQL profiles for only those SQL statements where the performance increase would be at least threefold. Other types of recommendations, such as the creation of new indexes, refreshing optimizer statistics, or restructuring SQL, can be implemented only manually. DML statements are not considered for tuning by the Automatic SQL Tuning Advisor.

You can view a summary of the results of automatic SQL tuning over a specified period (such as the previous 7 days), and a detailed report about recommendations made for all SQL statements that the SQL Tuning Advisor has processed. You can then implement selected recommendations. You can also view the recommendations that were automatically implemented.

You can control when the Automatic SQL Tuning Advisor runs, and you can disable it if desired.

Configuring the Automatic SQL Tuning Advisor

The following are some configuration tasks that you might want to perform for the Automatic SQL Tuning Advisor:

  • Enable automatic implementation of SQL profile recommendations.

    Automatic implementation is disabled by default.

  • Select the maintenance windows (time periods) in which the advisor runs.

    The Automatic SQL Tuning Advisor runs in all maintenance windows by default.

  • Modify the start time and duration of existing maintenance windows or create new maintenance windows.

To configure the Automatic SQL Tuning Advisor:

  1. Go to the Database Home page, logging in as user SYS.

    See "Accessing the Database Home Page".

  2. Click Server to display the Server page.

  3. In the Oracle Scheduler section, click Automated Maintenance Tasks.

    The Automated Maintenance Tasks page appears.

    Description of auto_maint_tasks_new.gif follows
    Description of the illustration auto_maint_tasks_new.gif

  4. Click Configure.

    The Automated Maintenance Tasks Configuration page appears.

    Description of auto_maint_task_config.gif follows
    Description of the illustration auto_maint_task_config.gif

  5. (Optional) To disable the Automatic SQL Tuning Advisor, in the Task Settings section, click the Disabled option for Automatic SQL Tuning.

  6. (Optional) To prevent the Automatic SQL Tuning Advisor from running in particular maintenance windows, in the Maintenance Window Group Assignment section, deselect check boxes under the Automatic SQL Tuning heading.

  7. Click Apply to save any changes made so far.

    A confirmation message is displayed.

  8. To enable automatic implementation of SQL profile recommendations, complete the following steps:

    1. In the Task Settings section, next to the Automatic SQL Tuning options, click Configure.

      The Automatic SQL Tuning Settings page appears.

      Description of auto_sqltuning_settings.gif follows
      Description of the illustration auto_sqltuning_settings.gif

    2. Next to Automatic Implementation of SQL Profiles, click the Yes option.

      You must be logged in as user SYS to change this option.

    3. Click Apply.

      A confirmation message is displayed.

    4. In the locator links at the top, left-hand side of the page, click Automated Maintenance Tasks Configuration to return to the Automated Maintenance Tasks Configuration page.

  9. (Optional) To make changes to the start time and duration of existing maintenance windows, to disable individual maintenance windows, or to create additional maintenance windows, click Edit Window Group.

    The Edit Window Group page appears. From this page you can change the settings of individual windows or you can add or remove windows to or from the window group MAINTENANCE_WINDOW_GROUP.

    See the online Help for this page for more information.


    Note:

    If you create a new window (time period) to run automated maintenance tasks, then you must add that window to MAINTENANCE_WINDOW_GROUP.


See Also:


Viewing Automatic SQL Tuning Results

You can track the activities of the Automatic SQL Tuning Advisor with Database Control.

To view automatic SQL tuning results:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. Click Server to display the Server page.

  3. In the Oracle Scheduler section, click Automated Maintenance Tasks.

    The Automated Maintenance Tasks page appears.

  4. Click Automatic SQL Tuning.

    The Automatic SQL Tuning Result Summary page appears, showing graphical summaries of the Automatic SQL Tuning Advisor activities and findings.

    Description of auto_sqltuning_r2_new.gif follows
    Description of the illustration auto_sqltuning_r2_new.gif

  5. To view recommendations, click View Report under the heading Task Activity Summary.

    The Automatic SQL Tuning Result Details page appears, showing the SQL statements for which recommendations were made during the designated period.

    Description of sql_tuning_auto_result_det.gif follows
    Description of the illustration sql_tuning_auto_result_det.gif

    A green check mark in the SQL Profile column indicates a recommendation that was automatically implemented.

    By default, automatic implementation is disabled. See "Configuring the Automatic SQL Tuning Advisor" for instructions for enabling it.

  6. (Optional) Select a SQL statement in the Recommendations table (based on the SQL Text column), and then click View Recommendations.

    The Recommendations for SQL ID page appears, describing each recommendation for the statement in detail. On this page, you can select a recommendation and then click Implement to implement it.

Running the SQL Tuning Advisor

Use the SQL Tuning Advisor for tuning SQL statements. Typically, you run this advisor in response to an ADDM performance finding that recommends its use. You can also start the SQL Tuning Advisor manually. One reason is to tune statements that the Automatic SQL Tuning Advisor has not considered for tuning.

As described in "About the SQL Advisors", the SQL Tuning Advisor can select SQL statements to tune from several sources. The following scenario assumes that you want to tune the SQL statements with the most activity:

To run the SQL Tuning Advisor:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the bottom of the page, under Related Links, click Advisor Central.

  3. On the Advisor Central page, click SQL Advisors.

  4. On the SQL Advisors page, click SQL Tuning Advisor.

    The Schedule SQL Tuning Advisor page appears.

  5. In the Overview section, select the Top Activity data source link.

    The Top Activity page appears. This page has a timeline graph showing the database activity based on the active sessions over the last hour.

    Description of top_activity_new.gif follows
    Description of the illustration top_activity_new.gif

  6. (Optional) Expand the timeline by selecting Historical from the View Data list at the upper right-hand side of the page.

  7. Select an interval to analyze by clicking the bar under the timeline graph.

    The Top SQL and Top Sessions tables show the activity within the selected period.

  8. In the Top SQL section, select one or more SQL statements. Make sure the Actions drop-down list shows Schedule SQL Tuning Advisor, and then click Go.

    The Schedule SQL Tuning Advisor page returns, indicating the statements that are to be tuned.

  9. Enter a task name and description, select the scope for the analysis (Comprehensive or Limited), and select a start time for the analysis task.

  10. Click Submit.

    A Processing SQL Tuning Advisor Task page appears. When the task is complete, the SQL Tuning Result Summary page appears, showing a summary of the SQL Tuning Advisor findings for the SQL statements analyzed.

    To view the recommendations, click Show all results. The recommendations can include one or more of the following:

    • Accept the generated SQL profile.

    • Gather optimizer statistics on objects with stale or no statistics.

    • Rewrite a query for better performance.

    • Create an index to offer alternate, faster access paths to the query optimizer.

  11. To view recommendations for a specified SQL statement, select a statement from the list of recommendations, and then click View Recommendations.

    The Recommendations for SQL ID page appears, showing one or more recommendations for the statement.

  12. (Optional) Select a recommendation, and then click Implement.

    After you confirm that you want to implement a new profile, you are returned to the Recommendations for SQL ID page, and a confirmation notice is printed across the top of the page.

Running the SQL Access Advisor

You run the SQL Access Advisor to get recommendations for improving the performance of a workload. You can run it on a periodic basis to avoid performance problems, or run it to verify schema change recommendations from the SQL Tuning Advisor.

To run the SQL Access Advisor:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the bottom of the page, under Related Links, click Advisor Central.

  3. On the Advisor Central page, click SQL Advisors.

  4. On the SQL Advisors page, click SQL Access Advisor.

    A page appears prompting you for initial options. Click Help for information about the options for this page.

  5. Select an option, and then click Continue.

  6. The Workload Source page appears. It is the first page of the SQL Access Advisor wizard.

    Click Help to obtain help for this and subsequent wizard pages. Follow directions and make the required selections for each wizard page, clicking Next when you are ready to proceed to the next page.

  7. Continue through the wizard until you reach the Review page. Review your selections and then click Submit to start the analysis.

    The Advisor Central page appears, displaying a confirmation message indicating that your task has been started successfully.

  8. Click the Refresh button (not your browser's Refresh icon) to view the status of your task.

  9. When your SQL Access Advisor task has completed, select View Result.

    The Result for Task page appears.

    The Summary subpage shows you the potential for improvement under the headings Workload I/O Cost and Query Execution Time Improvement.

    Description of sqlaccess_adv_results.gif follows
    Description of the illustration sqlaccess_adv_results.gif

    The Recommendations subpage shows the recommendations, if any, for improving performance. A recommendation might consist of, for example, a SQL script with one or more CREATE INDEX statements, which you can run by clicking Schedule Implementation.

Optimizing Memory Usage with the Memory Advisors

This section contains:

About the Memory Advisors

Adequate physical memory has a significant impact on the performance of your Oracle Database. With its automatic memory management capabilities, Oracle Database can automatically adjust the memory distribution among the various SGA and PGA components for optimal performance. These adjustments are made within the boundaries of the total amount of memory that you allocate to the database.

ADDM periodically evaluates the performance of your database to determine performance problems. If ADDM finds that the current amount of available memory is inadequate and adversely affecting performance, then it can recommend that you increase memory allocations. You can select new memory allocations using the Memory Advisors.

Additionally, you can use the Memory Advisors to perform what-if analysis on the following:

  • The database performance benefits of adding physical memory to your database

  • The database performance impact of reducing the physical memory available to your database

With the Memory Advisors, you can obtain memory sizing advice as follows:

  • If automatic memory management is enabled, then you can get advice for setting the target amount of memory to allocate to the Oracle instance.

  • If automatic memory management is disabled and automatic shared memory management is enabled, then you can get advice on configuring the target sizes of the SGA and instance PGA.

  • If only manual shared memory management is enabled, then you can get advice on sizing the shared pool, buffer cache, and instance PGA.

Example: Obtaining Memory Sizing Advice for ASMM

The following steps describe how to obtain memory sizing advice when automatic shared memory management (ASMM) is enabled.

To obtain memory sizing advice for ASMM:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the bottom of the page, click Advisor Central.

  3. On the Advisor Central page, click Memory Advisors.

    The Memory Advisors page appears.

  4. On the SGA subpage, next to the Total SGA Size field, click Advice.

    The SGA Size Advice child page appears in a separate window.

    Description of sga-sizeadvice.gif follows
    Description of the illustration sga-sizeadvice.gif

    Improvement in DB Time (%) is plotted against Total SGA size. A higher number for Improvement in DB Time is better for performance. In this sample figure, the graph indicates that increasing the SGA size greater than 450 MB results in no performance gain. Thus, 450 MB is the recommended optimal SGA size.

    Click OK to close the SGA Size Advice child page.

  5. Near the top of the Memory Advisors page, click PGA to display the PGA subpage.

  6. Next to Aggregate PGA Target, click Advice.

    The PGA Target Advice page appears, plotting cache hit percentage against PGA target size.

    The cache hit percentage is the percentage of read requests serviced by memory, as opposed to those requests serviced by reading from disk, which is slower. A higher hit percentage indicates better cache performance. The optimal zone for cache hit percentage is between 75 and 100 percent. However, it is not safe to conclude that your database is having performance problems simply because your cache hit percentage is not within the optimal zone. When the amount of currently available PGA memory is not adequate for optimal performance, ADDM automatically recommends adjusting this value in a performance finding.

    Click OK to close the PGA Target Advice page.


See Also:


Monitoring and Tuning: Oracle By Example Series

Oracle By Example (OBE) has a series on the Oracle Database 2 Day DBA guide. This OBE steps you through the tasks in this section, and includes annotated screenshots.

To view the Monitoring OBE, in your browser, enter the following URL:

http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/2day_dba/monitoring/monitoring.htm

PKzfNWNPK1@OEBPS/storage.htm Managing Database Storage Structures

6 Managing Database Storage Structures

This chapter discusses using Oracle Enterprise Manager Database Control (Database Control) to view and manage the storage structures of your database. This chapter contains the following sections:

About Database Storage Structures

An Oracle database is made up of physical and logical structures. Physical structures can be seen and operated on from the operating system, such as the physical files that store data on a disk.

Logical structures are created and recognized by Oracle Database and are not known to the operating system. The primary logical structure in a database, a tablespace, contains physical files. The applications developer or user may be aware of the logical structure, but is not usually aware of this physical structure. The database administrator (DBA) must understand the relationship between the physical and logical structures of a database.

Figure 6-1 shows the relationships between logical and physical structures. This figure also shows recovery-related structures that are optionally kept in the fast recovery area. See "Fast Recovery Area" for more information.

Figure 6-1 Oracle Database Storage Structures

Description of Figure 6-1 follows
Description of "Figure 6-1 Oracle Database Storage Structures"

Oracle Database can automate much of the management of its structure. Oracle Enterprise Manager Database Control (Database Control) provides a Web-based graphical user interface (GUI) to enable easier management and monitoring of your database.

To view a database storage structure, go to the Storage section of the Server subpage and click on any of the links to access the storage pages.

Description of storageheadr2.gif follows
Description of the illustration storageheadr2.gif

This section provides background information about the various database storage structures. It contains the following topics:

About Control Files

A control file tracks the physical components of the database. It is the root file that the database uses to find all the other files used by the database. Because of the importance of the control file, Oracle recommends that the control file be multiplexed, or have multiple identical copies. For databases created with Oracle Database Configuration Assistant (DBCA), three copies of the control file are automatically created and kept synchronized with each other.

If any control file fails, then your database becomes unavailable. If you have a control file copy, however, you can shut down your database and re-create the failed control file from the copy, then restart your database. Another option is to delete the failed control file from the CONTROL_FILES initialization parameter and restart your database using the remaining control files.

About Online Redo Log Files

Every Oracle database has a set of two or more online redo log files. The set of online redo log files is collectively known as the redo log for the database. A redo log is made up of redo entries, which are also called redo records.

The online redo log stores a copy of the changes made to data. If a failure requires a data file to be restored from backup, then the recent data changes that are missing from the restored data file can be obtained from the online redo log files, so work is never lost. The online redo log files are used to recover a database after hardware, software, or media failure. To protect against a failure involving the online redo log file itself, Oracle Database can multiplex the online redo log file so that two or more identical copies of the online redo log file can be maintained on different disks.

The online redo log for a database consists of groups of online redo log files. A group consists of an online redo log file and its multiplexed copies. Each identical copy is considered to be a member of that group. Each group is defined by a number, such as Group 1.

Figure 6-2 shows the configuration of a database that has three online redo log groups and two members in each group. For each group, the members are stored on separate disks for maximum availability. For example, the members of Group 1 are the redo log files A_LOG1 and B_LOG1.

Figure 6-2 Online Redo Log Groups and Their Members

Description of Figure 6-2 follows
Description of "Figure 6-2 Online Redo Log Groups and Their Members"

The database log writer process (LGWR) writes redo records from the memory buffer to a redo log group until the log files in that group reach their storage size limit, or until you request a log switch operation. The LGWR process then writes to the next log group. The LGWR process performs this action in a circular fashion so that the oldest group is overwritten by the most recent redo records.

About Archived Redo Log Files

When you enable archiving of the online redo logs, Oracle Database copies the online redo log files to another location before they are overwritten. These copied files are referred to as archived redo log files. You can archive to multiple locations.

These archived redo log files extend the amount of redo data that can be saved and are used for recovery. Archived redo log files are required to recover a backup of the database from the time of the backup to the current time. Archiving can be either enabled or disabled for the database, but Oracle strongly recommends that you enable archiving. Oracle also recommends that you configure the database to write archived redo log files to the fast recovery area.


See Also:


About Rollback Segments

Rollback segments were database structures used to track undo information for the database in earlier releases of Oracle Database. Now, the preferred way of managing undo information is with the undo tablespace. For more information, see "Managing Undo Data".


Note:

Oracle Database uses a SYSTEM rollback segment for performing system transactions. It is created automatically when the database is created, and is always brought online at instance startup. It is located in the SYSTEM tablespace. You are not required to perform any operations to manage the SYSTEM rollback segment.

About Data Files

Data files are the operating system files that store the data within the database. The data is written to these files in an Oracle proprietary format that cannot be read by other programs. Tempfiles are a special class of data files that are associated only with temporary tablespaces.

Data files can be broken down into the following components:

  • Segment

    A segment contains a specific type of database object. For example, a table is stored in a table segment, and an index is stored in an index segment. A data file can contain many segments.

  • Extent

    An extent is a contiguous set of data blocks within a segment. Oracle Database allocates space for segments in units of one extent. When the existing extents of a segment are full, the database allocates another extent for that segment.

  • Data block

    A data block, also called a database block, is the smallest unit of I/O to database storage. An extent consists of several contiguous data blocks. The database uses a default block size at database creation.

    After the database has been created, it is not possible to change the default block size without re-creating the database. It is possible, however, to create a tablespace with a block size different than the default block size.

Segments, extents, and data blocks are all logical structures. Only Oracle Database can determine how many data blocks are in a file. The operating system recognizes only files and operating system blocks, not the number of data blocks in an Oracle Database file. Each data block maps to one or more operating system blocks.


See Also:


About Tablespaces

A database is divided into logical storage units called tablespaces, which group related logical structures (such as tables, views, and other database objects). For example, all application objects can be grouped into a single tablespace to simplify maintenance operations.

A tablespace consists of one or more physical data files. Database objects assigned to a tablespace are stored in the physical data files of that tablespace.

When you create an Oracle database, some tablespaces already exist, such as SYSTEM and SYSAUX.

Tablespaces provide a means to physically locate data on storage. When you define the data files that comprise a tablespace, you specify a storage location for these files. For example, you might specify a data file location for a certain tablespace as a designated host directory (implying a certain disk volume) or designated Oracle Automatic Storage Management disk group. Any schema objects assigned to that tablespace then get located in the specified storage location. Tablespaces also provide a unit of backup and recovery. The backup and recovery features of Oracle Database enable you to back up or recover at the tablespace level.

Table 6-1 describes some tablespaces included in the database.

Table 6-1 Tablespaces and Descriptions

TablespaceDescription

EXAMPLE

This tablespace contains the sample schemas that are included with Oracle Database. The sample schemas provide a common platform for examples. Oracle documentation and educational materials contain examples based on the sample schemas.

SYSTEM

This tablespace is automatically created at database creation. Oracle Database uses it to manage the database. It contains the data dictionary, which is the central set of tables and views used as a read-only reference for a particular database. It also contains various tables and views that contain administrative information about the database. These are all contained in the SYS schema, and can be accessed only by the SYS user or other administrative users with the required privilege.

SYSAUX

This is an auxiliary tablespace to the SYSTEM tablespace.

The SYSAUX tablespace contains data for some components and products, reducing the load on the SYSTEM tablespace. Every database using Oracle Database 10g release 1 (10.1) or later must have a SYSAUX tablespace.

Components that use SYSAUX as their default tablespace during installation include Automatic Workload Repository, Oracle Streams, Oracle Text, and Database Control Repository. For more information, see Oracle Database Administrator's Guide.

TEMP

This tablespace stores temporary data generated when processing SQL statements. For example, this tablespace would be used for query sorting. Every database should have a temporary tablespace that is assigned to users as their temporary tablespace. In the preconfigured database, the TEMP tablespace is specified as the default temporary tablespace. If no temporary tablespace is specified when a user account is created, then Oracle Database assigns this tablespace to the user.

UNDOTBS1

This is the undo tablespace used by the database to store undo information. See "Managing Undo Data" to understand how an Oracle database uses the undo tablespace. Every database must have an undo tablespace.

USERS

This tablespace is used to store permanent user objects and data. Similar to the TEMP tablespace, every database should have a tablespace for permanent user data that is assigned to users. Otherwise, user objects will be created in the SYSTEM tablespace, which is not good practice. In the preconfigured database, USERS is designated as the default tablespace for all new users.


You can create new tablespaces to support your user and application data requirements. During tablespace creation, you set the following parameters:

Locally Managed Tablespaces

Space management within a tablespace involves keeping track of available (free) and used space, so that space is allocated efficiently during data insertion and deletion. Locally managed tablespaces keep the space allocation information within the tablespace, not in the data dictionary, thus offering better performance. By default, Oracle Database sets all newly created tablespaces to be locally managed with automatic segment management, a feature that further improves performance.

Tablespace Types

There are three types of tablespaces:

  • Permanent

    You use permanent tablespaces to store your user and application data. Oracle Database uses permanent tablespaces to store permanent data, such as system data. Each user is assigned a default permanent tablespace.

  • Undo

    A database running in automatic undo management mode transparently creates and manages undo data in the undo tablespace. Oracle Database uses undo data to roll back transactions, to provide read consistency, to help with database recovery, and to enable features such as Oracle Flashback Query. A database instance can have only one active undo tablespace.

  • Temporary

    Temporary tablespaces are used for storing temporary data, as would be created when SQL statements perform sort operations. An Oracle database gets a temporary tablespace when the database is created. You would create another temporary tablespace if you were creating a temporary tablespace group. Under typical circumstances, you do not have to create additional temporary tablespaces. If you have an extremely large database, then you might configure additional temporary tablespaces.

    The physical files that comprise a temporary tablespace are called tempfiles, as opposed to data files.

    The TEMP tablespace is typically used as the default temporary tablespace for users who are not explicitly assigned a temporary tablespace.


See Also:


Tablespace Status

You can set tablespace status as follows:

  • Read Write

    Users can read and write to the tablespace after it is created. This is the default.

  • Read Only

    If the tablespace is created Read Only, then the tablespace cannot be written to until its status is changed to Read Write. It is unlikely that you would create a Read Only tablespace, but you might change it to that status after you have written data to it that you do not want modified.

  • Offline

    If the tablespace has a status of Offline, then no users can access it. You might change the status of a tablespace to Offline before performing maintenance or recovery on the data files associated with that tablespace.

Autoextend Tablespace

You can set a tablespace to automatically extend itself by a specified amount when it reaches its size limit. If you do not enable autoextend, then you are alerted when the tablespace reaches its critical or warning threshold size. The critical and warning threshold parameters have default values that you can change at any time. These parameters also cause alerts to be generated for autoextending tablespaces that are approaching their specified size limit. You can respond to size alerts by manually increasing the tablespace size. You do so by increasing the size of one or more of the tablespace data files or by adding another data file to the tablespace.


Note:

Although it is common to refer to tablespaces as autoextending, automatic extension is a data file property, not a tablespace property. That is, when you create the data files that comprise a tablespace, you indicate whether these data files automatically extend. A tablespace that has autoextending data files is considered to be an autoextending tablespace. You can specify a maximum size for an autoextending data file.

Encrypted Tablespaces

Encrypted tablespaces primarily protect your data from unauthorized access by means other than through the database. For example, when encrypted tablespaces are written to backup media for travel from one Oracle database to another or for travel to an off-site facility for storage, they remain encrypted. Also, encrypted tablespaces protect data from users who try to circumvent the security features of the database and access database files directly through the operating system file system.

You can encrypt any permanent tablespace to protect sensitive data. When you encrypt a tablespace, all tablespace blocks are encrypted. All segment types are supported for encryption, including tables, clusters, indexes, LOBs, table and index partitions, and so on.Tablespace encryption is completely transparent to your applications, so no application modification is necessary.


See Also:


About Other Storage Structures

Other storage structures that can exist in an Oracle database include the initialization parameter file, the password file, and backup files.

Initialization Parameter File

Initialization parameters are used by the Oracle instance at startup to determine the run-time properties and resources for the database. Some parameters can be set or modified while the database is running. Other initialization parameters require the database to be restarted for the changes to take effect. See "Viewing and Modifying Initialization Parameters".

Password File

A database can use a password file to authenticate administrative users with SYSDBA or SYSOPER connection privileges. A password file is required for remote connections to the database as SYSDBA or SYSOPER. These privileges enable a DBA to start and shut down the database and perform other high-level administrative tasks. This password file is outside of the database itself, thereby enabling the authentication of a DBA when the database is not yet started. (A DBA must authenticate before starting the database.)

When you invoke DBCA as part of the Oracle Database installation process, DBCA creates a password file with one entry: the SYS user. Granting SYSDBA to a user adds that user to the password file automatically.


Note:

Oracle Database can also use operating system authentication to authenticate users with the SYSDBA or SYSOPER privileges. See "Starting SQL*Plus and Connecting to the Database".

Backup Files

Backup files are not technically database files, but are copies of the database in some form that can be used to recover the database if a failure causes loss of data.


See Also:


Viewing Database Storage Structure Information

To assist you in managing the storage structures within your database, this section provides instructions for viewing information about the various database storage structures using Oracle Enterprise Manager Database Control (Database Control).

This section contains the following topics:

Viewing Control File Information

You can use Database Control to view location and status information about control files.

To view control file information:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to view the Server subpage.

  3. In the Storage section, click Control Files.

    The Control Files page appears, showing the General subpage.

    This page shows whether your database has a multiplexed control file. The Advanced and Record Section subpages give you more detailed information about your control files.

Viewing Online Redo Log File Information

You use Database Control to view status and multiplexing information about online redo log files.

To view online redo log file information:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to view the Server subpage.

  3. In the Storage section, click Redo Log Groups.

    The Redo Log Groups page appears. This page shows the attributes of the online redo log groups for your database.

    When an online redo log group contains only one member, it is not multiplexed. Note the Status attribute for the online redo log groups. The online redo log group with status Current is the one currently being written to disk by the log writer.

  4. (Optional) In the Group column, click a group number to view information about online redo log group members.

Viewing Archived Redo Log File Information

You use Database Control to view status information about archived redo log files.


Note:

Archived redo log files do not exist until you set the database in ARCHIVELOG mode.

To view archived redo log file information:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to view the Server subpage.

  3. In the Storage section, click Archive Logs.

    The Archive Logs page appears.

Viewing Data File Information

You use Database Control to view status and location information about data files.

To view data file information:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to view the Server subpage.

  3. In the Storage section, click Datafiles.

    The Datafiles page appears.

  4. (Optional) Select a data file, and then click View to display more attributes for the data file.

  5. (Optional) Click the name of a tablespace in the Tablespace column to display the attributes of the tablespace associated with the data file.


See Also:


Viewing Tablespace Information

You use Database Control to view configuration, size, and status information about tablespaces.

To view tablespace information:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to view the Server subpage.

  3. In the Storage section, click Tablespaces.

    The Tablespaces page appears.

Performing Common Database Storage Tasks

As data is added to your database, the tablespace requirements for your database change. As a database administrator (DBA), you can use Oracle Enterprise Manager Database Control (Database Control) to perform the following tasks to effectively manage the tablespaces and database storage:

Creating a Tablespace

You can create additional tablespaces to store user data, so that not all data is stored in the USERS tablespace. The following are some reasons to create additional tablespaces:

  • For certain users, groups of users, or applications, it may be convenient to keep all application data in a separate tablespace or set of tablespaces for backup and recovery or maintenance reasons. For example, suppose you must recover all application data from backup due to a hardware or software failure, and you want to perform an offline recovery. If the application data is kept in a separate tablespace, then you can take just that tablespace offline and recover it, without affecting the operation of other database applications.

  • Some applications, such as those with large partitioned tables, may benefit from distributing data across multiple tablespaces. This approach allows the optimal use of the available storage because frequently accessed data can be placed on high performance disks, and infrequently retrieved data can be placed on less expensive storage.

To create a tablespace:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to view the Server subpage.

  3. In the Storage section, click Tablespaces.

    The Tablespaces page appears.

    Description of tablespaces.gif follows
    Description of the illustration tablespaces.gif

  4. Do one of the following:

    1. To create a new tablespace, click Create.

    2. To create a tablespace that is similar to an existing tablespace, in the Select column, select the tablespace whose attributes you want to reproduce. In the Actions list, select Create Like and then click Go.

    The Create Tablespace page appears, showing the General subpage.

    Description of create_tablespace.gif follows
    Description of the illustration create_tablespace.gif

  5. In the Name field, enter a name for the tablespace.

  6. In the Extent Management section, select Locally Managed.

    See "Locally Managed Tablespaces".

  7. In the Type section, select Permanent.

    See "Tablespace Types".

  8. In the Status section, select Read Write.

    See "Tablespace Status".

  9. In the Datafiles section, click Add to add one or more data files to the tablespace.

    The Add Datafile page appears.


    Note:

    If you select Use bigfile tablespace, then the tablespace can have only one data file. Bigfile tablespaces are used with very large databases that use Automatic Storage Management or other logical volume managers that support striping, RAID, and dynamically extensible logical volumes.

  10. If the Storage Type is File System, then in the File Name field, enter a file name. In the File Directory and File Size fields, enter appropriate values for your data file location and initial size.

  11. In the Storage section, complete the following steps:

    1. Select Automatically extend data file when full (AUTOEXTEND).

    2. Set a suitable increment, such as 10 MB.

      This is the amount of disk space that is added to the data file when it needs more storage space.

    3. For Maximum File Size, do one of the following, depending on available storage:

      • Select Unlimited to permit the file to increase without limits.

      • Select Value, and then enter a value in KB, MB, GB, or TB.

  12. Click Continue.

    The Create Tablespace page returns.

  13. (Optional) Toward the top of the page, click Storage to view the Storage subpage. Examine all of the default settings on this subpage.

  14. Click OK to add the tablespace.

    The Tablespaces page returns, showing the newly created tablespace.

Modifying a Tablespace

You can use Database Control to modify a tablespace. For example, you can extend it by increasing data file sizes or adding another data file, set it to automatically extend, change its space usage alert thresholds, or change its status to Offline. When you get a critical or warning alert, you might have to extend a tablespace if the alert is related to a space limitation or you might have to take the tablespace offline for recovery if the alert is related to corrupted data or other serious errors.

This section contains the following topics:

Setting a Tablespace to Automatically Extend

This section explains how to set a tablespace to automatically extend when it reaches its size limit. The following instructions assume that the tablespace was previously not an autoextending tablespace.

To set a tablespace to automatically extend:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to view the Server subpage.

  3. In the Storage section, click Tablespaces.

    The Tablespaces page appears.

  4. Select the tablespace for which you want to enable autoextend, and then click Edit.

    The Edit Tablespace page appears.

  5. Select the first data file associated with the tablespace, and then click Edit.

    The Edit Datafile page appears.

  6. In the Storage section, complete the following steps:

    1. Select Automatically extend data file when full (AUTOEXTEND).

    2. Set a suitable increment, such as 10 MB.

      This is the amount of disk space that is added to the data file when it needs more storage space.

    3. For Maximum File Size, do one of the following, depending on available storage:

      • Select Unlimited to permit the file to increase without limits.

      • Select Value, and then enter a value in KB, MB, GB, or TB.

  7. Click Continue.

    The Edit Tablespace page returns.

  8. Repeat Step 5 through Step 7 for each additional data file associated with the tablespace.

  9. Click Apply.

    A confirmation message appears.

Changing Space Usage Alert Thresholds for a Tablespace

You receive an alert in Database Control when a space usage threshold for a tablespace is reached. There are two types of space usage alerts that you can enable: warning, for when tablespace space is somewhat low, and critical, for when the tablespace is almost completely full and action must be taken immediately.

For both warning and critical alerts, you can specify alert thresholds in the following ways:

  • By space used (%)

    When space used becomes greater than or equal to a percentage of total space, an alert is issued.

  • By free space (MB)

    When remaining space falls below an amount (in MB), an alert is issued.

    Free-space thresholds are more useful for large tablespaces. For example, for a 10 TB tablespace, setting the percentage full critical alert to as high as 99 percent means that the database would issue an alert when there is still 100 GB of free space remaining. Usually, 100 GB remaining would not be a critical situation, and the alert would not be useful. For this tablespace, it might be better to use a free-space threshold, which you could set to issue a critical alert when 5 GB of free space remains.

For both warning and critical alerts for a tablespace, you can enable either the space used threshold or the free-space threshold, or you can enable both thresholds.

To change space usage alert thresholds for tablespaces:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to view the Server subpage.

  3. In the Storage section, click Tablespaces.

    The Tablespaces page appears.

  4. Select the tablespace whose threshold you want to change, and then click Edit.

    The Edit Tablespace page appears, showing the General subpage.

  5. Click the Thresholds link at the top of the page to display the Thresholds subpage.

    Description of tablespace_thresholds.gif follows
    Description of the illustration tablespace_thresholds.gif

  6. In the Space Used (%) section, do one of the following:

    • Accept the default thresholds.

    • Select Specify Thresholds, and then enter a Warning (%) threshold and a Critical (%) threshold.

    • Select Disable Thresholds to disable the percentage full thresholds.

  7. In the Free Space (MB) section, do one of the following:

    • Accept the default thresholds.

    • Select Specify Thresholds, and then enter a Warning (MB) threshold and a Critical (MB) threshold.

    • Select Disable Thresholds to disable the threshold for free space remaining.

  8. Click Apply.

    A confirmation message appears.

Taking a Tablespace Offline

You may want to take a tablespace offline for any of the following reasons:

  • To make a portion of the database unavailable while still allowing access to the remainder of the database

  • To make an application and its group of tables temporarily unavailable while updating or maintaining the application

  • To perform an offline tablespace backup (even though a tablespace can be backed up while online and in use)

  • To recover a tablespace after a hardware or software failure

  • To rename or relocate tablespace data files

To take a tablespace offline:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to view the Server subpage.

  3. In the Storage section, click Tablespaces.

    The Tablespaces page appears.

  4. Select the tablespace to take offline, and then click Edit.

    The Edit Tablespace page appears.

  5. In the Status section, select Offline.

    For more information about the selections on this page, click Help.

  6. Make a selection from the Offline Mode list, and then click Apply.

    A confirmation message appears.


Note:

To bring the tablespace back online, return to this page, and then, under the Status section, click Read Write.


See Also:


Dropping a Tablespace

After a tablespace has been dropped (deleted), the objects and data in it are no longer available. To recover them can be a time-consuming process. Oracle recommends performing a backup before and after dropping a tablespace.

To drop a tablespace:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to view the Server subpage.

  3. In the Storage section, click Tablespaces.

    The Tablespaces page appears.

  4. Select the tablespace to drop, and then click Delete.

    Database Control asks for confirmation to delete the tablespace and gives you the option to also delete the associated data files from the disk.

  5. Click Yes to remove the tablespace.

    A confirmation is displayed and the deleted tablespace no longer appears on the Tablespaces page.

Reclaiming Unused Space

This section provides background information about reclaimable unused space in the database, and provides instructions about how to reclaim this space. It contains the following topics:

About Reclaimable Unused Space

Over time, performing insert, update, and delete operations (also referred to as DML operations) on objects within a tablespace can create pockets of empty space that individually are not big enough to be reused. Collectively, these pockets can waste large amounts of space. The sparsely populated objects that result can degrade performance during queries and DML operations.

Oracle Database enables you reclaim this empty space with the following online operations—that is, operations that do not block queries or DML against affected objects while the operations are proceeding:

  • Online segment shrink

    Online segment shrink operates on table segments and on the segments of the dependent objects of the table, such as indexes and partitions. For each segment, data is compacted to the front of the segment. Free space can either be returned to the tablespace or kept in the segment for future insert operations.

    Online segment shrink is permitted only on segments in a locally managed tablespace with automatic segment space management. Online segment shrink is an in-place operation; no additional free space in the tablespace is required.

  • Online table redefinition (also known as reorganization)

    Reorganization relocates the table and its dependent objects in a different part of the tablespace. This operation has the desirable side effect of compacting the data for those objects. For this operation to succeed, however, the tablespace must have free space equal to the size of the table and its dependent objects. Reorganization is the only permitted operation for dictionary-managed tablespaces or for locally managed tablespaces with manual segment space management.

The Segment Advisor generates recommendations for shrinking or reorganizing segments that have a significant amount of reclaimable unused space.


See Also:


About the Segment Advisor

The Segment Advisor identifies database objects that have unused space that you can reclaim. It performs its analysis by examining usage and growth statistics and by sampling the data in the object. By default, it is configured to run automatically at regular intervals, during all maintenance windows (time periods). You can also run the Segment Advisor manually.

The regularly scheduled Segment Advisor task is known as the Automatic Segment Advisor. Results from the advisor are summarized on the Space Summary section of the Database Home page as Segment Advisor Recommendations.

During each run of the Automatic Segment Advisor, only a subset of the segments in the database are analyzed. If you suspect that segments have reclaimable space, but these segments do not appear among the Segment Advisor recommendations, then the Automatic Segment Advisor may not have chosen them for analysis. You can run the Segment Advisor manually on those segments at any time. See Oracle Database Administrator's Guide for information about how the Automatic Segment Advisor selects tablespaces and segments for analysis.

Segment Advisor Recommendations

Segment Advisor recommendations are grouped by tablespace. Only tablespace names appear on the Segment Advisor Recommendations page in Database Control.

If a tablespace contains any segments for which a shrink operation or reorganization is recommended, then the tablespace appears on the Segment Advisor Recommendations page. This page estimates the amount of reclaimable space for each tablespace. If you request recommendation details for a tablespace, then Database Control displays the segments in that tablespace for which recommendations were generated.

The recommendations provided by the Segment Adviser depend on the characteristics of the tablespace in which the segment is located. If the tablespace was created with default options, then the Segment Advisor typically recommends shrinking. If the segment is not eligible for online segment shrinking, or if it is in a dictionary-managed tablespace or a tablespace created with manual segment space management, then the Segment Advisor recommends reorganization instead.

In addition, the Automatic Segment Advisor evaluates tables that are 10MB or larger and have at least three indexes to determine the amount of space that could be saved if the tables are compressed with the OLTP compression method.


See Also:


Viewing Segment Advisor Recommendations and Reclaiming Space

Each Segment Advisor recommendation includes a button that you can click to begin the space reclamation process. Although space reclamation is an online process, it can consume significant resources, so you should reclaim space during off-peak hours.

To view Segment Advisor recommendations and reclaim space:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. In the Space Summary section, click the numeric link adjacent to Segment Advisor Recommendations.

    Description of home_page_space_summary.gif follows
    Description of the illustration home_page_space_summary.gif

    The Segment Advisor Recommendations page appears, showing recommendations from the most recent automatic and manual runs of the Segment Advisor.

    Description of segment_reccom_new.gif follows
    Description of the illustration segment_reccom_new.gif

  3. (Optional) In the View list, select Recommendations for Last Automatic Run to view recommendations from only the most recent automatic run of the Segment Advisor.

  4. Select a tablespace, and then click Recommendation Details.

    The Recommendation Details for Tablespace page appears.

    This page lists the tablespace segments for which online segment shrink or reorganization is recommended.

    Description of reccomend_details_new.gif follows
    Description of the illustration reccomend_details_new.gif

  5. (Optional) Reduce the number of segments displayed in the segment list by entering search criteria in the Schema, Segment, Partition, or Minimum Reclaimable Space fields, and then clicking Search.

  6. Examine the recommendation for each segment, and then proceed as follows:

    • If the recommendation for any segments is to reorganize, then start reorganization for those segments by clicking the Reorganize button, or select multiple segments and then click the Reorganize button above the table. Follow the directions in the succeeding pages to generate a reorganization script for the selected segments.

    • If the recommendation for any segments is to shrink, then proceed with Step 7 through Step 13 for those segments.

  7. Do one of the following to select one or more segments to shrink:

    • To reclaim space in a single segment, click Shrink under the Recommendation column for that segment.

    • To shrink one or more segments, select the segments, and then click the Shrink button above the table.

  8. On the Shrink Segment: Options page, accept Compact Segments and Release Space.

    This option returns freed space to the tablespace. If you do not want to release the freed space to the tablespace, then choose Compact Segments. You can rerun the shrink process later to release the freed space.


    Note:

    Choose Compact Segments if you believe that you may have long-running queries currently in operation that involve the segments being shrunk. Long-running queries that were started before the shrink operation completes might attempt to read from blocks that have been reclaimed, which results in an error. Alternatively, you can schedule the shrink operation for an off-peak period in Step 10.

  9. Click Implement.

    The Shrink Segment: Schedule page appears.

  10. Note your job name, or replace it with a job name of your choosing.

  11. Under the heading Start, select Immediately.

    Because the shrink operation can be resource intensive, you can also select Later and schedule the operation for an off-peak period.

  12. Click Submit.

    The Scheduler Jobs page appears, and shows the shrink job in the Running subpage.

  13. Click Refresh to update the page until the job disappears from the Running subpage.

    You can then switch to the History or All subpage to view the completed status of the job.

Running the Segment Advisor Manually

You can run the Segment Advisor manually. You do so when you want to analyze objects not selected for analysis by the Automatic Segment Advisor, or when you want more up-to-date recommendations on a tablespace.

See Oracle Database Administrator's Guide for information about running the Segment Advisor manually.

Managing the Online Redo Log

The online redo log files are a critical component in database recovery. Every transaction in the database updates the redo logs, regardless of whether archiving is enabled. During crash, instance, or media recovery, the database properly applies redo log files in ascending order by using the log sequence number of the necessary archived and redo log files.

If properly configured, the online redo logs require little maintenance. This section describes the more common redo log management tasks. It contains the following topics:

Multiplexing the Online Redo Log

Oracle recommends that you multiplex the online redo log. Multiplexing provides better protection for data if an instance or media failure occurs.

To multiplex your online redo log, you must add members to each online redo log group. It is not required that online redo log groups be symmetrical, but Oracle recommends that your groups all have the same number of members. A database must have a minimum of two online redo log groups.


Note:

When you multiplex the online redo log, the database must increase the amount of I/O that it performs. Depending on your configuration, this action may affect overall database performance.

To multiplex the online redo log:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to view the Server subpage.

  3. In the Storage section, click Redo Log Groups.

    The Redo Log Groups page appears.

  4. Select a group and click Edit.

    The Edit Redo Log Group page appears.

  5. Click Add.

    The Add Redo Log Member page appears.

  6. If the Storage Type is set to File System, then in the File Name field, enter a file name for the new redo log member.

    For example, if your existing member file name is REDO01.log, then you might name this member REDO01a.log.

  7. In the File Directory field, enter the directory where you want the data file to be stored on disk.

    You can create this file in the same directory as the other member of the redo log file group, but it is recommended that you store members on separate disk drives. That way, if there is a drive failure, then you still have access to one member.

  8. Click Continue, and then click Apply to accept your changes.

    A confirmation message appears.

  9. At the top of the page, click the Redo Log Groups link to return to the Redo Log Groups page.

  10. Repeat Step 4 through Step 9 for every existing log group.

Switching a Log File

When a log switch occurs, the log writer (LGWR) process stops writing to the current online redo log group and starts writing to the next available redo log group. After a log switch, the current online redo log group becomes inactive, and the next available online redo log group becomes the current online redo log group.

You can force a log switch to make the current redo group inactive and available for redo log maintenance operations. Forcing a log switch is useful in configurations with large redo log files that take a long time to fill. For example, you might want to:

  • Drop the current redo group, but are not able to do so until the group is inactive

  • Archive the current online redo log group members immediately, even though they are not yet completely filled

To switch a log file:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to view the Server subpage.

  3. In the Storage section, click Redo Log Groups.

    The Redo Log Groups page appears.

  4. In the Actions list, select Switch logfile, and then click Go.

    A confirmation message appears. The status of the group that had been Current changes to Active, and the status of the next group in the list changes from Inactive to Current.

Managing Undo Data

Beginning with Oracle Database 11g, for a default installation, Oracle Database automatically manages the undo data. There is typically no need for database administrator (DBA) intervention. However, if your installation uses Oracle Flashback operations, then you may have to perform some undo management tasks to ensure the success of these operations.

This section provides background information and instructions for managing undo data. It contains the following topics:

About Undo Data

When a transaction modifies data, Oracle Database copies the original data before modifying it. The original copy of the modified data is called undo data. Saving this information is necessary for the following reasons:

  • To undo any uncommitted changes made to the database if a rollback is necessary. A rollback can be needed because a user wants to undo the changes of a misguided or unintentional transaction, or it can be part of a recovery operation.

  • To provide read consistency, which means that each user can get a consistent view of data, even while other changes may be occurring against the data. With read consistency, a user session does not see uncommitted changes made in other user sessions (sometimes referred to as dirty reads). For example, if a user issues a query at 10:00 a.m. and the query lasts for 15 minutes, then the query results reflect the entire state of the data at 10:00 a.m., regardless of update or insert operations performed by other users after the query started.

  • To enable certain Oracle Flashback features, such as Oracle Flashback Query and Oracle Flashback Table, which enable you to view or recover data to a previous point in time.

Undo Tablespace

With automatic undo management, undo data is stored in an undo tablespace. Undo tablespaces have additional properties beyond those of permanent tablespaces. There can be multiple undo tablespaces, but only one can be active for an Oracle instance.

When you create the database using Database Configuration Assistant (DBCA), it creates an autoextending undo tablespace named UNDOTBS1, with a maximum extension size of 32,767 MB.

Undo Retention

Oracle Database automatically ensures that undo data that is in use by an active transaction is never overwritten until that transaction has been committed. After the transaction has been committed, the space occupied by that undo data can be reused, or overwritten. In this case, that undo data could be overwritten if space in the undo tablespace becomes scarce.

Even after a transaction has been committed, it is useful to retain (not overwrite) its undo data, to ensure the success of Oracle Flashback features and for read consistency for long-running queries. To this end, the database maintains and automatically tunes an undo retention period. Committed undo data whose age is less than the undo retention period is retained for use by queries or Oracle Flashback operations.


See Also:


About Managing Undo Data

Although by default Oracle Database manages undo data and the undo tablespace automatically, if your installation uses Oracle Flashback features, then you may have to perform some undo management tasks to ensure the success of these operations.

Oracle Flashback operations resulting in snapshot too old errors indicate that you must intervene to ensure that sufficient undo data is retained to support these operations.

The following methods better support Oracle Flashback operations:

  • Set the minimum undo retention period for the autoextending tablespace to be as long as the longest expected Oracle Flashback operation.

    You achieve this goal by setting the UNDO_RETENTION initialization parameter. See Oracle Database Administrator's Guide for details.

  • Change the undo tablespace to a fixed size.

    For an autoextending undo tablespace, Oracle Database always automatically tunes the undo retention period to be slightly longer than the longest-running active query. However, this autotuned retention period may be insufficient to accommodate Oracle Flashback operations. If the undo tablespace has autoextending disabled, or has a fixed size, then Oracle Database uses a different method for tuning the undo retention period to better accommodate Oracle Flashback operations.

    To change the undo tablespace to a fixed size, you must choose a tablespace size that is sufficiently large. If you choose an undo tablespace size that is too small, then the following errors could occur:

    • DML could fail because there is not enough space to accommodate undo data for new transactions.

    • Long-running queries could fail with a snapshot too old error, which means that there was insufficient undo data for read consistency.

    Oracle Enterprise Manager Database Control (Database Control) includes an Undo Advisor to help you determine the minimum size for the fixed size of the undo tablespace. See "Computing the Minimum Undo Tablespace Size Using the Undo Advisor".

Viewing Undo Information

You can use the Automatic Undo Management page to view the following information about your undo configuration:

  • Name and current size of the undo tablespace

  • Autoextend tablespace setting (Yes or No)

  • Current autotuned undo retention period

To view undo information:

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to view the Server subpage.

  3. In the Database Configuration section, click Automatic Undo Management.

    The Automatic Undo Management page appears.

Description of undo_management_112.gif follows
Description of the illustration undo_management_112.gif


See Also:


Computing the Minimum Undo Tablespace Size Using the Undo Advisor

If you must change the undo tablespace to a fixed size, then use the Undo Advisor to help determine the minimum required size. You can also use the Undo Advisor to set the minimum undo retention period.

To configure the undo tablespace to have a fixed size, Oracle suggests that you first allow enough time after database creation to run a full workload, thus allowing the undo tablespace to grow to its minimum required size to handle the workload. Then, you can use the Undo Advisor to determine the best size to configure the undo tablespace to allow for future long-running queries and Oracle Flashback operations.

To compute the minimum undo tablespace size using the Undo Advisor:

  1. Go to the Automatic Undo Management page.

    See "Viewing Undo Information".

  2. Decide whether you want to compute the minimum size of the undo tablespace based on statistics gathered over a designated time period (such as the last 7 days), or based on an undo retention period of a duration that you choose.

    The automatically gathered statistics include the duration of the longest-running query and the undo generation rate. Computing the minimum undo tablespace size based on these statistics is advisable if you do not use Oracle Flashback features or if you do not expect future long-running queries to exceed the duration of previous long-running queries.

    If you prefer to choose and enter the duration of a desired undo retention period, then the duration must be based on your expectations of the duration of future long-running queries or Oracle Flashback operations.

  3. To compute the minimum undo tablespace size based on statistics gathered over a period, complete the following steps:

    1. In the Analysis Period section, in the Analysis Time Period list, select the desired analysis time period.

      If you select Customize Time Period, then a page appears that enables you to enter the starting and ending date and time for the period.

    2. Select Automatically chosen based on longest query in analysis period.

    3. Click Run Analysis.

      The minimum required undo tablespace size is displayed in the Analysis Results section.

    4. (Optional) Click Show Graph to view a graph of the analysis results.

  4. To compute the minimum undo tablespace size based on a duration that you enter, complete the following steps:

    1. In the Analysis Period section, select Specified manually to allow for longer duration queries or flashback.

    2. In the Duration field, enter the desired duration of the undo retention period in seconds, minutes, hours, or days.

      You may compute this duration as follows:

      • Determine the duration of the expected longest-running query for your workload.

        You can base your determination on the longest-running query recorded during a previous workload period. This information is available from the System Activity subpage of the Automatic Undo Management page. You choose the analysis period for this subpage by selecting from the Analysis Time Period list on the General subpage. You can choose a custom analysis period that corresponds to your typical workload period.

      • Determine the longest duration that is expected for an Oracle Flashback operation.

      • Take the maximum of these two durations.

    3. In the Analysis Period section of the General subpage, click Run Analysis.

      The minimum required undo tablespace size is displayed in the Analysis Results section.

    4. (Optional) Click Show Graph to view a graph of the analysis results.

      Description of undo_management_graph.gif follows
      Description of the illustration undo_management_graph.gif

  5. (Optional) Click the tick-mark, or point, on the curve that corresponds to the desired undo retention period.

    The Duration field changes to match the selected undo retention period, and the Minimum Required Undo Tablespace Size field above the graph changes to reflect the matching required size.

  6. (Optional) Click Apply.

    The minimum undo retention period is set to the value of the Duration field.


Note:

Running an analysis or setting the minimum undo retention with the Undo Advisor does not change the size of the undo tablespace. You must follow the instructions in "Changing the Undo Tablespace to a Fixed Size" to change the size of the undo tablespace.

Changing the Undo Tablespace to a Fixed Size

You change the undo tablespace to a fixed size to prevent the tablespace from growing too large or to better support Oracle Flashback operations.

To change the undo tablespace to a fixed size:

  1. On the Automatic Undo Management page, after determining the minimum required undo tablespace size, click Edit Undo Tablespace.

    The Edit Tablespace page appears, displaying the properties of the undo tablespace.

  2. In the Datafiles section, click Edit.

    The Edit Datafile page appears.

  3. In the File Size field, enter the computed minimum size for the undo tablespace.

    See "Computing the Minimum Undo Tablespace Size Using the Undo Advisor".

  4. In the Storage section, deselect Automatically extend data file when full (AUTOEXTEND).

  5. Click Continue.

    The Edit Tablespace page returns.

  6. Click Apply.

    A confirmation message appears.

Storage: Oracle By Example Series

Oracle By Example (OBE) has a series on the Oracle Database 2 Day DBA guide. This OBE steps you through the tasks in this chapter and includes annotated screenshots.

To view the Storage OBE, in your browser, enter the following URL:

http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/2day_dba/storage/storage.htm

PKt׋PK1@OEBPS/schema.htm Managing Schema Objects

8 Managing Schema Objects

This chapter discusses the creation and management of schema objects. It contains the following sections:

About Schema Objects

A schema is a collection of database objects. A schema is owned by a database user and shares the same name as the user. Schema objects are logical structures created by users. Some objects, such as tables or indexes, hold data. Other objects, such as views or synonyms, consist of a definition only.


Note:

There is no relationship between a tablespace and a schema. Objects in the same schema can use storage in different tablespaces, and a tablespace can contain data from different schemas.

Naming Schema Objects

Every object in the database belongs to one schema and has a unique name within that schema. Multiple database objects can share the same name, if they are in different schemas. You can use the schema name to unambiguously refer to objects. For example, hr.employees refers to the table named employees in the hr schema. (The employees table is owned by hr.) The terms database object and schema object are used interchangeably.

When you create a database object, you must ensure that you create it in the intended schema. One method is to log in to the database as the user who owns the schema and then create the object. Generally, you place all the objects that belong to a single application in the same schema.

A schema object name must abide by certain rules. In addition to being unique within a schema, a schema object name cannot be longer than 30 bytes and must begin with a letter. If you attempt to create an object with a name that violates any of these rules, then the database raises an error.

The Show SQL Button

You can create and manipulate schema objects with SQL or with Oracle Enterprise Manager Database Control (Database Control).

When creating schema objects using Database Control, you can click the Show SQL button to display the SQL statement that is the equivalent of the schema object properties that you specified with the graphical user interface. Database Control submits this SQL statement to create the schema object. This option shows the statement even if it is incomplete, so you must enter all specifications for the schema object to see the complete SQL statement that Database Control submits.


See Also:


About Schema Object Management Privileges

As a database administrator (DBA), you can create, modify, and delete schema objects in your own schema and in any other schema. For purposes of this discussion, a database administrator is defined as any user who is granted the DBA role. This includes the SYS and SYSTEM users by default. Oracle recommends granting the DBA role only to those users who require administrative type access.

You can enable other users to manage schema objects without necessarily granting them DBA privileges. For example, a common scenario is to enable an application developer to create, modify, and delete schema objects in his or her own schema. To do so, you grant the RESOURCE role to the application developer.

As described in "Granting Access to Database Control for Nonadministrative Users", you must also grant the developer access to Database Control before he or she can log in to Database Control to manage schema objects. If you do not grant access to Database Control, then the developer must manage schema objects with SQL*Plus or SQL Developer.

Managing Tables

The following topics discuss database tables and how to create and modify them:

About Tables

The table is the basic unit of data storage in an Oracle database. It holds all user-accessible data. Each table is made up of columns and rows. In the employees table, for example, there are columns called last_name and employee_id. Each row in the table represents a different employee, and contains a value for last_name and employee_id.

When you create a table, you specify the table type, and define its columns and constraints. Constraints are rules that help preserve data integrity.

This section contains the following topics:

About Table Types

The most common type of table in an Oracle database is a relational table, which is structured with simple columns similar to the employees table. Two other table types are supported: object tables and XMLType tables. Any of the three table types can be defined as permanent or temporary. Temporary tables hold session-private data that exists only for the duration of a transaction or session. They are useful in applications where a results set must be held temporarily in memory, perhaps because the results set is constructed by running multiple operations.

You can build relational tables in either heap or index-organized structures. In heap structures, the rows are not stored in any particular order. In index-organized tables, the row order is determined by the values in one or more selected columns. For some applications, index-organized tables provide enhanced performance and more efficient use of disk space.

This section describes permanent, heap-organized tables. For information about other table types and when to use them, see Oracle Database Administrator's Guide, Oracle Database Concepts, and Oracle Database Performance Tuning Guide. For the syntax required to create and alter tables with SQL, see Oracle Database SQL Language Reference.

About Table Column Attributes

You define table columns to hold your data. When you create a column, you specify the following attributes:

Data Type

The data type attribute defines the kind of data to be stored in the column. When you create a table, you must specify a data type for each of its columns.

Data types define the domain of values that each column can contain. For example, DATE columns cannot accept the value February 29 (except for a leap year) or the values 2 or SHOE. Each value subsequently inserted in a column assumes the column data type. For example, if you insert 17-JAN-2004 into a date column, then Oracle Database treats that character string as a date value after verifying that it converts to a valid date.

Table 8-1 lists some common Oracle Database built-in data types.

Table 8-1 Common Data Types

Data TypeDescription

VARCHAR2(size [BYTE|CHAR])

Variable-length character string having a maximum length of size bytes or characters. A column to hold postal codes for different countries, for example, might be restricted to 12 bytes by defining it as VARCHAR2(12).

You can use the CHAR qualifier, for example VARCHAR2(10 CHAR), to indicate the maximum length in characters, without regard for the number of bytes required. This is especially useful for languages that use characters with double-byte and triple-byte lengths. The BYTE and CHAR qualifiers override the setting of the NLS_LENGTH_SEMANTICS parameter, which has a default of bytes. The maximum size is 4000 bytes or characters. The minimum is 1 byte or 1 character. You must specify size for VARCHAR2.

See Oracle Database Globalization Support Guide for more information.

NUMBER (p,s)

Number having precision p and scale s. Precision sets the maximum number of digits in the number, and scale defines how many of the digits are to the right of the decimal point. For example, a field to hold monetary values might be defined as NUMBER(12,2), providing 10 digits for the primary unit of currency (dollars, pounds, marks, and so on) and two digits for the secondary unit (cents, pennies, pfennigs, and so on). The precision p can range from 1 to 38. The scale s can range from -84 to 127.

DATE

A composite value that includes both a date and time component. For each DATE value, the database stores the following information: century, year, month, day, hour, minute, and second. When entering a date into a table column of type DATE, you must use the format specified by the NLS_DATE_FORMAT initialization parameter. The NLS_TERRITORY initialization parameter determines the default value of the NLS_DATE_FORMAT parameter. For example, in the United States, the NLS_DATE_FORMAT parameter defaults to 'DD-MON-RR'. You must therefore enter a date in the format '11-JAN-06'. Because this format does not include a time component, the time defaults to 12:00:00 a.m. (midnight). You can also use the TO_DATE function, which converts a character string to a date, to include a time component or to enter a date in another format. The valid date range is from January 1, 4712 BC to December 31, 9999 AD.

CLOB

A character large object (CLOB) containing single-byte or multibyte characters. Both fixed-width and variable-width character sets are supported, both using the database character set. The maximum size is (4 gigabytes - 1) * (database block size). For example, for a block size of 32K, the maximum CLOB size is 128 terabytes.


NOT NULL Column Constraint

Constraints determine valid values for the column. In Oracle Enterprise Manager Database Control (Database Control), the only constraint you can define at the column level on the Create Table page is the NOT NULL constraint, which requires that a value be included in the column whenever a row is inserted or updated. Unlike other constraints described in "About Table-Level Constraints", which can be defined as part of the column definition or part of the table definition, the NOT NULL constraint must be defined as part of the column definition.

Use a NOT NULL constraint when data must be supplied for a column for the integrity of the database. For example, if all employees must belong to a specific department, then the column that contains the department identifier must be defined with a NOT NULL constraint. However, do not define a column as NOT NULL if the data can be unknown or may not exist when rows are added or changed. An example of a column for which you must not use a NOT NULL constraint is the second, optional line in a mailing address.

The database automatically adds a NOT NULL constraint to the column or columns included in the primary key of a table.

Default Value

This value is automatically stored in the column whenever a new row is inserted without a value being provided for the column. You can specify a default value as a literal or as an expression. However, there are limitations on how you construct the expression. See Oracle Database SQL Language Reference for details.

Encryption

You can enable automatic encryption for column data. See the discussion of transparent data encryption in Oracle Database 2 Day + Security Guide for more information.

About Table-Level Constraints

In an Oracle database, you can apply rules to preserve the integrity of your data. For example, in a table that contains employee data, the employee name column cannot accept NULL as a value. Similarly, in this table, you cannot have two employees with the same ID.

Oracle Database enables you to apply data integrity rules called constraints, both at the table level and at the column level. Any SQL statement that attempts to insert or update a row that violates a constraint results in an error, and the statement is rolled back. Likewise, any attempt to apply a new constraint to a populated table also results in an error if any existing rows violate the new constraint.

The types of constraints that you can apply at the table level are as follows:

  • Primary Key—Requires that a column (or combination of columns) be the unique identifier of the row. A primary key column does not allow NULL values.

  • Unique Key—Requires that no two rows can have duplicate values in a specified column or combination of columns. The set of columns is considered to be a unique key.

  • Check—Requires that a column (or combination of columns) satisfy a condition for every row in the table. A check constraint must be a Boolean expression. It is evaluated each time that a row is inserted or updated. An example of a check constraint is: SALARY > 0.

  • Foreign Key—Requires that for a particular column (or combination of columns), all column values in the child table exist in the parent table. The table that includes the foreign key is called the dependent or child table. The table that is referenced by the foreign key is called the parent table. An example of a foreign key constraint is where the department column of the employees table must contain a department ID that exists in the parent department table.

Constraints can be created and usually modified with different statuses. The options include enabled or disabled, which determine if the constraint is checked when rows are added or modified, and deferred or immediate, which cause constraint validation to occur at the end of a transaction or at the end of a statement, respectively.


See Also:


Other Table Creation Considerations

This section describes some additional considerations for creating tables. It contains the following topics:

User-Defined Types and Large Objects (LOBs)

Your new table can include one or more columns defined with user-defined types. User-defined types enable a single column in a single row to contain multiple values. The multiple values can be represented as arrays, nested tables, or objects, where an object type represents a real-world entity such as a purchase order. (Retrieving a purchase order–type column value could return a record that contains purchase order number, customer number, amount, and so on.) User-defined types are created with the CREATE TYPE statement and are described in detail in Oracle Database SQL Language Reference.

Large object (LOB) columns are used to contain unstructured data (such as text or streaming video), and can hold terabytes of information. In Oracle Database 11g, you can use SecureFiles, the next generation LOB data type, which provide high performance, easier manageability, and full backward compatibility with existing LOB interfaces. SecureFiles also offer advanced features such as intelligent data compression, deduplication and transparent encryption. The LOB implementation available in Oracle Database 10g Release 2 and prior releases is still supported for backward-compatibility reasons and is now referred to as BasicFiles. If you add a LOB column to a table, then you can specify whether it should be created as a SecureFile or a BasicFile. If you do not specify the storage type, then the LOB is created as a BasicFile to ensure backward compatibility.

When creating a table that contains one or more LOB columns, select the LOB column, then click Advanced Attributes on the General subpage of the Create Table page to specify the storage type (BasicFile or SecureFile) and the storage options for the LOB column. To specify the same storage type and storage options for all LOB columns in a table, click Set Default LOB Attributes.

Partitioned Tables and Indexes

You can partition tables and indexes. Partitioning helps to support very large tables and indexes by enabling you to divide the tables and indexes into smaller and more manageable pieces called partitions. SQL queries and DML statements do not have to be modified to access partitioned tables and indexes. Partitioning is transparent to the application.

After partitions are defined, certain operations become more efficient. For example, for some queries, the database can generate query results by accessing only a subset of partitions, rather than the entire table. This technique (called partition pruning) can provide order-of-magnitude gains in improved performance. In addition, data management operations can take place at the partition level, rather than on the entire table. This results in reduced times for operations such as data loads; index creation and rebuilding; and backup and recovery.

Each partition can be stored in its own tablespace, independent of other partitions. Because different tablespaces can be on different disks, this provides a table structure that can be better tuned for availability and performance. Storing partitions in different tablespaces on separate disks can also optimize available storage usage, because frequently accessed data can be placed on high-performance disks, and infrequently retrieved data can be placed on less expensive storage.

Partitioning is useful for many types of applications that manage large volumes of data. Online transaction processing (OLTP) systems often benefit from improvements in manageability and availability, while data warehousing systems benefit from increased performance and manageability.

Physical Storage Attributes

You can specify several storage attributes for a table. For example, you can specify the initial size of the table on disk. For more information about setting storage attributes for a table, see Oracle Database Administrator's Guide and Oracle Database SQL Language Reference.

Compressed Tables

Table Compression is suitable for both OLTP applications and data warehousing applications. Compressed tables require less disk storage and result in improved query performance due to reduced I/O and buffer cache requirements. Compression is transparent to applications and incurs minimal overhead during bulk loading or regular DML operations such as INSERT, UPDATE or DELETE. You can configure table compression on the Storage subpage of the Create Table page.


See Also:


Viewing Tables

You can use Database Control to list all the tables in a specified schema, and to view the definitions of individual tables.

To view tables:

  1. Go to the Database Home page, logging in as user SYSTEM.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Schema to view the Schema subpage.

  3. In the Database Objects section, click Tables.

    The Tables page appears.

  4. In the Schema field, enter the name of a schema. Alternatively, click the flashlight icon adjacent to the Schema field to search for a schema.

    Examples of schema names include SYS and hr.

  5. Leave the Object Name field blank to search for and display all tables in the schema. Alternatively, enter a table name or partial table name to limit the search.

    If you enter a search string in the Object Name field, then all tables that have names that start with the search string are displayed. If you precede the search string with an asterisk (*), then all tables that have the search string anywhere in the table name are displayed.

  6. Click Go.

    The tables in the specified schema are displayed.

    This image shows the Tables page.
    Description of the illustration hr_tables.gif

  7. To view the definition of a particular table, select the table and then click View. Alternatively, click the table name.

    The View Table page appears.


See Also:


Viewing Table Data

Besides viewing table names and table definitions, you can view the data stored in the table, and the SQL statement used to display the data. You can also change the SQL statement to alter the results set.

To view table data:

  1. Search for a table as described in "Viewing Tables". For example, search for the tables in the hr schema.

  2. Select the table that contains the data.

    For example, select employees.

  3. In the Actions list, select View Data, and then click Go.

    The View Data for Table page appears.

    This image is described in the text.
    Description of the illustration view_employees.gif

    The Query field displays the SQL query that was run to view the data for the table. The Result section shows the data in the table. You may have to use the horizontal scroll bar at the bottom of the page to view all columns.

  4. (Optional) Click a column name to sort the data by that column.

  5. (Optional) Click Refine Query to change the query and redisplay the data.

    The Refine Query for Table page appears. This page enables you to select the columns to display. It also enables you to specify a WHERE clause for the SQL SELECT statement to limit the results.

You can also write and submit your own SQL SELECT statement to see the contents of a table. You can run SQL statements by starting a SQL Worksheet session in Database Control. To do so, click SQL Worksheet in the Related Links section of the Database Home page.

A detailed description of the SELECT statement is in Oracle Database SQL Language Reference.


See Also:


Example: Creating a Table

You can use Database Control to create a table. Before you create and populate a table, you can estimate its size to ensure that you have sufficient space to hold its data.

In the following example, you create a table called purchase_orders in the nick schema that you created in Chapter 7, "Administering User Accounts and Security". The table has the following columns:

Column NameData TypeSizeNot NULL
PO_NUMBERNUMBER
Yes
PO_DESCRIPTIONVARCHAR2200No
PO_DATEDATE
Yes
PO_VENDORNUMBER
Yes

To create the PURCHASE_ORDERS table in the NICK schema:

  1. Go to the Database Home page, logging in as user nick or as user SYSTEM.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Schema to view the Schema subpage.

  3. In the Database Objects section, click Tables.

    The Tables page appears.

  4. Click Create.

    The Create Table: Table Organization page appears.

  5. Select Standard, Heap Organized, and then click Continue.

    The Create Table page appears.

  6. In the Name field, enter purchase_orders as the table name, and in the Schema field, enter nick.

    Because a default tablespace was specified when creating the user nick in the section "Example: Creating a User Account", accept the default tablespace setting for the table.

  7. In the Columns section, enter column information for the purchase_orders table as specified in the table in the introduction to this topic. For example, for the first column in the purchase_orders table, enter the name PO_NUMBER and the data type NUMBER, and select the Not NULL check box.

    For all purchase_orders columns, you can leave Scale and Default Value blank.

    Description of purchase_orders2.gif follows
    Description of the illustration purchase_orders2.gif


    Note:

    To create the table with partitions, click Partitions at the top of the page during this step.

  8. (Optional) Obtain an estimate of the table size by completing the following steps:

    1. Click Estimate Table Size.

      The Estimate Table Size page appears.

    2. In the Projected Row Count field, enter 400000 (four hundred thousand), and then click Estimate Table Size.

      The estimated results are calculated and displayed.

    3. Click OK to return to the Create Table page.

    The estimate of the table size can help you determine what values to use when specifying the storage parameters for the table.

  9. Click Constraints to view the Constraints subpage, where you can designate a primary key for the table.

  10. In the Constraints list, select PRIMARY, then click Add.

    The Add PRIMARY Constraint page appears.

    Description of primary_constraint.gif follows
    Description of the illustration primary_constraint.gif

  11. In the Available Columns list, select PO_NUMBER, and then click Move.


    Note:

    You can also double-click PO_NUMBER.

    The po_number column moves to the Selected Columns list.

  12. Click Continue to return to the Constraints subpage of the Create Table page.

  13. Click OK.

    The Tables page returns, showing a confirmation message and listing the new table in the tables list. The purchase_orders table is now created with po_number as its primary key.


See Also:


Modifying Table Attributes

You can use Database Control to add and delete table columns and to manage table constraints. This section contains the following topics:


See Also:


Example: Adding Table Columns

In this example, you add columns to the purchase_orders table that you created previously in "Example: Creating a Table". The two new columns are named po_date_received and po_requestor_name.

To add columns to the PURCHASE_ORDERS table:

  1. Go to the Database Home page, logging in as user nick or as user SYSTEM.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Schema to view the Schema subpage.

  3. In the Database Objects section, click Tables.

    The Tables page appears.

  4. In the Schema field, enter nick, and then click Go.

    All tables owned by user nick are displayed.

  5. Select the PURCHASE_ORDERS table, and then click Edit.

    The Edit Table page appears.

  6. In the Columns section, in the first available row, enter the following information about the new po_date_received column:

    Field NameValue
    NamePO_DATE_RECEIVED
    Data TypeDATE

    You can leave Size, Scale, Not NULL, and Default Value blank.

  7. In the next available row, enter the following information about the new po_requestor_name column:

    Field NameValue
    NamePO_REQUESTOR_NAME
    Data TypeVARCHAR2
    Size40

    You can leave Scale, Not NULL, and Default Value blank.

  8. Click Apply.

    An update message appears indicating that the table has been modified successfully.


See Also:


Example: Deleting a Table Column

In this example, you delete the po_requestor_name column that you added to the purchase_orders table in "Example: Adding Table Columns".

To delete the PO_REQUESTOR_NAME column:

  1. Go to the Database Home page, logging in as user nick or as user SYSTEM.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Schema to view the Schema subpage.

  3. In the Database Objects section, click Tables.

    The Tables page appears.

  4. In the Schema field, enter nick and then click Go.

    All tables owned by user nick are displayed.

  5. Select the PURCHASE_ORDERS table, and then click Edit.

    The Edit Table page appears.

  6. In the Columns section, select the PO_REQUESTOR_NAME column, and then click Delete.

    The row that contained the information for the deleted column becomes blank.

  7. Click Apply.

    An update message appears indicating that the table has been modified successfully.


See Also:


Example: Adding a New Table Constraint

In this example, you add a table constraint to the purchase_orders table that you created in "Example: Creating a Table". To enforce the rule that the po_date_received value must be either the same day as, or later than, the value of po_date, you add a check constraint.


Note:

You can also add constraints during table creation, as shown in "Example: Creating a Table". In that example, you added a primary key constraint.

To add a table constraint to the PURCHASE_ORDERS table:

  1. Go to the Database Home page, logging in as user nick or as user SYSTEM.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Schema to view the Schema subpage.

  3. In the Database Objects section, click Tables.

    The Tables page appears.

  4. In the Schema field, enter nick and then click Go.

    All tables owned by user nick are displayed.

  5. Select the PURCHASE_ORDERS table, and then click Edit.

    The Edit Table page appears.

  6. Click Constraints to display the Constraints subpage.

    Description of constraints.gif follows
    Description of the illustration constraints.gif

  7. In the list adjacent to the Add button, select CHECK, and then click Add.

    The Add CHECK Constraint page appears.

  8. In the Name field, enter po_check_rcvd_date, overwriting the system-assigned default name.

  9. In the Check Condition field, enter the following:

    po_date_received >= po_date
    

    This expression indicates that po_date_received must be greater than or equal to po_date. For date columns, this is equivalent to stating that po_date_received must be on the same day as, or later than, po_date.

  10. Click Continue

    The new constraint appears on the Constraints subpage.

  11. Click Apply.

    A confirmation message appears.

Example: Modifying an Existing Table Constraint

There are a few ways in which you can modify a table constraint. You can change the status of an existing table constraint, for example, from an enabled state to a disabled state. In this example, you disable the check constraint that you created for the purchase_orders table in "Example: Adding a New Table Constraint".

To disable a constraint for the PURCHASE_ORDERS table:

  1. Go to the Database Home page, logging in as user nick or as user SYSTEM.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Schema to view the Schema subpage.

  3. In the Database Objects section, click Tables.

    The Tables page appears.

  4. In the Schema field, enter nick and then click Go.

    All tables owned by user nick are displayed.

  5. Select the purchase_orders table, and then click Edit.

    The Edit Table page appears.

  6. Click Constraints to display the Constraints subpage.

  7. Select the constraint named PO_CHECK_RCVD_DATE, and then click Edit.

    The Edit CHECK Constraint page appears.

  8. In the Attributes section, select Disabled, and then click Continue.

  9. Click Apply.

    A confirmation message appears. The Disabled column shows that the check constraint has been disabled.

Example: Deleting a Table Constraint

You can delete constraints from a table with Database Control. Deleting a table constraint may cause the deletion of other constraints. For example, if you delete the primary key constraint from a table (the parent table) that is referenced in a foreign key constraint in another table (the child table), then the foreign key constraint in the child table is also deleted through a cascading delete mechanism.

In this example, you delete the check constraint that you created for the purchase_orders table in "Example: Adding a New Table Constraint".

To delete a constraint from the PURCHASE_ORDERS table:

  1. Go to the Database Home page, logging in as user nick or as user SYSTEM.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Schema to view the Schema subpage.

  3. In the Database Objects section, click Tables

    The Tables page appears.

  4. In the Schema field, enter NICK and then click Go.

    All tables owned by user NICK are displayed.

  5. Select the PURCHASE_ORDERS table, and then click Edit.

    The Edit Table page appears.

  6. Click Constraints to display the Constraints subpage.

  7. Select the constraint named PO_CHECK_RCVD_DATE, and then click Delete.

    The check constraint is removed from the list.

  8. Click Apply.

    A confirmation message appears.


See Also:


Example: Loading Data into a Table

You can use Database Control to load data into a table. You can load data from a source file that is on your local computer—the one where your browser is running—or from a source file that is on the database host computer—the computer on which the Oracle instance is running. Because Database Control invokes the Oracle SQL*Loader utility to load the data, the format of the data in the source file can be of any format that is supported by SQL*Loader. In this example, you use a comma-delimited text file as the source file. In SQL*Loader terminology, the source file is referred to as the data file.

SQL*Loader also uses a control file to control the loading of data from the data file. The control file is a text file that contains statements written in the SQL*Loader command language. These statements specify where to find the data, how to parse and interpret the data, where to insert the data, and more. Database Control contains a Load Data wizard that takes you through the steps of preparing and running a data load job with SQL*Loader. (A wizard is an online, guided workflow.) The Load Data wizard can automatically create the SQL*Loader control file for you.


Note:

The SQL*Loader control file is unrelated to the database control files described in "About Control Files".

In this example, you load data into the PURCHASE_ORDERS table that you created in "Example: Creating a Table". For simplicity, this example loads only three rows.

To prepare for this example, you must create a text file named load.dat on the file system of the database host computer or on the file system of your local computer. The contents of the file should be as follows:

1, Office Equipment, 25-MAY-2006, 1201, 13-JUN-2006
2, Computer System, 18-JUN-2006, 1201, 27-JUN-2006
3, Travel Expense, 26-JUN-2006, 1340, 11-JUL-2006

Note:

This example assumes that the columns in the PURCHASE_ORDERS table are the following: PO_NUMBER, PO_DESCRIPTION, PO_DATE, PO_VENDOR, and PO_DATE_RECEIVED. If your PURCHASE_ORDERS table does not have all these columns (or has additional columns), then modify the data in the text file accordingly.

To load data into the PURCHASE_ORDERS table:

  1. Go to the Database Home page, logging in as user SYSTEM.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Data Movement.

    The Data Movement subpage appears.

  3. In the Move Row Data section, click Load Data from User Files.

    The Load Data: Generate or Use Existing Control File page appears.

  4. Select Automatically Generate Control File, and enter host computer credentials (user name and password) for the database host computer.

  5. Click Continue.

    The first page of the Load Data wizard appears. Its title is Load Data: Data Files.

  6. Follow the steps in the wizard, clicking Next to proceed to each new step.

    For information about using any of the wizard pages, click Help on that page. At the conclusion of the wizard, you submit a job that runs SQL*Loader. A job status page is then displayed. If necessary, refresh the status page until you see a succeeded (or failed) status.

  7. If the job succeeded, then confirm that the data was successfully loaded by doing one of the following:

    • View the table data.

      See "Viewing Table Data".

    • Examine the SQL*Loader log file, which is written to the host computer directory that you designated for the SQL*Loader data file.


    Note:

    If the job succeeds, then it means only that Database Control was able to run the SQL*Loader utility. It does not necessarily mean that SQL*Loader ran without errors. For this reason, you must confirm that the data loaded successfully.

  8. If the job failed, then examine the SQL*Loader log file, correct any errors, and try again.


See Also:


Deleting a Table

If you no longer need a table, then you can delete it using Database Control. When you delete a table, the database deletes the data and dependent objects of the table (such as indexes), and removes the table from the data dictionary.

When you delete a table from a locally managed tablespace that is not the SYSTEM tablespace, the database does not immediately reclaim the space associated with the table. Instead, it places the table and any dependent objects in the recycle bin. You can then restore the table, its data, and its dependent objects from the recycle bin if necessary. You can view the contents of the recycle bin by clicking Recycle Bin on the Tables page. Note that users can see only tables that they own in the recycle bin. See Oracle Database Administrator's Guide for more information about the recycle bin, including how to view, purge, and recover tables for which you are not the owner.

To delete a table:

  1. Search for the table to delete, as explained in "Viewing Tables".

  2. Select the table, and then click Delete With Options.

    The Delete With Options page appears.

  3. Select Delete the table definition, all its data, and dependent objects (DROP).

  4. Select Delete all referential integrity constraints (CASCADE CONTRAINTS).

  5. Click Yes.

    The Tables page returns and displays a confirmation message.


See Also:


Managing Indexes

The following topics describe how to create and manage indexes:

About Indexes

Indexes are optional schema objects that are associated with tables. You create indexes on tables to improve query performance. Just as the index in a guide helps you to quickly locate specific information, an Oracle Database index provides quick access to table data.

You can create as many indexes on a table as you need. You create each index on one or more columns of a table. For example, in a purchase orders table, if you create an index on the vendor number column, then you can then sequentially access the rows of the table in vendor number order, without having to actually sort the rows. Additionally, you can directly access all purchase orders issued to a particular vendor without having to scan the entire table.

After an index is created, it is automatically maintained and used by the database. Changes to the data or structure of a table, such as adding new rows, updating rows, or deleting rows, are automatically incorporated into all relevant indexes. This is transparent to the user.

Some indexes are created implicitly through constraints that are placed on a table. For example, the database automatically creates an index on the columns of a primary key constraint or unique key constraint.

The following topics provide more background information about indexes:

Indexes and Performance

Indexes generally improve the performance of queries and DML statements that operate on a single, existing row or a small number of existing rows. However, too many indexes can increase the processing overhead for statements that add, modify, or delete rows.

To determine if you can improve application performance with more indexes, you can run the SQL Access Advisor in Oracle Enterprise Manager Database Control (Database Control). See "Running the SQL Access Advisor".

Before you add additional indexes, examine the performance of your database for queries and DML. You can then compare performance after the new indexes are added.


See Also:


Index Attributes

Indexes can be created in several ways, using various combinations of index attributes. The primary index attributes are the following:

Standard (B-tree) and Bitmap

A standard, B-tree index contains an entry for each value in the index key along with a disk address of the row where the value is stored. A B-tree index is the default and most common type of index in an Oracle database.

A bitmap index uses strings of bits to encapsulate values and potential row addresses. It is more compact than a B-tree index and can perform some types of retrieval more efficiently. For general use, however, a bitmap index requires more overhead during row operations on the table and should be used primarily for data warehouse environments, as described in Oracle Database Data Warehousing Guide.

Ascending and Descending

The default search through an index is from lowest to highest value, where character data is sorted by ASCII values, numeric data from smallest to largest number, and date from the earliest to the latest value. This default search method is performed in indexes created as ascending indexes. You can cause index searches to reverse the search order by creating the related index with the descending option.

Column and Functional

Typically, an index entry is based on the value or values found in the column or columns of a table. This is a column index. Alternatively, you can create a function-based index in which the indexed value is derived from the table data. For example, to find character data that can be in various combinations of upper and lowercase letters, you can use a function-based index based on the UPPER() function to look for the values as if they were all in uppercase characters.

Single-Column and Concatenated

You can create an index on just one column, which is called a single-column index, or on multiple columns, which is called a concatenated index. Concatenated indexes are useful when all the index columns are likely to be included in the WHERE clause of frequently executed SQL statements.

Nonpartitioned and Partitioned

As with tables, you can partition an index. In most situations, it is useful to partition an index when the associated table is partitioned, and to partition the index using the same partitioning scheme as the table. (For example, if the table is range-partitioned by sales date, then you create an index on sales date and partition the index using the same ranges as the table partitions.) This is known as a local partitioned index. However, you do not have to partition an index using the same partitioning scheme as its table. You can also create a nonpartitioned, or global, index on a partitioned table.


See Also:


Viewing Indexes

You use the Indexes page of Database Control to view the indexes in your database.

To view indexes:

  1. Go to the Database Home page, logging in as user SYSTEM.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Schema to view the Schema subpage.

  3. In the Database Objects section, click Indexes.

    The Indexes page appears.

  4. In the Search By list, do one of the following:

    • Select Index Name to search for indexes by name.

      Every index has a system-assigned or user-assigned name.

    • Select Table Name to search for indexes that belong to a particular table.

  5. In the Schema field, enter the name of a schema. Alternatively, click the flashlight icon adjacent to the Schema field to search for a schema.

  6. Do one of the following:

    • If you are searching by index name, then leave the Object Name field blank to search for and display all indexes in the schema. Alternatively, enter an index name or partial index name as a search string.

      If you enter a search string in the Object Name field, then all indexes that have names that start with the search string are displayed. If you precede the search string with an asterisk (*), then all indexes that have the search string anywhere in the index name are displayed.

    • If you are searching by table name, then enter a table name or partial table name in the Object Name field.

      If you enter a partial table name as a search string, then indexes are displayed for all tables that have names that start with the search string. If you precede the search string with an asterisk (*), then indexes are displayed for all tables that have the search string anywhere in the table name.

  7. Click Go.

    The indexes in the specified schema are displayed.

  8. To view the definition of a particular index, select the index and then click View. Alternatively, double-click the index name.

    The View Index page appears. This page includes basic information about the index, including its status, the table and column or columns on which it is built, the space used by the index, the options used in its definition, and index statistics.


See Also:


Example: Creating an Index

When you create an index, you specify one or more table columns to be indexed and the type of index to create.

In this example, you create a standard B-tree index on the SUPPLIER_ID column in the SH.PRODUCTS table. (The SH schema is part of the sample schemas.)

To create a supplier index on the SH.PRODUCTS table:

  1. View the tables in the SH schema, by following the instructions in the section "Viewing Tables".

  2. Select the PRODUCTS table.

  3. In the Actions list, select Create Index, and then click Go.

    The Create Index page appears.

    Description of create_index.gif follows
    Description of the illustration create_index.gif

  4. Enter the following information:

    • In the Name field, enter PRODUCTS_SUPPLIER_IDX.

    • For the Tablespace field, accept the default value.

    • For Index Type, select Standard - B-tree.

    • In the Table Columns list, select the SUPPLIER_ID column by entering 1 in the Order column.

      If your index were to consist of multiple columns (a concatenated index), then you would enter 2 in the next column to include, and so on. These numbers indicate the order in which the columns are to be concatenated, from left to right, or from most significant in the sort order to least significant.

    • For Sorting Order, accept the default selection of ASC (ascending).

  5. Click OK to create the index.

    The Indexes page returns and displays a confirmation message. The new index is listed in the table of indexes.


See Also:


Example: Deleting an Index

If you no longer need an index, then you can delete it using Database Control.

In this example, you delete the PRODUCTS_SUPPLIER_IDX index that you created previously on the SH.PRODUCTS table in "Example: Creating an Index".


Note:

You cannot delete an index that is currently used to enforce a constraint. You must disable or delete the constraint and then, if the index is not deleted as a result of that action, delete the index.

To delete the supplier index on the SH.PRODUCTS table:

  1. Go to the Database Home page, logging in as user SYSTEM.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Schema to view the Schema subpage.

  3. In the Database Objects section, click Indexes.

    The Indexes page appears.

  4. In the Search By list, select Table Name.

  5. In the Schema field, enter SH.

  6. In the Object Name field, enter PROD.

    You can enter only the first few letters of the table name.

  7. Click Go.

    All indexes on the PRODUCTS table are displayed.

  8. Select the PRODUCTS_SUPPLIER_IDX index, and then click Delete.

    A confirmation page appears.

  9. Click Yes to delete the index.

    The Indexes page returns and displays a confirmation message.


See Also:


Managing Views

The following topics describe how to create and manage views:

About Views

Views are customized presentations of data in one or more tables or other views. You can think of them as stored queries. Views do not actually contain data, but instead derive their data from the tables upon which they are based. These tables are referred to as the base tables of the view.

Similar to tables, views can be queried, updated, inserted into, and deleted from, with some restrictions. All operations performed on a view actually affect the base tables of the view. Views can provide an additional level of security by restricting access to a predetermined set of rows and columns of a table. They can also hide data complexity and store complex queries.

Many important views are in the SYS schema. There are two types: static data dictionary views and dynamic performance views. Complete descriptions of the views in the SYS schema are in Oracle Database Reference.

Static Data Dictionary Views

The data dictionary views are called static views because they change infrequently, only when a change is made to the data dictionary. Examples of data dictionary changes include creating a new table or granting a privilege to a user.

Many data dictionary tables have three corresponding views:

  • A DBA_ view displays all relevant information in the entire database. DBA_ views are intended only for administrators.

    An example of a DBA_ view is DBA_TABLESPACES, which contains one row for each tablespace in the database.

  • An ALL_ view displays all the information accessible to the current user, including information from the schema of the current user, and information from objects in other schemas, if the current user has access to those objects through privileges or roles.

    An example of an ALL_ view is ALL_TABLES, which contains one row for every table for which the user has object privileges.

  • A USER_ view displays all the information from the schema of the current user. No special privileges are required to query these views.

    An example of a USER_ view is USER_TABLES, which contains one row for every table owned by the user.

The columns in the DBA_, ALL_, and USER_ views are usually nearly identical.

Dynamic Performance Views

Dynamic performance views monitor ongoing database activity. They are available only to administrators. The names of dynamic performance views start with the characters V$. For this reason, these views are often referred to as V$ views.

An example of a V$ view is V$SGA, which returns the current sizes of various System Global Area (SGA) memory components.

Displaying Views

You can use Oracle Enterprise Manager Database Control (Database Control) to list the views in a specified schema. You can also display the view definitions.

To display views:

  1. Go to the Database Home page, logging in as user SYSTEM.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Schema to view the Schema subpage.

  3. In the Database Objects section, click Views.

    The Views page appears.

  4. In the Schema field, enter the name of a schema. Alternatively, click the flashlight icon adjacent to the Schema field to search for a schema.

    Examples of schema names include SYS and hr.

  5. Leave the Object Name field blank to search for and display all views in the schema. Alternatively, enter a view name or partial view name to limit the search.

    If you enter a search string in the Object Name field, then all views that have names that start with the search string are displayed. If you precede the search string with an asterisk (*), then all views that have the search string anywhere in the view name are displayed.

  6. Click Go.

    The views in the specified schema are displayed.

  7. To view the definition of a particular view, select the view and then click View. Alternatively, double-click the view name.

    The View page appears.


See Also:


Example: Creating a View

In this example, you create a view named king_view, which uses the hr.employees table as its base table. (The hr schema is part of the sample schemas.) This view filters the table data so that only employees who report directly to the manager King, whose employee ID is 100, are returned in queries. In an application scenario, this view adds an additional level of security to the hr.employees table while providing a suitable presentation of relevant information for manager King.

To create the KING_VIEW view on the HR.EMPLOYEES table:

  1. Go to the Database Home page, logging in as user hr or as user SYSTEM.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Schema to view the Schema subpage.

  3. In the Database Objects section, click Views.

    The Views page appears.

  4. Click Create.

    The Create View page appears.

  5. Enter the following information:

    • In the Name field, enter king_view.

    • In the Schema field, enter hr.

    • In the Query Text field, enter the following SQL statement:

      SELECT * FROM hr.employees
      WHERE manager_id = 100
      
  6. Click OK.

    The Views page returns and displays a confirmation message. The new view appears in the list of views.

To test the new KING_VIEW view:

  1. On the Views page, select king_view and then select View Data from the Actions list.

  2. Click Go.

    The View Data for View page appears. The data selected by the view appears in the Result section.

  3. (Optional) You can also test the view by submitting the following SQL statement in SQL*Plus or SQL Developer:

    SELECT * FROM king_view
    

See Also:


Example: Deleting a View

If you no longer need a view, then you can delete it using Database Control.

In this example, you delete the hr.king_view view that you created previously in "Example: Creating a View".

To delete the HR.KING_VIEW view:

  1. Go to the Database Home page, logging in as user SYSTEM.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Schema to view the Schema subpage.

  3. In the Database Objects section, click Views.

    The Views page appears.

  4. In the Schema field, enter hr.

  5. In the Object Name field, enter king.

    You can enter just the first few letters of the view name.

  6. Click Go.

    KING_VIEW is displayed in the list of views.

  7. Select KING_VIEW, and then click Delete.

    A Confirmation page appears.

  8. Click Yes to delete the view.

    The Views page returns and displays a confirmation message.


See Also:


Managing Program Code Stored in the Database

This section describes your responsibilities as a database administrator (DBA) for program code that is stored in the database. It contains the following topics:

About Program Code Stored in the Database

Oracle Database offers the ability to store program code in the database. Developers write program code in PL/SQL or Java, and store the code in schema objects. You, as the DBA, can use Oracle Enterprise Manager Database Control (Database Control) to manage program code objects such as:

  • PL/SQL packages, procedures, functions, and triggers

  • Java source code (Java sources) and compiled Java classes

The actions that you can perform include creating, compiling, creating synonyms for, granting privileges on, and showing dependencies for these code objects. You access administration pages for these objects by clicking links in the Programs section of the Schema subpage.

Note that creating and managing program code objects is primarily the responsibility of application developers. However, as a DBA you might have to assist in managing these objects. Your most frequent task for program code objects might be to revalidate (compile) them, because they can become invalidated if the schema objects on which they depend change or are deleted.


Note:

Other types of schema objects besides program code objects can become invalid. For example, if you delete a table, then any views that reference that table become invalid.


See Also:


Validating (Compiling) Invalid Schema Objects

As a database administrator (DBA), you may be asked to revalidate schema objects that have become invalid. Schema objects (such as triggers, procedures, or views) might be invalidated when changes are made to objects on which they depend. For example, if a PL/SQL procedure contains a query on a table and you modify table columns that are referenced in the query, then the PL/SQL procedure becomes invalid. You revalidate schema objects by compiling them.


Note:

It is not always possible to revalidate a schema object that stores program code by compiling it. You may have to take remedial actions first. For example, if a view becomes invalid because a table that it references is deleted, then compiling the view produces an error message that indicates that the table does not exist. You cannot validate the view until you re-create the table or retrieve it from the recycle bin.

Database Control notifies you when schema objects become invalid by displaying an alert in the Alerts section of the Database Home page.

There are two ways to display schema objects that require validation: by following an alert on the Database Home page, or by viewing the appropriate object page (Views page, Procedures page, and so on) and searching for the objects.

To validate schema objects starting from an alert:

  1. Go to the Database Home page, logging in as user SYSTEM.

    See "Accessing the Database Home Page".

  2. In the Alerts section, search for alerts with the following message:

    n object(s) are invalid in the schema_name schema.
    

    An example of such a message is the following:

    4 object(s) are invalid in the HR schema.
    

    There is a separate message for each schema that contains invalid objects.

    Description of invalid_object_alerts.gif follows
    Description of the illustration invalid_object_alerts.gif

  3. In the Message column, click an invalid object message.

    The Owner's Invalid Object Count page appears.

  4. Under Related Links, click Invalid Objects Details.

    The Invalid Object Details page appears, showing a list of invalid objects.

    Description of invalid_object_details.gif follows
    Description of the illustration invalid_object_details.gif

  5. Select one or more objects, and then click Recompile.

    A confirmation message appears, and the newly validated objects are removed from the list.

To validate a schema object starting from an object page:

  1. Go to the Database Home page, logging in as user SYSTEM.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Schema to view the Schema subpage.

  3. In the Database Objects section, click the link for the object type to validate.

    For example, to validate a view, click Views.

  4. On the object page (for example, the Views page), enter a schema name and, optionally, an object name or partial object name, and then click Go.

    The schema objects are displayed.

  5. Select the schema object to validate.

  6. In the Actions list, select Compile, and then click Go.

    A confirmation message appears.


See Also:


Working with Other Schema Objects

You can manage other schema objects with Oracle Enterprise Manager Database Control (Database Control), including the following:

Schemas: Oracle By Example Series

Oracle By Example (OBE) has a series on the Oracle Database 2 Day DBA guide. This OBE steps you through the tasks in this chapter and includes annotated screenshots.

To view the Schemas OBE, in your browser, enter the following URL:

http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/2day_dba/schema/schema.htm

PKPK1@OEBPS/intro.htmA3 Introduction

1 Introduction

As a database administrator (DBA), you are responsible for the overall operation of Oracle Database. This introductory chapter is intended to help orient you to many common DBA tasks, to the tools available to you, and to this guide. The chapter contains the following sections:

About This Guide

Oracle Database 2 Day DBA is a database administration quick start guide that teaches you how to perform day-to-day database administrative tasks. The goal of this guide is to help you understand the concepts behind Oracle Database, and to help you learn how to perform all common administrative tasks needed to keep the database operational. These tasks include configuring the database, managing memory and storage, managing users, managing database objects such as tables, performing basic troubleshooting, creating backups for your database, performance monitoring activities, and more.

The primary administrative interface used in this guide is Oracle Enterprise Manager Database Control, featuring all the self-management capabilities introduced in Oracle Database.

What This Guide Is Not

Oracle Database 2 Day DBA is task-oriented. The objective is to describe why and when administrative tasks must be performed. Where appropriate, it describes the concepts necessary to understand and complete a task, assuming the reader has no prior knowledge of the database. This guide is not an exhaustive discussion of all Oracle Database concepts. For this type of information, see Oracle Database Concepts.

Additionally, for a complete discussion of administrative tasks, see Oracle Database Administrator's Guide.

How to Use This Guide with Related Material

This guide is part of a comprehensive set of learning material for administering Oracle Database, which includes a 2 Day DBA Oracle By Example (OBE) series, available on the Web, and in an Oracle University instructor-led class.

Every chapter in Oracle Database 2 Day DBA has an associated Oracle By Example lesson. The OBE steps through all tasks in the chapter and includes annotated screenshots. In some cases, the OBE provides additional information to help you complete the task.

At the end of each chapter, you can find the link to its associated OBE lesson. The home page for the 2 Day DBA Oracle By Example series is as follows:

http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/2day_dba/index.html

In addition, Oracle University provides a related instructor-led course called Oracle Database 11g: 2 Day DBA. Contact Oracle University for more information.

About Oracle Database

Oracle Database is a relational database with object and Extensible Markup Language (XML) capabilities. In a relational database, all data is stored in two-dimensional tables that are composed of rows and columns. Oracle Database enables you to store data, update it, and efficiently retrieve it, with a high degree of performance, reliability, and scalability.

Oracle Database is composed of the following elements:

Common Oracle DBA Tasks

As an Oracle DBA, you can expect to be involved in the following tasks:

In a small to medium-sized database environment, you might be the sole person performing these tasks. In large, enterprise environments, the job is often divided among several DBAs, each of whom has a specialty, such as database security or database tuning.


See Also:


Tools for Administering the Database

The goal of this guide is to enable you to quickly and efficiently create an Oracle database, and to provide guidance in basic database administration.

The following are some products, tools, and utilities you can use to achieve your goals as a database administrator:

PKZ[F3A3PK1@OEBPS/backrest.htm Performing Backup and Recovery

9 Performing Backup and Recovery

This chapter introduces you to Oracle Database backup and recovery with Oracle Enterprise Manager Database Control. After reading this chapter, you should be familiar with the basic concepts of Oracle Database backup and recovery operations, know how to implement a disk-based backup strategy, and perform simple repairs to database files.

This chapter contains the following sections:


See Also:


Overview of Database Backup and Recovery

The focus in Oracle Database backup and recovery is on the physical backup of database files, which permits you to reconstruct your database. The files protected by the backup and recovery facilities built into Oracle Enterprise Manager Database Control (Database Control) include data files, control files, server parameter files, and archived redo log files. With these files you can reconstruct your database. The backup mechanisms work at the physical level to protect against file damage, such as the accidental deletion of a data file or the failure of a disk drive.

Oracle Recovery Manager (RMAN), a command-line and Enterprise Manager-based tool, is the method preferred by Oracle for efficiently backing up and recovering your Oracle database. RMAN is designed to work intimately with the server, providing block-level corruption detection during backup and restore. RMAN optimizes performance and space consumption during backup with file multiplexing and backup set compression, and integrates with leading tape and storage media products.

Logical backups, such as exporting database objects such as tables or tablespaces, are a useful supplement to physical backups, but cannot protect your whole database. An effective backup strategy must be based on physical backups.

The Oracle Database flashback features provide a range of physical and logical data recovery tools as efficient, easy-to-use alternatives to physical and logical backups. The flashback features enable you to reverse the effects of unwanted database changes without restoring data files from backup or performing media recovery.

This section introduces the following flashback features:

The first two features operate at the logical level, whereas the last feature operates at the physical level. None of the preceding features requires advance preparation such as creating logical exports to allow for retrieval of your lost data. You can use all of the features while your database is available. Oracle Database Backup and Recovery User's Guide discusses the flashback features of Oracle Database at greater length.


Note:

Oracle Flashback Database does not recover missing data files.

The Oracle Enterprise Manager physical backup and recovery features are built on the Recovery Manager (RMAN) command-line client. Database Control makes available many of the RMAN features, and provides wizards and automatic strategies to simplify and further automate RMAN-based backup and recovery.

Database Backup and Recovery Concepts

To back up your database means to make copies of your data files, control file, and archived redo log files (if your database runs in ARCHIVELOG mode). Restoring a database means copying the physical files that comprise the database from a backup medium, typically disk or tape, to their original or to new locations. Database recovery is the process of updating database files restored from a backup with the changes made to the database after the backup, typically using online redo log files.

Consistent and Inconsistent Backups

A backup is either consistent or inconsistent. To make a consistent backup, your database must have been shut down cleanly and remain closed for the duration of the backup. All committed changes in the online redo log files are written to the data files during the shut down process, so the data files are in a transaction-consistent state. When you restore your data files from a consistent backup, you can open the database immediately.

If the database is in ARCHIVELOG mode, then you can make inconsistent backups that are recoverable using archived redo log files. Open database backups are inconsistent because the online redo log files contain changes not yet applied to the data files. The online redo log files must be archived and then backed up with the data files to ensure recoverability.

Despite the name, an inconsistent backup is as robust a form of backup as a consistent backup. The advantage of making inconsistent backups is that you can back up your database while the database is open for updates.


See Also:


Media Recovery

If you restore the archived redo log files and data files, then you must perform media recovery before you can open the database. Any database transactions in the archived redo log files not reflected in the data files are applied to the data files, bringing them to a transaction-consistent state before the database is opened.

Media recovery requires a control file, data files (typically restored from backup), and online and archived redo log files containing changes since the time the data files were backed up. Media recovery is most often used to recover from media failure, such as the loss of a file or disk, or a user error, such as the deletion of the contents of a table.

Media recovery can be a complete recovery or a point-in-time recovery. In a complete recovery, you restore backup data files and apply all changes from the archived and online redo log files to the data files. The database is returned to its state at the time of failure and can be opened with no loss of data.

In a point-in-time recovery, you return a database to its contents at a user-selected time in the past. You restore a backup of data files created before the target time and a complete set of archived redo log files from backup creation through the target time. Recovery applies changes between the backup time and the target time to the data files. All changes after the target time are discarded.

Oracle Enterprise Manager Database Control (Database Control) provides an interface to both a complete and a point-in-time recovery in the form of a Recovery wizard. However, this documentation focuses on complete recovery.


See Also:


Fast Recovery Area

To simplify the management of backup and recovery files, you can create a fast recovery area for your database. The fast recovery area is an Oracle-managed directory, file system, or Oracle Automatic Storage Management disk group that provides a centralized disk location for backup and recovery files. Oracle creates archived logs and flashback logs in the fast recovery area. RMAN can store its backup sets and image copies in the fast recovery area, and it uses it when restoring files during media recovery. The fast recovery area also acts as a disk cache for tape.

Oracle Database automatically manages this storage, deleting files that are no longer needed. Periodically copying backups to tape frees space in the fast recovery area for other files. Oracle recommends that you enable a recovery area to simplify backup management. Except as noted, this documentation assumes the use of a recovery area.


See Also:


RMAN Repository

RMAN maintains a record of database files and backups for each database on which it performs operations. This metadata is called the RMAN repository.

If you back up a file without using RMAN, such as by copying the file at the host operating system level, then you can add metadata about the copy to the RMAN repository. If you later use a command such as RESTORE DATABASE, then RMAN uses the records in the repository to select backups needed for the recovery.

The primary location for the RMAN repository for a database is its control file. The importance of this metadata for RMAN is one more reason why protecting your control file is a vital part of your backup strategy. In some installations, a second copy of the RMAN repository is stored in a schema called the recovery catalog. The recovery catalog is located in a separate database and can store metadata for multiple databases. Use of a recovery catalog is optional and is beyond the scope of this documentation.


See Also:


Configuring Your Database for Basic Backup and Recovery

This section explains how to set up your database to take advantage of Oracle suggested backup strategies. If you configured the database for automated backups with the Oracle Database Configuration Assistant (DBCA), then skip this section.

To take maximum advantage of Oracle Database features that automatically manage backup and recovery files and operations, configure your database as follows:

You must also set several policies governing which files are backed up, what format is used to store backups on disk, and when files become eligible for deletion.

This section contains the following topics:

Specifying Credentials for Backup and Recovery Using Database Control

You must have the proper credentials to perform some configuration tasks for backup and recovery, and to schedule backup jobs and perform recovery. The following credentials may be required:

  • The Oracle Database user you specify when you log in to Oracle Enterprise Manager Database Control (Database Control)

  • The host operating system user whose credentials you provide when performing backup and recovery tasks

To enter credentials for backup and recovery tasks:

  1. Log in to Database Control as a database user with SYSDBA privileges, or provide host operating system credentials for a user in the dba group on UNIX or Linux, or the ora_dba group on Microsoft Windows.

    The host operating system user must also have execute permission for the RMAN command-line client.


    Note:

    The host user may require certain host privileges to run background jobs such as database backups. For example, on UNIX and Linux, the host user must belong to the OSDBA group (typically dba), and on Windows, the host user must be a member of the Administrators group and must be granted the Log on as batch job logon right. See your platform documentation for more information.

    For tasks requiring host operating system credentials, a Host Credentials form appears at the bottom of the page used to perform the task. Enterprise Manager uses the credentials when it starts RMAN jobs that you requested or scheduled.

  2. Optionally, in the Host Credentials form, select Save as Preferred Credential.

    If you select this option before performing your action, then the provided credentials are stored persistently for the currently logged-in Oracle Database user. The preferred credentials are reused by default whenever you log in as that user and perform operations requiring host credentials.


    Note:

    In situations in which the database is shut down, you may still be prompted for host credentials even if you have saved the preferred credentials.

Planning Space Usage and Location for the Fast Recovery Area

You should place the fast recovery area on a separate disk from the working set of database files. Otherwise, the disk becomes a single point of failure for your database.

The amount of disk space to allocate for the fast recovery area depends on the size and activity levels of your database, which determine the size of your data files and online redo log files in addition to your recovery objectives. Your objectives dictate what kinds of backups you use, when you make them, and how long to keep them.

About the Backup Retention Policy and the Fast Recovery Area

Space management in the fast recovery area is governed by a backup retention policy. A retention policy determines when files are obsolete, meaning that they are no longer needed to meet your data recovery objectives.

Retention policies can be based on redundancy of backups or on a recovery window (period of time). When using a policy based on redundancy, the fast recovery area considers a backup of a file obsolete only when the RMAN repository has records of a specified number of more recent backups of that file. When using a recovery policy based on a period of time (or window), you specify a time interval in days. Files are obsolete only when they are no longer needed for complete recovery or point-in-time recovery to a system change number (SCN) within the window. Therefore, a recovery retention policy based on a window is recommended.

Even after files in the fast recovery area are obsolete, they are typically not deleted until space is needed for new files. If space permits, files recently moved to tape remain on disk to avoid restoring them from tape for a recovery. The automatic deletion of obsolete files and files moved to tape from the fast recovery area makes it a convenient archiving destination. Other destinations require manual deletion of logs.

About the Fast Recovery Area Size

Oracle Database Backup and Recovery User's Guide explains how to size the fast recovery area. As a general rule, the larger the fast recovery area, the more useful it is. Ideally, the fast recovery area should be large enough for copies of the data files, control files, online redo log files, and archived redo log files needed to recover the database, and also the copies of these backup files that are kept based on the retention policy.

If your backup strategy includes incremental backups, which are described in "Incremental Backups of Data Files", then add enough space to the fast recovery area for these files. If you can move some backups to tape, then you can reduce the size of the fast recovery area. Note that retrieving files from tape causes longer database restore operations and recovery times.

Configuring Recovery Settings

In the Recovery Settings page, you can configure settings for instance recovery, media recovery, and fast recovery. In this section, you configure the fast recovery area and enable archiving for the database.

You can configure a fast recovery area when first creating the database. If you did not perform this task at database creation time, however, then you can create a fast recovery area for your database now.

To configure a fast recovery area and put the database in ARCHIVELOG mode:

  1. On the host operating system, create a directory to hold the fast recovery area. If you are using Oracle ASM for your storage, then create a new disk group.

    Make sure that the operating system permissions for the directory or disk devices allow the database to create files.

  2. Log in to Enterprise Manager Database Control as user SYS.

  3. On the Database Home page, click Availability to display the Availability subpage.

  4. In the Backup/Recovery section, click Recovery Settings.

    The Recovery Settings page appears.

  5. Complete the following steps:

    1. In the Media Recovery section, select ARCHIVELOG Mode.

    2. If USE_DB_RECOVERY_FILE_DEST is not set as an archiving destination, then set it.

      This initialization parameter indicates that the fast recovery area should be an archiving destination.

      For ease of database management, the best practice is to use the fast recovery area as your only archiving destination.

    3. In the Fast Recovery section, enter the path to the fast recovery area created in Step 1 in Fast Recovery Area Location, and select a value for Fast Recovery Area Size.

    4. Select Enable Flashback Database.

      This option specifies that the database should generate flashback logs in the fast recovery area, enabling you to use Flashback Database. During usual operation, the database occasionally logs images of data blocks to the flashback logs. The database automatically creates, deletes, and resizes flashback logs.

    5. Ensure that the Apply initialization parameter changes to SPFILE only box is not selected.

    6. Click Apply to save your changes.

      A message prompts you to restart the database.

  6. Click Yes.

    The Restart Database: Specify Host and Target Database Credentials page appears.

  7. Enter your host and database credentials, and then click OK.

    See "Specifying Credentials for Backup and Recovery Using Database Control" for information about credentials.

  8. On the Restart Database: Confirmation page, click Yes to begin the restart operations.

    You can click Refresh periodically to monitor the progress of the operation.

  9. Make a consistent (that is, offline) backup of your entire database immediately after switching your database to ARCHIVELOG mode.


    Caution:

    You cannot use backups from before the switch to ARCHIVELOG mode to restore and recover the database to a point in time after the switch. Thus, if you do not immediately make a backup after switching, then you are running your database without a valid backup. See "Performing and Scheduling Backups Using Database Control" to learn how to make database backups.


See Also:


Monitoring Fast Recovery Area Usage

It is important to monitor space usage in the fast recovery area to ensure that it is large enough to contain backups and other recovery-related files.

To monitor available space in the fast recovery area:

In the High Availability section of the Database Home page, click the link next to Usable Fast Recovery Area (%).

The Recovery Settings page appears.

The Reclaimable Recovery Area (GB) and Free Recovery Area (GB) settings indicate how much space is available.

Configuring Backup Settings

You can configure several backup-related settings and policies. For example, you can determine how backups are stored, which data is backed up, and how long backups are retained. You can also configure settings to optimize backup performance.

This section explains the concepts behind the available settings and also explains how to change them using the Backup Settings page in Database Control. The settings on the Device subpage affect how RMAN writes backups to disk and to tape.

About RMAN Backups

Database backups created by RMAN are stored as image copies or backup sets.

Image copies are exact byte-for-byte copies of files. You can create an image copy by copying a file at the operating system level. Unlike copying files at the operating system level, however, image copies created through RMAN or Database Control are recorded in the RMAN repository so that RMAN can use these copies during database restore operations and recovery. RMAN can restore files only if they are recorded in the RMAN repository. RMAN can create image copies only on disk.

Backup sets are logical entities produced by the RMAN BACKUP command. This command can produce one or more backup sets on disk or media management devices. RMAN can write backup sets only to a media manager.

Each backup set contains several physical files called backup pieces. A backup piece stores the backup of one or more database files in a compact RMAN-specific format. One advantage of backup sets is that RMAN uses unused block compression to save space in backing up data files. Only those blocks in the data files that have been used to store data are included in the backup set.

RMAN depends on server sessions, processes that run on the database server, to create backups and restore them. Each server session, in turn, corresponds to an RMAN channel, representing one stream of data to or from a backup device. Channels are either of type disk or type SBT (tape).

RMAN supports parallelism, which is the use of multiple channels and server sessions to perform the work of one backup or recovery task. Proper use of parallelism can greatly increase performance on backup and recovery tasks.


See Also:


Configuring Backup Device Settings

For disk-based backups, you can configure the default format for backups, the location on disk where backups are stored, and whether backup tasks run in parallel.

For tape backups, you can configure settings such as the number of tape drives and whether backups are compressed. On most platforms, you must integrate a media manager with the Oracle database to use sequential media for storage.

You can use Oracle Secure Backup, which supports both database and file system backups to tape, as your media manager. Oracle Secure Backup provides the same services for RMAN as other third-party SBT interfaces, but is better integrated with Database Control. This section assumes that you make only disk backups.

To configure backup settings for disk:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. In the Backup/Recovery section, click Backup Settings.

    The Backup Settings page appears.

  3. At the top of the page, click Device.

    The Device subpage of Backup Settings appears.

  4. Complete the following steps:

    1. In Parallelism, enter 1.

      Later, when you have had time to review the information in Oracle Database Backup and Recovery User's Guide about parallelism and performance in RMAN, you may want to change this value.

    2. Leave the Disk Backup Location field blank so that RMAN directs backups to the fast recovery area.

    3. In the Disk Backup Type section, select Backup Set.

      One advantage of backup sets is that RMAN uses unused block compression to save space when backing up data files. Only those blocks in the data files that have been used to store data are included in the backup set.

  5. In Host Credentials section at the bottom of the page, enter values in the Username and Password fields.

    Host credentials are described in "Specifying Credentials for Backup and Recovery Using Database Control".

  6. Click Test Disk Backup (near the top of the page) to ensure the credentials and backup location are correct.

    A message appears that states whether the test was successful.

    In this example you do not change the settings on the Backup Set subpages.


See Also:


Configuring Backup Policy Settings

You can set the backup policies that govern control file and server parameter file backups, tablespaces to exclude from an entire database backup, and the backup retention policy.

To configure the backup policy settings:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. In the Backup/Recovery section, click Backup Settings.

    The Backup Settings page appears.

  3. At the top of the page, click Policy.

    The Backup Policy subpage appears.

  4. Perform the following actions:

    • Select the Automatically backup the control file and server parameter file (SPFILE) with every backup and database structural change option. Leave the Autobackup Disk Location field blank so that RMAN stores the automatic backups in the fast recovery area.

      The server parameter file and control file are critical to the database and RMAN, and are also relatively small compared to typical data files. Backing them up frequently results in relatively little storage overhead.

    • Select the Optimize the whole database backup by skipping unchanged files such as read-only and offline data files that have been backed up option.

      This option saves space in the fast recovery area.

    • Select the Enable block change tracking for faster incremental backups option. Either leave the Block Change Tracking File field blank (if you specified Oracle Managed Files when creating the database) or enter a file name (including path).

      This option takes advantage of the block change tracking feature, which greatly improves incremental backup performance at a small cost of overhead.

  5. In the Tablespaces Excluded From Whole Database Backup section, leave the settings as they are.

    This feature enables you to specify a list of tablespaces to exclude from a backup. For example, you do not have to include read-only tablespaces in every backup.

  6. In the Retention Policy section, select Retain backups that are necessary for a recovery to any time within the specified number of days (point-in-time recovery). In Days, enter 31.

    This setting enables a recovery policy with retention based on a period of time.

  7. In the Archivelog Deletion Policy section, select None.

    This option specifies that logs are eligible for automatic deletion only when they have been backed up to tape or are obsolete based on the retention policy.

  8. At the bottom of the page, click OK to save your changes.


See Also:


Backing Up Your Database

This section describes how to back up your database with Oracle Enterprise Manager Database Control (Database Control). The Oracle suggested strategy for disk-only backups provides efficient daily backup of the database. This strategy enables you to quickly return your database to its state at any point during the previous 24 hours. For more flexible backup options, see Oracle Database Backup and Recovery User's Guide.

RMAN Backup Concepts

This section provides the concepts you need to understand the Oracle suggested backup strategy and other backup types provided through Database Control.

Full Backups of Data Files

A full backup of a data file includes all used blocks of the data file. As explained in "About RMAN Backups", an RMAN backup can be either an image copy or backup set. An image copy is a bit-for-bit copy of the data file, and thus includes unused blocks.

Incremental Backups of Data Files

RMAN incremental backups copy only those blocks in a data file that change between backups. A level 0 incremental backup, which copies all blocks in the data file, is used as a starting point for an incremental backup strategy.

Incremental backups at level 1 copy only images of blocks that have changed since a previous incremental backup. Level 1 backups can be cumulative, in which case all blocks changed since the most recent level 0 backup are included, or differential, in which case only blocks changed since the most recent level 0 or level 1 incremental backup are included. A typical incremental strategy makes level 1 backups at regular intervals such as once each day.

Recovering changed blocks from incremental backups can speed media recovery. Because an incremental level 1 backup copies the final contents of all data file blocks changed during the period covered by the incremental backup strategy, the recovery process can avoid reapplying updates from the archived redo log files of that period, and update each block with its final contents. The archived redo log files are used only for changes from the period not covered by level 1 backups.

Incrementally Updated Backups: Rolling Forward Image Copies of Data Files

RMAN enables you to apply level 1 incremental backups to an older image copy of your data files. You can roll forward the copy to the point in time of the most recent level 1 incremental backup. All blocks changed since the image copy was created are overwritten with their new contents as of the time of the last level 1 incremental backup. The effect is to roll forward the file in time, so that its contents are equivalent, for the purposes of database recovery, to an image copy of the data file made at the time of the last incremental level 1 backup.

Incorporating incrementally updated backups into your backup strategy shortens expected recovery times. Media recovery to the present time or to a point in time in the recent past can begin at the time of the last level 1 backup applied, rather than at the time of the last full database backup.

Backup Tags

A tag is a text string that identifies that backup, either uniquely or as part of a group of backups. All RMAN backups, including incremental backups, are labeled with a tag. For example, if you performed a full database backup every Saturday, then you could use the tag FULL_SAT to identify this backup.

You can use tags to refer to specific backups in RMAN commands. For example, you could issue a command to move the latest FULL_SAT backup to tape. If you do not specify a tag, then RMAN creates a unique tag automatically.

Because you can use tags to refer to different groups of backups, you can create different routines in your backup strategy that do not interfere with each other. When you schedule a backup job and give the job a name, the job name is the tag.

Performing and Scheduling Backups Using Database Control

Database Control enables you to perform RMAN backups and schedule backup jobs required by your backup strategy.

Performing a Whole Database Backup

Whole backups of a database include the complete contents of all data files of the database, also the control file, archived redo log files, and server parameter file. With these files, you can perform a complete recovery.

While whole database backups can be an important element in your overall backup strategy, they are also a required step in some situations, such as when you enable or disable ARCHIVELOG mode (see "Configuring Recovery Settings"). This section explains how to make whole database backups to disk.

To perform a whole database backup when the database is open:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. In the Manage section of the Availability page, click Schedule Backup.

    The Schedule Backup page appears.

    Description of back_strat_11gr1.gif follows
    Description of the illustration back_strat_11gr1.gif

  3. In the Host Credentials section at the bottom of the page (not shown in the figure), enter values in the Username and Password fields if the Preferred Credentials are not set.

  4. In the Customized Backup section, select Whole Database, and then click Schedule Customized Backup.

    The Schedule Customized Backup: Options page appears.

  5. In the Backup Type section, select Full Backup.

  6. In the Backup Mode section, select either Online Backup or Offline Backup.

    Typically, you want to perform online backups to maximize database availability.


    Note:

    As explained in "Configuring Your Database for Basic Backup and Recovery", you can make online backups only if your database is running in ARCHIVELOG mode.

  7. In the Advanced section, make the following selections, and then click Next:

    • If you are performing an online backup, then select Also back up all archived logs on disk.

      You do not have to back up archived logs when performing an offline backup because the database is in a consistent state at the time of backup and does not require media recovery if you restore the database from this backup. However, you can choose to include archived logs in the backup.

    • If a fast recovery area is your only archiving destination, then do not select "Delete all archived logs from disk after they are successfully backed up".

      In this case, archived redo log files that have been backed up are deleted automatically as space is needed. If you are using some other archiving destination, then it may be useful to select this option as part of managing your backup storage.

    • If the fast recovery area stores backups, then do not select the "Delete obsolete backups" option.

      In this case, obsolete backups are deleted automatically as space is needed. If you use another destination for your backup files, then you can select this option.

    • Do not select "Use proxy copy supported by media management software to perform a backup" for now.

    • Do not enter a value in the Maximum Files per Backup Set field or the Section Size field.

    The Schedule Customized Backup: Settings page appears.

  8. Select Disk and then click Next.

    Oracle recommends backing up to disk when possible to minimize recovery time by minimizing restore operations from tape. Later, you can move disk backups to tape.

    The Schedule Customized Backup: Schedule page appears.

  9. Complete the following steps:

    1. In the Job section, leave the default values for Job Name and Job Description.

      In the Job Name field, you can enter a user-specified tag for this backup. The job name is used as a prefix for the backup tag for backups created by this job.


      Note:

      For recurring jobs, it is useful to set a Job Name so that the resulting backups are easy to identify as part of an ongoing series. Use a descriptive tag, such as WEEKLY_FULL_BACKUP.

      In the Job Description field, you can enter any descriptive text that is useful for your own reference.

    2. In the Schedule section, select One Time (Immediately), and then click Next.

      The Schedule Customized Backup: Review page appears.

  10. Click Submit Job.

    The Status page appears. This page should contain a message that indicates the job was successfully submitted.

  11. Click View Job to monitor the progress of the backup.

    The Execution page for your database appears. This page contains a Summary section describing the job. The table at the bottom of the page displays the progress of the various steps of the backup job. You can reload this page in your browser to monitor the ongoing progress of the job.

    In the Name column of the table, you can see the current phase of the RMAN job. Clicking the name of the phase of the backup job displays a page containing the RMAN output for that part of the job. If you clicked on a job phase link, then from your current page, click the Execution: Database_name link at the top of the page to return to Execution page for your database.

To perform a whole database backup when the database is closed:

  • Follow the same steps as for an open database backup, except select Offline Backup in Step 5 and then continue with the steps that follow.

Using the Oracle Suggested Backup Strategy

Database Control makes it easy to set up an Oracle suggested backup strategy for backups to disk that protects your data and provides efficient recoverability to any point in the user-specified recovery window (time period). The Oracle suggested strategy leverages the incremental backup and incrementally updated backup features to provide faster backups than whole database backups, and faster recoverability than is possible through applying database changes from the archive log to your data files.

About the Oracle Suggested Backup Strategy

The Oracle suggested strategy is based on creating an image copy of your database. The database rolls forward this copy by using incrementally updated backups. Oracle Enterprise Manager schedules RMAN backup jobs during the overnight hours.

For each data file, the strategy calls for backups as follows:

  • At the beginning of day 1 of the strategy (the time the first scheduled job actually runs), RMAN creates an incremental level 0 data file copy. It contains the data file contents at the beginning of day 1.

    If a recovery is required, then the archived redo log files from day 1 can be used to recover to any point during day 1.

  • At the beginning of day 2, RMAN creates a differential incremental level 1 backup that contains the blocks changed during day 1.

    If a recovery is required, then RMAN can apply this incremental level 1 to roll forward the level 0 backup to the beginning of day 2. RMAN can use archived redo log files to recover to any point during day 2.

  • At the beginning of each day n for day 3 and onward, RMAN applies the level 1 backup from the beginning of day n-1 to the level 0 backup. This action brings the data file copy to its state at the beginning of day n-1. Then, RMAN creates a new level 1 backup that contains the blocks changed during day n-1.

    If a recovery is required, then RMAN can apply this incremental level 1 backup to the data file rolled forward on day n-1 to the beginning of day n. RMAN can use archived redo log files to recover the database to any point during day n.

In the Oracle suggested backup strategy, data file copies have the tag ORA$OEM_LEVEL_0. The differential level 1 incremental backups in this strategy share the same tag. You can safely implement other backup strategies without interfering with the Oracle suggested backup strategy.

Oracle suggested backup strategies also use tape backups in addition to disk backups, but these are beyond the scope of this section.

Backing Up Your Database Using the Oracle Suggested Disk Backup Strategy

The following procedure schedules daily database backups. The strategy uses incremental backups and incrementally applied backups to enable quick recovery to any time in the preceding 24 hours.

To backup your database using the Oracle-suggested disk backup strategy:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. In the Manage section of the Availability page, click Schedule Backup.

    The Schedule Backup page appears.

  3. In the Oracle-Suggested Backup section, click Schedule Oracle-Suggested Backup.

    The Schedule Oracle-Suggested Backup: Destination page appears. On this page, you select the destination media for the backup, which can be disk, tape, or both.

  4. Select Disk and then click Next.

    The Schedule Oracle-Suggested Backup: Setup page appears.

    This page describes the backups that are performed each day as part of the disk-based strategy.

  5. Review the information and then click Next.

    The Schedule Oracle-Suggested Backup: Schedule page appears.

  6. Choose a Start Date, Time Zone, and Daily Backup Time for the daily backups, and then click Next.

    The Schedule Oracle-Suggested Backup: Review page appears.

    Database Control displays the backup script that RMAN will run (although you cannot edit the script directly). The script should look similar to the following:

    Daily Script:
    run {
    allocate channel oem_disk_backup device type disk;
    recover copy of database with tag 'ORA_OEM_LEVEL_0';
    backup incremental level 1 copies=1 for recover of copy with tag 'ORA_OEM_LEVEL_0' database;
    }
    
  7. Click Submit Job.

Scheduling Miscellaneous Backup Tasks

After taking some time to understand the full range of available backup options described in Oracle Database Backup and Recovery User's Guide you may decide to schedule backup tasks beyond those used to implement the Oracle suggested backup strategy.

To schedule miscellaneous backup tasks:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. In the Manage section of the Availability page, click Schedule Backup.

    The Schedule Backup page appears.

  3. In the Customized Backup section, select the object to back up. For example, select Tablespaces or Archivelogs.

  4. Make sure the host credentials have been filled in, then click Schedule Customized Backup to start the Schedule Customized Backup wizard.

  5. On the following pages of the wizard, specify details such as objects to back up, and required options and settings. Click Next on each page to proceed to the next page.

    The choices presented on these pages are determined by the type of objects being backed up. For example, to backup a tablespace, on the first page of the wizard you would click the Add button to specify the tablespaces you want to include in the backup job. On the following pages, you would select the backup options, location, and schedule.

    For more information about using the wizard, click Help on any page.

  6. Click Submit Job.

Validating Backups and Testing Your Backup Strategy

As part of your backup strategy, you should periodically check whether your backups are intact and can be used to meet your recoverability objectives. You can validate your backups in the following ways:

  • Select specific backup sets or image copies in Database Control and validate them. This technique indicates if a backup exists and can be restored. For this form of validation, use the Manage Current Backups pages as described in "Validating Selected Backups".

  • Specify database files and let RMAN select backups to use when restoring those files, as it would for an actual restore operation. This technique ensures that your available backups are sufficient to restore the database. For this form of validation, use the Perform Recovery pages as described in "Validating Backups for Restore Operations".


    Note:

    Validating backups stored on tape can be time-consuming because the entire backup is read from tape.

You can set up both forms of validation as scheduled tasks in Database Control. You should incorporate both forms of validation into your backup strategy to ensure that your recoverability goals are met by your available backups.

Validating Selected Backups

Validating specific backups checks whether these backups exist and can be restored. It does not test whether the set of available backups meet your recoverability goals. For example, image copies of data files for several tablespaces from your database may exist, each of which can be validated. If there are some tablespaces for which no valid backups exist, however, then you cannot restore and recover the database.

To validate selected backups:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. In the Availability page, in the Manage section, click Manage Current Backups.

    The Manage Current Backups page appears.

  3. <p>Use the search features on this page to identify the backups whose contents you want to validate.

  4. Select the check boxes next to each backup of interest in the list of current backups, and then click Validate.

    The Validate: Specify Job Parameters page appears.

  5. Specify a job name and description (or use the default values), and time settings for starting and repeating the operation. Click Submit Job.

    A message confirms the submission of the job.

  6. Click the View Job link to display details about the validation.


See Also:


Validating Backups for Restore Operations

You can test whether a sufficient set of backups exists that can be used to restore the specified database files. After you specify which tablespaces to restore and, possibly, a time as of which to restore them, RMAN selects a set of backups that contain the needed data. RMAN reads the selected backups in their entirety to confirm that they are not corrupt, but does not produce output files.

Validating the restoration of files tests whether the file can be restored given the available backups, but it does not test whether all backups of the specified object are valid.

To verify whether specified database files can be restored:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. In the Manage section of Availability page, click Perform Recovery.

    The Perform Recovery page appears.

  3. In the User-Directed Recovery section, select Datafiles or Tablespaces from the Recovery Scope list, depending on what you want to validate.

  4. For the Operation Type, select Restore Datafiles or Restore Tablespaces and then click Recover.

    The Perform Object Level Recovery page appears.

  5. Click Add to add tablespaces or data files for the validate operation. Select the data files or tablespaces to restore, then click Select. After making your selections, click Next.

    The Perform Object Level Recovery: Restore page appears.

  6. In the Backup Selection section, specify which backups should be restored. Typically you would select the most recent backup.

  7. In the Backup Validation section, select Validate the specified backup without restoring the data files. Then, click Next.

    The Perform Object Level Recovery: Schedule page appears.

  8. The job to validate the backup runs immediately. You can specify a Job Name and Job Description, or use the default values. Click Next.

    The Perform Object Level Recovery: Review page appears.

  9. Click Submit Job to run the validation.

    The Perform Recovery: Result page appears.

  10. (Optional) Click View Job to see the results of the Backup Validation job.


See Also:


Displaying Backup Reports

Backup reports contain summary and detailed information about past backup jobs run by RMAN, including both backups run through Oracle Enterprise Manager Database Control (Database Control) and the RMAN command-line client.

To display backup reports:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. In the Availability page, in the Manage section, click Backup Reports.

    Description of backup_reports_11gr1.gif follows
    Description of the illustration backup_reports_11gr1.gif

    The Backup Reports page contains a list of recent backup jobs. You can use the Search section of the page to restrict (filter) the backups listed by the status of the job, the start time of the backup, and the type. In the Search sections, specify any filter conditions and click Go.

  3. Click a link in the Backup Name column to display detailed information about any backup.

    The Backup Report page is displayed for the selected backup. Use the Back button of your browser to return to the Backup Reports page.

  4. Click the link in the Status column to view a log of RMAN output for the job.


    Note:

    The control file view V$RMAN_OUTPUT contains the output of recent RMAN jobs. The contents of this view are not preserved when the instance is restarted. Therefore, the output from past RMAN jobs may not be available.

Managing Backups

As part of a backup strategy, you must manage database backups. A related task is managing the record of those backups in the RMAN repository. Oracle Enterprise Manager Database Control (Database Control) simplifies these tasks.

About Backup Management

An essential part of a backup and recovery strategy is managing backups after you create them. Backup management includes deleting obsolete backups and performing periodic checks to ensure that backups are available and usable.

You can perform backup management tasks from the Manage Current Backups page.

To display the Manage Current Backups page:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. In the Availability page, in the Manage section, click Manage Current Backups.

This page has two subpages: Backup Sets and Image Copies. Both pages have similar purposes: listing backups based on the record in the RMAN repository and enabling you to manage the backups.

Description of manage_backups_11gr2.gif follows
Description of the illustration manage_backups_11gr2.gif

A backup recorded in the RMAN repository has one of the following status values:

  • Available, meaning that the backup is still present on disk or tape, as recorded in the repository

  • Expired, meaning that the backup no longer exists on disk or tape, but is still listed in the repository

  • Unavailable, meaning that the backup is temporarily not available for data recovery operations (because, for example, it is stored on a tape that is stored offsite or on a disk that is currently not mounted)

Backups can also be obsolete. An obsolete backup is, based on the currently configured retention policy, no longer needed to satisfy data recovery goals.

Maintenance tasks that you can perform in Database Control include the following:

  • Viewing details about your backups

  • Cross-checking your repository, which means checking whether backups listed in the repository exist and are accessible, and marking as expired any backups not accessible at the time of the cross-check

  • Deleting the record of expired backups from your RMAN repository

  • Deleting obsolete backups from the repository and from the backup media

  • Validating backups to ensure that a given backup is available and not corrupted


Note:

If a backup no longer exists, then immediately delete the backup record from the RMAN repository. Without an accurate record of available backups, you may discover that you no longer have complete backups of your database when you must perform a recovery.

As with the backup and restore commands in Database Control, the commands to cross-check, delete, and change the status of backups are translated to RMAN commands. The commands are submitted as RMAN jobs that can be run immediately or be scheduled. Some tasks, such as periodic cross-checks of your backups, should be among the regularly scheduled components of your backup strategy.

If you use a fast recovery area for backup storage, then many maintenance activities are reduced or eliminated. The automatic disk space management mechanisms delete backups and other files as needed, thereby satisfying disk space demands for ongoing database operations without compromising the retention policy.

Cross-Checking Backups

Cross-checking a backup synchronizes the physical reality of backups with their logical records in the RMAN repository. For example, if a backup on disk was deleted with an operating system command, then a cross-check detects this condition. After the cross-check, the RMAN repository correctly reflects the state of the backups.

Backups to disk are listed as available if they are still on disk in the location listed in the RMAN repository, and if they have no corruption in the file header. Backups on tape are listed as available if they are still on tape. The file headers are not checked for corruption. Backups that are missing or corrupt are listed as expired.

To cross-check individual files:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. In the Manage section, click Manage Current Backups.

    The Manage Current Backups page appears.

  3. Search for the backup sets or image copies whose contents you want to cross-check.

  4. In the Results section, select each backup to be included in the cross-check operation.

    Database Control does not support selecting both image copies and backup sets for a cross-check within a single operation.

  5. Click Crosscheck at the top of the Results list.

    A confirmation page is displayed. After you click Yes, Database Control performs the cross-check.

To cross-check all files:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. In the Manage section, click Manage Current Backups.

    The Manage Current Backups page appears.

  3. In the Manage Current Backups page, click Crosscheck All.

    The Crosscheck All: Specify Job Parameters page appears. You can schedule the cross-check to run now or later, or specify regularly scheduled cross-checks.

  4. Click Submit Job.


Note:

Cross-checking all backups in the RMAN repository may take a long time, especially for tape backups. A cross-check of all files, unlike cross-checking individual files, is handled as a scheduled job.


See Also:


Deleting Expired Backups

Deleting expired backups removes from the RMAN repository those backups that are listed as EXPIRED. Expired backups are those found to be inaccessible during a cross-check. No attempt is made to delete the files containing the backup from disk or tape; this action updates only the RMAN repository.

To delete expired backups:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. In the Manage section, click Manage Current Backups.

    The Manage Current Backups page appears.

  3. In the Manage Current Backups page, click Delete All Expired.

    This action deletes expired backup sets and expired image copies from the RMAN repository, regardless of which subpage is currently active.

    The Delete All Expired: Specify Job Parameters page appears.

  4. Optionally, select Perform the operation 'Crosscheck All' before 'Delete All Expired'.

    By performing the cross-check immediately before deleting expired backups, RMAN has up-to-date information about which backups are expired.

  5. Click Submit Job.

    A message should appear indicating that your job was successfully submitted.

Marking Backups as Available or Unavailable

If one or more specific backups are unavailable because of a temporary condition, such as a disk drive that is temporarily offline or a tape stored offsite, then you can mark those backups as unavailable. RMAN does not use unavailable backups to restore or recover data.


Note:

Backups stored in the fast recovery area cannot be marked as unavailable.

RMAN keeps the record of unavailable backups in the RMAN repository and does not delete backups listed as unavailable when you delete expired backups. If the unavailable backups become accessible again, then you can mark them as available.

To mark backups as available or unavailable:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. In the Manage section, click Manage Current Backups.

    The Manage Current Backups page appears.

  3. In the Search section, find the backups whose status you want to change.

  4. Click the Select check box next to each backup in the Results list of backups for which you want to change its availability.

  5. Do one of the following:

    • Select Change to Available.

    • Select Change to Unavailable.


    Note:

    If you restricted the backups listed by searching only for available backups, then only the Change to Unavailable button appears. If you restricted the backups listed by searching only for unavailable backups, then only the Change to Available button appears.

    A confirmation message appears.

  6. Click Yes to perform the change operation.

Deleting Obsolete Backups

This section explains how to delete obsolete backups, which are those no longer needed by the configured retention policy. If you use a fast recovery area as your only disk-based backup destination, then you never have to delete obsolete backups from disk. The fast recovery area keeps files as specified by the retention policy, and deletes them only when space is needed.

To delete obsolete backups:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. In the Manage section, click Manage Current Backups.

    The Manage Current Backups page appears.

  3. Click Delete All Obsolete.

    All obsolete backups (both backup sets and image copies) are deleted, regardless of whether you clicked Delete All Obsolete while viewing the Backup Sets or Image Copies subpage.

    The Delete All Obsolete: Specify Job Parameters page appears.

  4. In the Schedule section, do one of the following:

    • Select One Time (Immediately) to run the deletion job immediately.

    • Schedule the deletion as you would a backup job.

  5. Click Submit Job.

Performing Oracle Advised Recovery

The Oracle advised recovery feature uses Data Recovery Advisor, which is an Oracle Database feature that automatically diagnoses data failures, determines and presents appropriate repair options, and performs repairs if requested by the user. By providing a centralized tool for automated data repair, Data Recovery Advisor improves the manageability and reliability of an Oracle database.


Note:

To recover an Oracle RAC database using Data Recovery Advisor you must use the RMAN interface. You cannot use Enterprise Manager.

About Data Recovery Advisor

In the context of Data Recovery Advisor, a health check is a diagnostic procedure run by the Health Monitor to assess the state of the database or its components. Health checks are invoked reactively when an error occurs. You can also invoke checks manually.

A failure is a persistent data corruption detected by a health check. Failures are usually detected reactively. A database operation involving corrupted data results in an error, which automatically invokes a health check in the database. The check searches the database for failures related to the error. If failures are diagnosed, then they are recorded in the Automatic Diagnostic Repository (ADR).

You can use Data Recovery Advisor to generate repair advice and repair failures only after failures have been detected by the database and stored in ADR. Data Recovery Advisor can report on and repair failures such as inaccessible files, physical and logical block corruptions, and I/O failures. Every failure has a failure priority: CRITICAL, HIGH, or LOW. Every failure also has a failure status of OPEN or CLOSED.

You can also use Data Recovery Advisor to view repair options. A repair is an action that fixes one or more failures. Examples of repairs include block media recovery, data file media recovery, and Oracle Flashback Database. Typically, Data Recovery Advisor presents both automated and manual repair options. If appropriate, you can choose an automated repair option in order to perform a repair. In this case, Data Recovery Advisor verifies the repair success, and closes the relevant repaired failures.

Using Data Recovery Advisor

The recovery process begins when you either suspect or discover a failure. You can discover failures in many ways, including error messages, alerts, trace files, and health checks. You can then use Data Recovery Advisor to gain information and advice about failures and repair them automatically.

This section describes a scenario in which you use Data Recovery Advisor to repair a corrupted block. Assume that the Health Meter on the Database Home page indicates that an incident has occurred. The Alerts section of the page indicates that a block corruption has occurred.

To use the Oracle advised recovery strategy:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. Click Perform Recovery in the Manage section.

    The Perform Recovery page appears. The Perform Recovery page is divided into two sections: Oracle Advised Recovery and User-Directed Recovery. The Oracle Advised Recovery section uses Data Recovery Advisor to automate recovery.

    Description of perform_reco_11gr1.gif follows
    Description of the illustration perform_reco_11gr1.gif

  3. Look for failures in the Oracle Advised Recovery section.

    In the screenshot shown in Step 2, the section indicates that one failure with high priority exists. The failure indicates that 1 or more data files are offline.

  4. Do one of the following:

    • Click Advise and Recover.

    • Click the number next to the failure status.

    The View and Manage Failures page appears.

  5. In the Priority drop-down list, select All and then click Go.

    This action enables you to view all failures known to Data Recovery Advisor. The data failures are represented as a navigation tree at the bottom of the page.

  6. Perform the following actions:

    1. Select Data Failures from the navigation tree to expand it (if it is not expanded).

    2. Select the failure to expand it.

    3. Click Advise.

    The Recovery Advice page appears.

    This page shows the RMAN script that is used to repair the failure. For example, for a corrupted block, the script might look similar to the following:

    # block media recovery
    recover data file 1 block 63467;
    
  7. Click Continue.

    The Review page appears. This page summarizes the recovery job.

    Description of review_repair_11gr1.gif follows
    Description of the illustration review_repair_11gr1.gif

  8. Click Submit Recovery Job.

    The Job Activity page appears.

    A table describes details of the repair such as the job name, the job status, the time that the repair is scheduled to be performed, the owner of the job, and so on.

  9. Click the name of the repair job and click View Results.

    The Job Run page appears.

    You can click the job step in the navigation tree to view the results of the job.

Performing User-Directed Recovery

Oracle Enterprise Manager Database Control (Database Control) User-Directed Recovery provides a Recovery wizard that enables you to use flashback features and perform restore operations and recovery procedures. For example, you can do the following:

Database Control can determine which parts of the database must be restored and recovered, including detecting situations such as corrupted database files before they affect database operations. Database Control guides you through the recovery, prompting you for any required information and performing the specified recovery actions.

This section contains a few typical recovery examples so that you can become familiar with the Perform Recovery page. You can use the Perform Recovery page to access other whole database or object-level recovery features of Database Control.

Rewinding a Table Using Oracle Flashback Table

Oracle Flashback Table enables you to rewind one or more tables back to their contents at a previous time without affecting other database objects. Thus, you can recover from logical data corruptions such as table rows added or deleted accidentally. Unlike point-in-time recovery, the database remains available during the flashback operation.

For this example, you use Flashback Table on the employees table in the hr schema. Assume that an erroneous update shortly after October 23, 2005 at 15:30:00 has changed the lastname column for all employees to an empty string, and you must return the original lastname values to the table.

Enabling Row Movement on a Table

Before you can use Flashback Table, you must ensure that row movement is enabled on the table to be flashed back, or returned to a previous state. Row movement indicates that rowids will change after the flashback occurs. This restriction exists because if rowids before the flashback were stored by an application, then there is no guarantee that the rowids will correspond to the same rows after the flashback.

To enable row movement on a table:

  1. On the Database Home page, click Schema to display the Schema subpage.

  2. Click Tables in the Database Objects section.

    The Tables page appears.

  3. To find the target table for Flashback Table, do the following:

    1. Enter the schema name in the Schema field and, optionally, the table name in the Object Name field.

    2. Click Go to search for the table.

      When you search for tables, for example, in the hr schema, you may have to page through the search results to find your table.

  4. Select the table from the list of tables and click Edit.

    In this scenario, select employees.

    The Edit Table: table_name page appears.

  5. Click Options to go to the Options subpage.

  6. Complete the following steps:

    1. Set Enable Row Movement to Yes.

    2. Click Apply to update the options for the table.

    An update message appears.

  7. Complete the following steps:

    1. Click Tables at the top of the page to return to the search results.

    2. Enable row movement on more tables by repeating Step 1 through Step 6 for each table.

    For this example, you should also enable row movement on the tables hr.jobs and hr.departments.

jP

Performing a Flashback Table Operation

In this example, you rewind the hr.employees table and its dependent tables to a previous point in time.

To perform the Flashback Table operation:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. Select Perform Recovery from the Manage section.

    The Perform Recovery page appears.

  3. In the User Directed Recovery section, select Tables from the Recovery Scope list.

    The page reloads with options appropriate for object-level recovery of tables.

  4. For Operation Type, choose Flashback Existing Tables, and click Recover.

    The Perform Object Level Recovery: Point-in-time page appears.

  5. Choose the target time for the Flashback Table operation, and click Next.


    Note:

    If you do not know the time at which the unwanted changes occurred, then you can investigate the history of transactions affecting this table by selecting Evaluate row changes and transactions to decide upon a point in time. Oracle Flashback Version Query enables you to review all recent changes to the target table. Use of this feature is beyond the scope of this documentation.

    For this example, assume that rows were accidentally inserted 5 minutes ago. Select Flashback to a timestamp and enter a time 5 minutes before now.

    The Perform Object Level Recovery: Flashback Tables page appears.

  6. Enter table names in the Tables to Flashback text box and then click Next.

    You can enter multiple table names to flash back several tables to the same time. You can also click Add Tables and search for more tables. For this example, enter the text hr.employees in the Tables to Flashback text box.

    If your table has other dependent tables, then the Dependency Options page appears. This page asks how dependencies should be handled.

  7. Do one of the following, and then click Next:

    • Select Cascade to flash back any dependent tables.

    • Select Restrict to flash back only the target table.

    • Select Customize to choose which dependent tables to flash back and which to leave as they are.

    You can click Show Dependencies to see which tables will be affected.


    Note:

    Row movement must be enabled on all affected tables, not just the initial target tables.

    In this example, the hr.employees table has dependent tables hr.jobs and hr.departments, so select Cascade and then click Next.

    The Perform Object Level Recovery: Review page appears.

  8. Click Submit.

    When the operation is completed, a Confirmation page displays the results. Click OK.

Recovering a Dropped Table Using Oracle Flashback Drop

Oracle Flashback Drop enables you to reverse the effects of dropping (deleting) a table, returning the dropped table to the database along with dependent objects such as indexes and triggers. This feature stores dropped objects in a recycle bin, from which they can be retrieved until the recycle bin is purged, either explicitly or because space is needed.

As with Flashback Table, you can use Flashback Drop while the database is open. Also, you can perform the flashback without undoing changes in objects not affected by the Flashback Drop operation. Flashback Table is more convenient than forms of media recovery that require taking the database offline and restoring files from backup.


Note:

For a table to be recoverable using Flashback Drop, it must reside in a locally managed tablespace. Also, you cannot recover tables in the SYSTEM tablespaces with Flashback Drop, regardless of the tablespace type.

Dropping a Table

For the purpose of learning about Flashback Drop, you will create a new table named reg_hist and then drop it. The database places the table in the recycle bin so that it can be retrieved with the Flashback Drop feature.

To create and then drop a table:

  1. On the Database Home page, click Schema to display the Schema subpage.

  2. Click Tables.

    The Tables page appears.

  3. Enter hr in the Schema field and regions in the Object Name field. Click Go.

    The schema and table are listed in the table at the bottom of the page.

  4. In the Actions list, select Create Like and click Go.

    The General subpage of the Create Table page appears.

  5. Complete the following steps:

    1. In the Name field, enter reg_hist.

    2. Deselect Not Null for the REGION_ID column.

    3. Click Constraints to open the Constraints subpage.

      The Constraints subpage appears.

    4. Select each constraint and click Delete.

    5. Click OK to create the table.

      A confirmation message appears.

  6. In the Object Name field, enter reg_hist and click Go.

    The Tables page displays information about this table.

  7. Click Delete with Options to delete the table.

    The Delete With Options page appears.

  8. Select Delete the table definition, all its data, and dependent objects (DROP), and then click Yes.

    A message confirms that the table was deleted.

Retrieving a Dropped Table

This section assumes that you created and then dropped the reg_hist table, as described in "Dropping a Table". The following procedure retrieves reg_hist from the recycle bin.

To perform the Flashback Drop operation:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. Click Perform Recovery in the Backup/Recovery section.

    The Perform Recovery page appears.

  3. In the User-Directed Recovery section, select Tables from the Recovery Scope list.

    The page reloads with options appropriate for object-level recovery of tables.

  4. Select Flashback Dropped Tables for the Operation Type, and then click Recover.

    The Perform Object Level Recovery: Dropped Objects Selection page appears.

  5. Search among the dropped objects in the recycle bin for the objects to retrieve.

    For this example, enter hr in the Schema Name field and reg_hist in the Table field, and click Go.

    The Results section lists the objects matching your search. If needed, click the arrow next to Recycle Bin to expand its contents by one level, showing dropped tables matching your search but not their dependent objects.

  6. Select each table to retrieve using Flashback Drop.

    For this example, select reg_hist and then click Next.


    Note:

    When a table is retrieved from the recycle bin, all the dependent objects for the table that are in the recycle bin are retrieved with it. They cannot be retrieved separately.

    The Perform Object Level Recovery: Rename page appears.

  7. If needed, enter new names for dropped objects that you are retrieving. For this scenario, do not specify a new name. Click Next.

    The primary reason for renaming objects when you retrieve them from the recycle bin is because you might have created new tables with the same names as tables being retrieved. If you must rename some objects, then enter new names as needed in the New Name field.

    The Perform Object Level Recovery: Review page appears. This page displays an impact analysis, showing the full set of objects to be flashed back, including the dependent objects, and the names they will have when the Flashback Drop operation is complete.

  8. Review the changes and then click Submit.

    A confirmation page should indicate the success of the operation.

  9. Click OK to return to the Availability page.

Rewinding a Database Using Oracle Flashback Database

Unlike the other flashback features, Oracle Flashback Database operates at a physical level. When you use Flashback Database, your current data files revert to their contents at a previous time. The result is similar to database point-in-time recovery, but Flashback Database can be much faster because it does not require you to restore and recover data files. Also, Flashback Database requires limited application of redo data as compared to media recovery.

Flashback Database uses flashback logs to access previous versions of data blocks and also uses some data in the archived redo log files. To have the option of using Flashback Database to repair your database, you must have configured the database to generate flashback logs as explained in "Configuring Recovery Settings".

To perform a Flashback Database operation:

  1. On the Database Home page, click Availability to display the Availability subpage.

  2. Click Perform Recovery.

    The Perform Recovery page appears.

  3. Complete the following steps:

    1. In the User-Directed Recovery section, select Whole Database.

    2. Select Recover to the current time or a previous point-in-time.

    3. If necessary, provide the host computer credentials.

    4. Click Recover.

    A Confirmation page appears.

  4. Click Yes to confirm the shutdown of the database.

    The Recovery Wizard page appears. At this point, the shutdown begins.

    When the database is shut down and brought to the mounted state, Database Control is also shut down briefly and restarted. During this process, there is a period during which Database Control cannot respond to your browser. Refresh the page until Database Control responds again.

    When Database Control has restarted and the database is being started and mounted, Database Control may also briefly report that the database is in the NOMOUNT state. You are given the choices Refresh, Startup, and Perform Recovery. Refresh the page periodically until the Database Instance page reports that the database instance is mounted before you proceed.

  5. Click Perform Recovery to resume your recovery session.

  6. If you are prompted for host computer and database credentials, then connect with the SYSDBA privilege, or provide host computer credentials for a user in the DBA group.

    See "Specifying Credentials for Backup and Recovery Using Database Control" for information about credentials.

    When the Perform Recovery page is displayed again, it shows that the database is mounted, which is required to restore and recover the entire database.

  7. Complete the following steps:

    1. In the User-Directed Recovery section, select Whole Database.

    2. Select Recover to the current time or a previous point-in-time.

    3. If necessary, provide the host credentials.

    4. Click Recover.

    A Confirmation page appears.

  8. Complete the following steps:

    1. Select Recover to a prior point-in-time.

    2. In the Date field, select a time 5 minutes before now.

    3. Click Next.

    The Perform Whole Database Recovery: Flashback page appears.

  9. Select Yes to use Flashback Database and then click Next.

    The Perform Whole Database Recovery: Review page appears.

  10. Review the options that you selected and click Submit.

    When the flashback operation completes, the Perform Recovery: Result page appears.

  11. Click Open Database.

    After the database has opened successfully, click OK.

Restoring and Recovering the Database

This section demonstrates how to restore and recover the entire database. This example assumes that you are restoring and recovering your database after the loss of one or more data files, but you still have a usable server parameter file and control file. You can also use Database Control to restore a lost server parameter file or control file.

To restore and recover the entire database:

  1. Perform Step 1 through Step 7 from the procedure in "Rewinding a Database Using Oracle Flashback Database".

  2. Do one of the following:

    • Select Recover to the current time to recover all transactions to your database up until now.

    • Select Recover to a prior point-in-time to recover transactions only up through some point in time in the past.

    For this example, select Recover to the current time, and then click Next.

    The Perform Whole Database Recovery: Rename page appears.

  3. Select No to restore the files to their default locations, and then click Next.

    The Perform Whole Database Recovery: Review page appears.

  4. Click Submit to start the restoration and recovery of the database.


    Note:

    In some repair scenarios, such as a complete restoration and recovery of your database, the database state is altered by steps you take while using the wizard. Database Control displays warnings each time a significant database change results from selecting Continue during the recovery process. Pay close attention to these warnings.

    When the recovery completes, the Perform Recovery: Result page appears.

  5. Click Open Database and then OK.


See Also:


Backup and Recovery: Oracle By Example Series

Oracle By Example (OBE) has a series on the Oracle Database 2 Day DBA guide. This OBE steps you through the tasks in this section, and includes annotated screenshots. To view the Backup and Recovery OBE, in your browser, enter the following URL:

http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/2day_dba/backup/backup.htm

PKSn~jPK1@ OEBPS/toc.ncx Oracle® Database 2 Day DBA, 11g Release 2 (11.2) Cover Table of Contents List of Figures List of Tables Oracle Database 2 Day DBA 11g Release 2 (11.2) Preface Introduction Installing Oracle Database and Creating a Database Getting Started with Database Administration Configuring the Network Environment Managing the Oracle Instance Managing Database Storage Structures Administering User Accounts and Security Managing Schema Objects Performing Backup and Recovery Monitoring and Tuning the Database Investigating, Reporting, and Resolving Problems Managing Oracle Database Software Administering Oracle Automatic Storage Management Index Copyright PK2T PK1@OEBPS/users_secure.htm Administering User Accounts and Security

7 Administering User Accounts and Security

This chapter describes how to create and manage user accounts. It contains the following sections:

About User Accounts

For users to access your database, you must create user accounts and grant appropriate database access privileges to those accounts. A user account is identified by a user name and defines the attributes of the user, including the following:

When you create a user account, you must not only assign a user name, a password, and default tablespaces for the account, but you must also do the following:

Oracle recommends that you grant each user just enough privileges to perform his job, and no more. For example, a database application developer needs privileges to create and modify tables, indexes, views, and stored procedures, but does not need (and should not be granted) privileges to drop (delete) tablespaces or recover the database. You can create user accounts for database administration, and grant only a subset of administrative privileges to those accounts.

In addition, you may want to create user accounts that are used by applications only. That is, nobody logs in with these accounts; instead, applications use these accounts to connect to the database, and users log in to the applications. This type of user account avoids giving application users the ability to log in to the database directly, where they could unintentionally cause damage. See "About User Privileges and Roles" for more information.

When you create a user account, you are also implicitly creating a schema for that user. A schema is a logical container for the database objects (such as tables, views, triggers, and so on) that the user creates. The schema name is the same as the user name, and can be used to unambiguously refer to objects owned by the user. For example, hr.employees refers to the table named employees in the hr schema. (The employees table is owned by hr.) The terms database object and schema object are used interchangeably.

When you delete a user, you must either simultaneously delete all schema objects of that user, or you must have previously deleted the schema objects in separate operations.

Predefined User Accounts

In addition to the user accounts that you create, the database includes several user accounts that are automatically created upon installation.

All databases include the administrative accounts SYS, SYSTEM, SYSMAN, and DBSNMP. Administrative accounts are highly privileged accounts, and are needed only by individuals authorized to perform administrative tasks such as starting and stopping the database, managing database memory and storage, creating and managing database users, and so on. You log in to Oracle Enterprise Manager Database Control (Database Control) with SYS, SYSTEM, or SYSMAN. The Management Agent of Database Control uses the DBSNMP account to monitor and manage the database. You assign the passwords for these accounts when you create the database with Oracle Database Configuration Assistant (DBCA). You must not delete these accounts.

All databases also include internal accounts, which are automatically created so that individual Oracle Database features or components such as Oracle Application Express can have their own schemas. To protect these accounts from unauthorized access, they are initially locked and their passwords are expired. (A locked account is an account for which login is disabled.) You must not delete internal accounts, and you must not use them to log in to the database.

Your database may also include sample schemas, which are a set of interlinked schemas that enable Oracle documentation and Oracle instructional materials to illustrate common database tasks. These schemas also provide a way for you to experiment without endangering production data.

Each sample schema has a user account associated with it. For example, the hr user account owns the hr schema, which contains a set of simple tables for a human resources application. The sample schema accounts are also initially locked and have an expired password. As the database administrator, you are responsible for unlocking these accounts and assigning passwords to these accounts.

About User Privileges and Roles

User privileges provide a basic level of database security. They are designed to control user access to data and to limit the kinds of SQL statements that users can execute. When creating a user, you grant privileges to enable the user to connect to the database, to run queries and make updates, to create schema objects, and more.

The main types of user privileges are as follows:

Managing privileges is made easier by using roles, which are named groups of related privileges. You create roles, grant system and object privileges to the roles, and then grant roles to users. You can also grant roles to other roles. Unlike schema objects, roles are not contained in any schema.

Table 7-1 lists three widely used roles that are predefined in Oracle Database. You can grant these roles when you create a user or at any time thereafter.

Table 7-1 Oracle Database Predefined Roles

Role NameDescription

CONNECT

Enables a user to connect to the database. Grant this role to any user or application that needs database access. If you create a user using Database Control, then this role is automatically granted to the user.

RESOURCE

Enables a user to create, modify, and delete certain types of schema objects in the schema associated with that user. Grant this role only to developers and to other users that must create schema objects. This role grants a subset of the create object system privileges. For example, it grants the CREATE TABLE system privilege, but does not grant the CREATE VIEW system privilege. It grants only the following privileges: CREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE, CREATE TRIGGER, CREATE TYPE.

DBA

Enables a user to perform most administrative functions, including creating users and granting privileges; creating and granting roles; creating, modifying, and deleting schema objects in any schema; and more. It grants all system privileges, but does not include the privileges to start or shut down the database instance. It is by default granted to users SYS and SYSTEM.



See Also:


About Administrative Accounts and Privileges

Administrative accounts and privileges enable you to perform administrative functions such as managing users, managing database memory, and starting up and shutting down the database.

This section contains the following topics:

SYS and SYSTEM Users

The following administrative user accounts are automatically created when you install Oracle Database. They are both created with the password that you supplied upon installation, and they are both automatically granted the DBA role.

  • SYS

    This account can perform all administrative functions. All base (underlying) tables and views for the database data dictionary are stored in the SYS schema. These base tables and views are critical for the operation of Oracle Database. To maintain the integrity of the data dictionary, tables in the SYS schema are manipulated only by the database. They should never be modified by any user or database administrator. You must not create any tables in the SYS schema.

    The SYS user is granted the SYSDBA privilege, which enables a user to perform high-level administrative tasks such as backup and recovery.

  • SYSTEM

    This account can perform all administrative functions except the following:

    • Backup and recovery

    • Database upgrade

    While this account can be used to perform day-to-day administrative tasks, Oracle strongly recommends creating named users account for administering the Oracle database to enable monitoring of database activity.

SYSDBA and SYSOPER System Privileges

SYSDBA and SYSOPER are administrative privileges required to perform high-level administrative operations such as creating, starting up, shutting down, backing up, or recovering the database. The SYSDBA system privilege is for fully empowered database administrators and the SYSOPER system privilege allows a user to perform basic operational tasks, but without the ability to look at user data.

The SYSDBA and SYSOPER system privileges allow access to a database instance even when the database is not open. Control of these privileges is therefore completely outside of the database itself. This control enables an administrator who is granted one of these privileges to connect to the database instance to start the database.

You can also think of the SYSDBA and SYSOPER privileges as types of connections that enable you to perform certain database operations for which privileges cannot be granted in any other way. For example, if you have the SYSDBA privilege, then you can connect to the database using AS SYSDBA.

The SYS user is automatically granted the SYSDBA privilege upon installation. When you log in as user SYS, you must connect to the database as SYSDBA or SYSOPER. Connecting as a SYSDBA user invokes the SYSDBA privilege; connecting as SYSOPER invokes the SYSOPER privilege. Oracle Enterprise Manager Database Control does not permit you to log in as user SYS without connecting as SYSDBA or SYSOPER.

When you connect with the SYSDBA or SYSOPER privilege, you connect with a default schema, not with the schema that is generally associated with your user name. For SYSDBA this schema is SYS; for SYSOPER the schema is PUBLIC.


Caution:

When you connect as user SYS, you have unlimited privileges on data dictionary tables. Be certain that you do not modify any data dictionary tables.


See Also:


Administering Roles

Roles are named groups of related system and object privileges. You create roles and then assign them to users and to other roles.

This section contains the following topics:


See Also:


Viewing Roles

You view roles on the Roles page of Oracle Enterprise Manager Database Control (Database Control).

To view roles: 

  1. Go to the Database Home page, logging in with a user account that has privileges to manage roles. An example of such a user account is SYSTEM.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to view the Server subpage.

  3. In the Security section, click Roles.

    The Roles page appears.

    Description of view_roles.gif follows
    Description of the illustration view_roles.gif

  4. To view the details of a particular role, in the Select column, select the name of the role you want to view, and then click View.

    If you do not see the role, then it may be on another page. In this case, do one of the following:

    • Just above the list of roles, click Next to view the next page. Continue clicking Next until you see the desired role.

    • Use the Search area of the page to search for the desired role. In the Object Name field, enter the first few letters of the role, and then click Go.

      You can then select the role and click View.

    The View Role page appears. In this page, you can see all the privileges and roles granted to the selected role.

Example: Creating a Role

Suppose you want to create a role called APPDEV for application developers. Because application developers must be able to create, modify, and delete the schema objects that their applications use, you want the APPDEV role to include the system privileges shown in Table 7-2.

Table 7-2 System Privileges Granted to the APPDEV Role

PrivilegeDescription

CREATE TABLE

Enables a user to create, modify, and delete tables in his schema.

CREATE VIEW

Enables a user to create, modify, and delete views in his schema.

CREATE PROCEDURE

Enables a user to create, modify, and delete procedures in his schema.

CREATE TRIGGER

Enables a user to create, modify, and delete triggers in his schema.

CREATE SEQUENCE

Enables a user to create, modify, and delete sequences in his schema.

CREATE SYNONYM

Enables a user to create, modify, and delete synonyms in his schema.


To create the APPDEV role: 

  1. Go to the Roles page, as described in "Viewing Roles".

  2. Click Create.

    The Create Role page appears.

  3. In the Name field, enter APPDEV.

  4. Click System Privileges to go to the System Privileges subpage.

    Description of create_role.gif follows
    Description of the illustration create_role.gif

    The table of system privileges for this role contains no rows yet.

  5. Click Edit List.

    The Modify System Privileges page appears.

  6. In the Available System Privileges list, double-click privileges to add them to the Selected System Privileges list.

    The privileges to add are listed in Table 7-2.

    Description of modify_system_privs.gif follows
    Description of the illustration modify_system_privs.gif


    Note:

    Double-clicking a privilege is a shortcut. You can also select a privilege and then click the Move button. To select multiple privileges, hold down the Shift key while selecting a range of privileges, or press the Ctrl key and select individual privileges, then click Move after you have selected the privileges.

  7. Click OK.

    The System Privileges subpage returns, showing the system privileges that you selected. At this point, you could click Roles to assign other roles to the APPDEV role, or click Object Privileges to assign object privileges to the APPDEV role.

  8. Click OK to return to the Roles page.

    The APPDEV role now appears in the table of database roles.

Example: Modifying a Role

Suppose your applications make use of Oracle Streams Advanced Queuing, and you determine that developers must be granted the roles AQ_ADMINISTRATOR_ROLE and AQ_USER_ROLE to develop and test their applications. You must edit the APPDEV role to grant it these two Advanced Queuing roles.

To modify the APPDEV role: 

  1. Go to the Roles page, as described in "Viewing Roles".

  2. In the Select column, click APPDEV role, and then click Edit.

    The Edit Role page appears.

  3. Click Roles to navigate to the Roles subpage.

  4. Click Edit List.

    The Modify Roles page appears.

  5. In the Available Roles list, double-click the roles AQ_ADMINISTRATOR_ROLE and AQ_USER_ROLE to add them to the Selected Roles list.

  6. Click OK.

    The Roles subpage returns, showing that the roles that you selected were granted to the APPDEV role.

  7. Click Apply to save your changes.

    An update message appears, indicating that the role APPDEV was modified successfully.

Deleting a Role

Use caution when deleting a role, because Database Control deletes a role even if that role is currently granted to one or more users. Before deleting a role, you may want to determine if the role has any grantees. Dropping (deleting) a role automatically removes the privileges associated with that role from all users that had been granted the role.

To determine if a role has any grantees: 

  1. Go to the Roles page as described in "Viewing Roles".

  2. In the Select column, click the desired role.

    If you do not see the desired role, then it may be on another page. In this case, do one of the following:

    • Just above the list of roles, click Next to view the next page. Continue clicking Next until you see the desired role.

    • Use the Search area of the page to search for the desired role. In the Object Name field, enter the first few letters of the role, and then click Go.

    • </ul>

      You can then select the role.

    • In the Actions list, select Show Grantees, and then click Go.

      A report appears, listing the users that are granted the selected role.

    • Click Cancel to return to the Roles page.

To delete a role: 

  1. If you are not there, then go to the Roles page, as described in "Viewing Roles".

  2. In the Select column, click the desired role, and then click Delete.

    A confirmation page appears.

  3. Click Yes.

    A confirmation message indicates that the role has been deleted successfully.

Administering Database User Accounts

This section provides instructions for creating and managing user accounts for the people and applications that use your database. It contains the following topics:

Viewing User Accounts

You view user accounts on the Users page of Oracle Enterprise Manager Database Control (Database Control).

To view users: 

  1. Go to the Database Home page, logging in with a user account that has privileges to manage users, for example, SYSTEM.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to view the Server subpage.

  3. In the Security section, click Users.

    The Users page appears.

    Users page.
    Description of the illustration users_page.gif

  4. To view the details of a particular user, in the Select column, click the user, and then click View.

    If you do not see the user, then it may be on another page. In this case, do one of the following:

    • Just above the list of users, click Next to view the next page. Continue clicking Next until you see the desired user.

    • Use the Search area of the page to search for the desired user. In the Object Name field, enter the first few letters of the user name, and then click Go.

    • Click a table column to change the sort order of the data in the table. For example, to list the users in reverse alphabetical order, click the UserName column heading.

    You can then select the user and click View.

    The View User page appears, and displays all user attributes.

Example: Creating a User Account

Suppose you want to create a user account for a database application developer named Nick. Because Nick is a developer, you want to grant him the database privileges and roles that he requires to build and test his applications. You also want to give Nick a 10 MB quota on his default tablespace so that he can create schema objects in that tablespace.

To create the user Nick: 

  1. Go to the Users page, as described in "Viewing User Accounts".

  2. On the Users page, click Create.

    The Create User page appears, displaying the General subpage.

    Create User General Page
    Description of the illustration create_user.gif

  3. In the Name field, enter NICK.

  4. In the Profile list, accept the value DEFAULT.

    This setting assigns the default password policy to user Nick.

    See "Setting the Database Password Policy".

  5. Accept the default value Password in the Authentication list.

    For information about other more advanced methods to authenticate users, see Oracle Database Security Guide.

  6. In the Enter Password and Confirm Password fields, enter a password that is secure.

    Create a password that is secure. See Oracle Database Security Guide for more information.

  7. Do not select Expire password now. If the account status is set to expired, then the user or the database administrator must change the password before the user can log in to the database.

  8. (Optional) Next to the Default Tablespace field, click the flashlight icon, select the USERS tablespace, and then click Select.

    All schema objects that Nick creates will then be created in the USERS tablespace unless he specifies otherwise. If you leave the Default Tablespace field blank, then Nick is assigned the default tablespace for the database, which is USERS in a newly installed database. For more information about the USERS tablespace, see "About Tablespaces".

  9. (Optional) Next to the Temporary Tablespace field, click the flashlight icon, select the TEMP tablespace, and then click Select.

    If you leave the Temporary Tablespace field blank, then Nick is assigned the default temporary tablespace for the database, which is TEMP in a newly installed database. For more information about the TEMP tablespace, see "About Tablespaces".

  10. For the Status option, accept the default selection of Unlocked.

    You can later lock the user account to prevent users from logging in with it. To temporarily deny access to a user account, locking the user account is preferable to deleting it, because deleting it also deletes all schema objects owned by the user.

  11. Grant roles, system privileges, and object privileges to the user, as described in "Example: Granting Privileges and Roles to a User Account".


    Note:

    Do not click OK in Step 13 of "Example: Granting Privileges and Roles to a User Account". Instead, skip that step and continue with Step 12 in this procedure.

  12. Assign a 10 MB quota on the USERS tablespace, as described in "Example: Assigning a Tablespace Quota to a User Account".

  13. If you did not click OK while assigning the tablespace quota (previous step), then click OK now to create the user.

Creating a New User Account by Duplicating an Existing User Account

To create a user account that is similar in attributes to an existing user account, you can duplicate the existing user account.

To create a new user account by duplicating an existing user account: 

  1. Go to the Users page, as described in "Viewing User Accounts".

  2. In the Select column, click the user to duplicate.

  3. In the Actions list, select Create Like, and then click Go.

    The Create User page appears. This page displays a new user with the same attributes as the duplicated user.

  4. Enter a user name and password, modify the user attributes or privileges if desired, and then click OK to save the new user.

The Actions list also provides shortcuts for other actions, and provides a way to display the SQL command used to create a user.

Example: Granting Privileges and Roles to a User Account

Suppose you are creating or modifying a user account named Nick. Because Nick is a database application developer, you want to grant him the APPDEV role, which enables him to create database objects in his own schema. (You created the APPDEV role in "Example: Creating a Role".) Because you want Nick to be able to create tables and views in other schemas besides his own, you want to grant him the CREATE ANY TABLE and CREATE ANY VIEW system privileges. In addition, because he is developing a human resources application, you want him to be able to view the tables in the hr sample schema and use them as examples. You therefore want to grant him the SELECT object privilege on those tables. Finally, you want Nick to be able to log in to Database Control so that he can use the graphical user interface to create and manage his database objects. You therefore want to grant him the SELECT_CATALOG_ROLE role. The following table summarizes the privileges and roles to grant to Nick.

Grant TypePrivilege or Role Name
System privilegesCREATE ANY TABLE, CREATE ANY VIEW
Object privilegesSELECT on all tables in the hr schema
RolesAPPDEV, SELECT_CATALOG_ROLE

The following example assumes that you are in the process of creating the user account for Nick or editing the account. Either you have accessed the Create User page and have entered all required fields on the General subpage (see "Example: Creating a User Account"), or you have accessed the Edit User page for Nick (see "Example: Modifying a User Account"). The example also assumes that you have not yet granted any privileges or roles to Nick.

To grant privileges and roles to the user Nick: 

  1. Toward the top of the Create User or Edit User page, click Roles to display the Roles subpage.

    The Roles subpage shows that the CONNECT role is assigned to Nick. Database Control automatically assigns this role to all users that you create. (The selected Default check box indicates that the CONNECT role is a default role for Nick, which means that it is automatically enabled whenever Nick logs in.)

  2. Click Edit List.

    The Modify Roles page appears.

    Description of modify_roles.gif follows
    Description of the illustration modify_roles.gif

  3. In the Available Roles list, locate the APPDEV role, and double-click it to add it to the Selected Roles list. Do the same with the SELECT_CATALOG_ROLE role and then click OK.

    The Create User or Edit User page returns, showing that the CONNECT, APPDEV, and SELECT_CATALOG_ROLE roles are granted to Nick.


    Note:

    Double-clicking a role is a shortcut. You can also select the role and then click the Move button. To select multiple privileges, hold down the Shift key while selecting a range of privileges, or press the Ctrl key and select individual privileges.

  4. Toward the top of the page, click System Privileges to select the System Privileges subpage.

  5. Click Edit List.

    The Modify System Privileges page appears.

  6. In the Available System Privileges list, scroll to locate the CREATE ANY TABLE and CREATE ANY VIEW privileges, double-click each to add them to the Selected System Privileges list, and then click OK.

    The Create User or Edit User page returns, showing the newly added system privileges.


    Note:

    To revoke a role, double-click it in the Selected Roles list on the Modify Roles page. To revoke a system privilege, double-click it in the Selected System Privileges list on the Modify System Privileges page.

  7. Toward the top of the page, click Object Privileges to select the Object Privileges subpage.

  8. In the Select Object Type list, select Table and then click Add.

    The Add Table Object Privileges page appears.

    Description of add_object_privileges.gif follows
    Description of the illustration add_object_privileges.gif

  9. Click the flashlight icon next to the Select Table Objects list.

    The Select Table Objects dialog box appears.

  10. In the Schema list, select HR, and then click Go.

    All tables in the hr schema are displayed.

    Description of select_table_objects.gif follows
    Description of the illustration select_table_objects.gif

  11. Click Select All, and then click the Select button.

    The Select Table Objects dialog box closes, and the names of all tables in the hr schema appear in the Select Table Objects field on the Add Table Object Privileges page.

  12. In the Available Privileges list, double-click the SELECT privilege to move it to the Selected Privileges list, and then click OK.

    The Create User or Edit User page returns, showing that the SELECT object privilege for all hr tables is granted to user Nick.


    Note:

    To revoke an object privilege, select it on the Create User or Edit User page (Object Privileges subpage), and then click Delete.

  13. Do one of the following to save the role and privilege grants:

    • If you are creating a user account, then click OK to save the new user account.

    • If you are modifying a user account, then click Apply to save the changes for the user account.

Example: Assigning a Tablespace Quota to a User Account

Suppose you are creating or modifying a user account named Nick. You want to assign Nick a space usage quota of 10 MB on his default tablespace.

You must assign Nick a tablespace quota on his default tablespace before he can create objects in that tablespace. (This is also true for any other tablespace in which Nick wants to create objects.) After a quota is assigned to Nick for a particular tablespace, the total space used by all of his objects in that tablespace cannot exceed the quota. You can also assign a quota of UNLIMITED.

The following example assumes that you are in the process of creating the user account for Nick or editing the account. Either you have accessed the Create User page and have entered all required fields on the General subpage (see "Example: Creating a User Account"), or you have accessed the Edit User page for Nick (see "Example: Modifying a User Account"). The example also assumes that Nick has not yet been assigned a quota on any tablespaces.

To assign a tablespace quota to user Nick: 

  1. Toward the top of the Create User or Edit User page, select the Quotas subpage.

    The Quotas subpage appears, showing that user Nick does not have a quota assigned on any tablespace.

    Description of quotas.gif follows
    Description of the illustration quotas.gif

  2. In the Quota column for tablespace USERS, select Value from the list.

  3. In the Value column for tablespace USERS, enter 10.

  4. Do one of the following to save the new quota assignment:

    • If you are creating a user account, then click OK to save the new user account.

    • If you are modifying a user account, then click Apply to save changes for the user account.

Example: Modifying a User Account

Suppose you want to remove the quota limitations for the user Nick on his default tablespace, USERS. To do so, you must modify his user account.

To modify the user Nick: 

  1. Go to the Users page, as described in "Viewing User Accounts".

  2. In the Select column, select the user account Nick, and then click Edit.

    If you do not see user Nick, then he may be on another page. In this case, do one of the following:

    • Just above the list of user accounts, click Next to view the next page. Continue clicking Next until you see the user account for Nick.

    • Use the Search area of the page to search for his account. In the Object Name field, enter the letters NI, and then click Go.

    You can then select the user account for Nick and click Edit.

    The Edit User page appears, and displays the general attributes for Nick.

  3. Toward the top of the page, select the Quotas subpage.

  4. In the Quota column for tablespace USERS, select Unlimited from the list, and then click Apply.

    A message appears, indicating that user Nick was modified successfully.

Locking and Unlocking User Accounts

To temporarily deny access to the database for a particular user account, you can lock the user account. If the user then attempts to connect, then the database displays an error message and does not allow the connection. You can unlock the user account when you want to permit database access again for that user.

To lock or unlock a user account: 

  1. Go to the Users page, as described in "Viewing User Accounts".

  2. In the Select column, click the desired user account.

    If you do not see the desired user account, then it may be on another page. In this case, use the Next button to view additional pages or use the Search area of the page to search for the desired user account.

  3. Do one of the following:

    • To lock the account, select Lock User from the Actions list, and then click Go.

    • To unlock the account, select Unlock User from the Actions list, and then click Go.

    A confirmation message appears.

  4. Click Yes.

Expiring a User Password

When you expire a user password, the user is prompted to change his or her password the next time that user logs in. Reasons to expire a password include the following:

  • A user password becomes compromised.

  • You have a security policy in place that requires users to change their passwords on a regular basis.


    Note:

    You can automate the automatic expiring of user passwords after a certain interval. See "Setting the Database Password Policy".

  • A user has forgotten his or her password.

    In this third case, you modify the user account, assign a new temporary password, and expire the password. The user then logs in with the temporary password and is prompted to choose a new password.

To expire a user password: 

  1. Go to the Users page, as described in "Viewing User Accounts".

  2. In the Select column, click the desired user account.

    If you do not see the desired user account, then it may be on another page. In this case, do one of the following:

    • Just above the list of user accounts, click Next to view the next page. Continue clicking Next until you see the desired user account.

    • Use the Search area of the page to search for the desired user account. In the Object Name field, enter the first few letters of the user account name, and then click Go.

    You can then select the user account.

  3. To expire the passwords for all users, select the Multiple option, then click Select All.

  4. Select Expire Password from the Actions list, and then click Go.

    A confirmation message appears.

  5. Click Yes to complete the task.

Example: Deleting a User Account

Suppose user Nick has moved to another department. Because it is no longer necessary for him to have access to the database, you want to delete his user account.

You must use caution when deciding to deleting a user account, because this action also deletes all schema objects owned by the user. To prevent a user from logging in to the database while keeping the schema objects intact, lock the user account instead. See "Locking and Unlocking User Accounts".

To delete user Nick: 

  1. Go to the Users page, as described in "Viewing User Accounts".

  2. In the Select column, select the user account Nick, and then click Delete.

    If you do not see the user account Nick, then it may be on another page. In this case, do one of the following:

    • Just above the list of user accounts, click Next to view the next page. Continue clicking Next until you see the user account for Nick.

    • Use the Search area of the page to search for the user account. In the Object Name field, enter the letters NI, and then click Go.

    You can then select the user account for Nick and click Delete.

    A confirmation page appears.

  3. Click Yes to confirm the deletion of the user account.

Setting the Database Password Policy

This section provides background information and instructions for setting the password policy for all user accounts in the database. It contains the following topics:

About Password Policies

:

When you create a user account, a default password policy is assigned to that user account. The default password policy for a newly installed database includes these directives:

  • The password for the user account expires automatically in 180 days.

  • The user account is locked 7 days after password expiration.

  • The user account is locked for 1 day after 10 failed login attempts.

The default password policy is assigned to user accounts through a database object called a profile. Each user account is assigned a profile, and the profile has several attributes that describe a password policy. The database comes with a default profile (named DEFAULT), and unless you specify otherwise when you create a user account, the default profile is assigned to the user account.

For better database security, you may want to impose a more strict password policy. For example, you may want passwords to expire every 70 days, and you may want to lock user accounts after three failed login attempts. (A failed login attempt for a user account occurs when a user enters an incorrect password for the account.) You may also want to require that passwords be complex enough to provide reasonable protection against intruders who try to break into the system by guessing passwords. For example, you might specify that passwords must contain at least one number and one punctuation mark.

You change the password policy for every user account in the database by modifying the password-related attributes of the DEFAULT profile.


Note:

It is possible to have different password policies for different user accounts. You accomplish this by creating multiple profiles, setting password-related attributes differently for each profile, and assigning different profiles to different user accounts. This scenario is not addressed in this section.

Modifying the Default Password Policy

You modify the default password policy for every database user account by modifying the password-related attributes of the profile named DEFAULT.

To modify the default password policy: 

  1. Go to the Database Home page.

    See "Accessing the Database Home Page".

  2. At the top of the page, click Server to view the Server subpage.

  3. In the Security section, click Profiles.

    The Profiles page appears.

  4. In the Select column, select the profile named DEFAULT, and then click Edit.

    The Edit Profile page appears.

  5. Toward the top of the page, select the Password subpage.

    Description of edit_profile.gif follows
    Description of the illustration edit_profile.gif

  6. Change field values as required. Click the flashlight icon next to each field to view a list of choices. (Click Help on this page for a description of the fields.)

  7. Click Apply to save your changes.

Users: Oracle By Example Series

Oracle By Example (OBE) has a series on the Oracle Database 2 Day DBA guide. This OBE steps you through the tasks in this chapter and includes annotated screenshots.

To view the Users OBE, in your browser, enter the following URL:

http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/2day_dba/users/users.htm

PKuPK1@OEBPS/cover.htmO Cover

Oracle Corporation

PK[pTOPK1@$OEBPS/img/auto_maint_task_config.gifQFGIF87aڴlrL<>dfDLV,μd䌒t||\Ҽ^|x/>ϟY(h_ 6F( K<]!9T4.LOP3$EG(4H4<@)Dik=f;8rw;E4ʔgsgi~&(`gl))sxYx}7^xMI!*袅ҧۣ)ר{^yUw]v^Yч1Н7uJqWߢPPji+qi+zXbe6Fβ j *sRY(eI jxYrePE>*n"Wwf**YСù6` +i|]~+GmđKgk7*Xk-~Vf2!۲%h}Y-I t5,,`sKqvrvŘj]:0,fV4Z;*Ҽ8kof|7z-nc'xL7,aK;H|sT;(SrFO0Q10rG\z0!0, N47 ϊ E/+CO2Sߏ{Aq렋7.L]y+^yH@ :K:PN :X Zop6]ጃ`;(MNdF+^pM,$zQwÿ谇@anP0-$q<Բ *jPE`;~ E.O.bьTD#:qjE*qnIwA7 E!r[ZȶэT$E0эv|$CGMvҏ4ZD0# ZRa ȺЗ.]9ard"C9GI唄%5FfRl75H<:yugqŢ>~*T 4P94e@ZЄ~0Dk6ш] @!ш* ESCWx&Jt :@'IREiTQ~ `4,gFJԢ.=R:I}j*UF*VSz3GKW*ϬD2ꉊ o=[JWWusEE^¯`JXeu lb:ؿ6wZgs5 4=M>e3{Y h5kZ,_:`@F6?m^Kֱvq_ph\uM.V:}t:"w).36ZӑzԤ1)HqܖDޝE/L{zѵn@chS~_׿T<`6f`:aWd)Sƃ+n ELb}(>ӅTv+fP fLسg|ZX1V*ul-[Xy]iWr_j&PO1i'Iȥ X;x@jZf8h~1gvo.zC548_ h*Z~t"}Jwʹ7_I{Ză2\VTB ^֗ィUZYPl*2Yؖ&1cS vg8-׆nX~q8]i#Ntbuu'R쵇uk']pb`fHTu__`y_XCsH~rGUeXxBh؊x@(A@eXkj˜AtB"6/A,lC@ B d6UB0$CkTrB.tU'x$؎[-=#Wq(b K"πp & " Q(R;;@<" CϠ; y  3; =K<.< h!"0 ?+9p;UP 1 :SZٕ^iA 2*/R"4GSb...b500Br /o6B02/-\٘7NSrB=GoT wW^^^NRUwkwLP̵ĂaāM7b`ƃwk\PTɫfW]#d:cp|1[n]Fl |r,r\!q"gzr'sQr0s lӬ? CNLߜh͐|zztXQFS{umuuYGSl`nWqWO`v bqxL_wxSSg}w"kw(~^ f2Eyay)h+l%fȧ,9,;]]fWɦ\ʮ{u5z6{goDx||g&˻|wa bˌ`}L!=M hֵֶ,%ٜh,}˥Vӫk 7k~kz@y-mƀ[xIW$ 8a\җ=tmpO"ڮڰ۲-}=l49Kxpg}}a̙|qnK@H;ԴS]Zn-!ם ]= Mf᭄]"2iu0x$-l UgҍzΒ O؇fߓGӌl=`;'3߫g}Zh,ߗ$wz]WWPqW}p=g E^ q֌Kn M^,q&n Q.h™jW^ "Nfgi}YB9S7i1]bl.phn_} 爭3 ^,Vms"V+wuFm(SȖ~阞难}Q4.ɗȽnKvot%ʤ^VЦ87ˏNaʴЗ^7oKVw9`sx+N}lg^fst'@~~羆Ľ}uw^Qw-َ}ΐϢM貮v =!Vw$f^Ӟ쌁-)<~N3!xxo)xr4*H.02?jQ386<x+r󐺲&߸gDB ʠhRͪ^6!=; a\dO g_Ui?]pts_x?M>ư)399PY0=@yTX Op@!QP;Sذx =0 9 ? y; / 9O O[ ;=? N=I=X&& Ӏ3  HXhX4P5T8he9yIUYiJY YTkT贸ijI3*::܈*Tl .>N^n~@ $ʠ(W<0… 6gϡĉ+Z1ƍ;1ȑ$K<2J wEdYKr2cX*ZȁÆ2h]ΜޘbGBkEHqKi 6ر [<3͵ZnUۖe=/ە4jn9CW3­q\æ :Tƌ4h0 0c/VL6ѤKߜk-[`E.ҵgmy{[5l.wLvN =S=KZ>|n>rMIU0\[ws`x| *#;H  R4 2 -0SP/,H`&73@| XQ.aWM=n!P@b!@_J.x+5IeVjZneeedffjfn bΉtB5ٖ'WTfU]E:OQMUG%#! )=f~@jjj*j0r:x*kf|zj&FYիg^}evkg[cJFe1f[: a$in.ʯkƚpM\mt%s9jZ6,ùEq55" ##*?. vLs6;/x{*rCO"lZR*)V|4LF31rLզfr,"_ v-VVne>[.]u] )Zĝ05Lvr199Bwzo見Cɪκqd3<ӾkH4EMZ9ҐVEӶFg!**%[j +K% +.tvԲ<~7sG6⎾¸X$z+^&}yOIV ,YҕұdAnb`nyb YVw eLQkbۡqD$Jl'JqU!z (0'ċD! (Hb\/d<"qE/x0_ Ci\@1$Q( p* >dט=9ł#5፪"'lbiX""{d * V'd\AL Bt&N AB7A~ШJ@g(),·X# 3 Q8yMә,(6gPt -ЈZ$E/ьjtG? Ґt$-IOҔt,mK_ Әt4MiꯈItl dԠ ulzAaE*UV z:dQm]UʦV]WiOE lWzgjTVWuռR _׫)]{J c Jve/jpEo Њ iOZ6mj[ VTQ]%@;0  DE A`܊;(BE{$-nd ^^ww"aDžz۫^ nt_aQVע{/p׸?BJ>AQnA#څC|mx]ڎ؀?rr<$/Oަ|,[IF7^.8* ~s7CGSыV=mB:PiKzQ}M'zع~]PǺkK}t܃ G}H?}d5:Ox#^{?{t7ޯT?|xK^/-/~jnzďx'=F'}e_{C>:q l ~y~'G<{_>KxC~gL8~_G'GGq`|G7 & ~v{CTub!hЁ:%h'h1-X#-x1S6 sЃЃCh@ȃJ8A>PЄR(OXVZU`S47p*Hc(4Uah(ex4&<w]x|(~V^(?SHȈQ[8hnhwHyH8fxXxXH`qEb1(#q'&)8:DƘ"h%HQ:ǀ(1(|h Ȍؘ:c(d-1#0GK;言sht7t|~N}&g~gu~{Gxw'?q8v3+W9p!#y8h ؐ}ᇐeg}{wz7ܷ@&sD1Y +ynґ(؀QrSؒq~U'cIeigikɖmgYZO)'ssvǗ} )zYD;&M'K'cɅL(ه\X@ ɃXm?yȚJ !3y LD؄)~@QQ8`)ɔiי܉މyکi9蜃yY8)>Z򩙇I1b 9Z7єX?5ŠPx'+,Zw*56иXPl)YB9y7Y{C~5ySJT08g9je8NI]Jr_)Z*@u'Yo &:Y{{DUdZ18ȥ(6@UhJب8I*G{H:d'R*23Gvizv10x  Wiy.Y ڣtJkbrkZ#3ZRi *z٪ګ{Hy銮 ڈ(zʂ(px sxuݪ)ɯ%Q S y ؜8{Qyي+![H&J(**Í࠳t63Q䱰 (KKNrM ʬ5r)RG)jY T[b{ 0iq xڤwꧩw{r}oZ8z&K6 2"^;w+T}˒UqI7Yv:y تS:Zٹ](\Iȸo麯 d{Z!S`H뻿 +ۗۍ3PG+@HjYuFʮ;)˟̋(+K-)kh틾j@k  _خi Y  ,虸) : ҋ+A$ʕrhX //DFl>@zMrOlPL|sTR&~\l9ȩg'׶Fof|gSfu\ǡ/YztK*s[W}],* *ǒܲzljQʩ,m/ڪڔv*óLj*VY_< '.Z=2 *0@ʳ4|H8\:ۇYȟKZ;{Myoh|,={'?|KJ(-Lȷ#ۉ%+'!lӡܛ'1)}s!=Lp,25mUCӟ;=jgHˁZ۵I͵,?Pʒqv?u˧=y27 Nɷe &W)ժLGƌl}p;ִʹ{xY'✵q&-Y%,(M7H6;=?A.CNEnGIKMOQ.SNUnWY[]_a.cNeng^k o,s+HD uz TCaJaF0 "PH0 ; !MtN'+ >b@ 4GFTP HFj璾HH U LJ0%.OJ}n@졎LR$g @횰ANGN$뫎 ^Mư!^FH^.3 p!     "鷀[M40N / /JJ 7L o!$o (O:"J4$"# >.J 3 d OBM[W d ^MZO%hb l . 9 w `OPNuopOS? 1I IE>O;II?/$JPP G/J_.!:Is/l$ ^ ? Pޞ?>S vT#K> % Tm끾XHOK;MOQ;KP;;JLN;LTKLM;URSVN;JNJLSUǓRƛչ k*\ȰÇ#>ԷOŋ3jȱǏ C(ɓ(S\ɲKH$_ʜI͛8s2ϟ@  'QFUdђKI6}zիX}ɵP\_ͅJزa#6dň>vgς5:Ɲ[֨ryʸ[ɒzl>%w-L9seu3Cm9nҐ1c [L`5d.Zw-~Lt٬Eu\s)-m޺y4fhl+uWWn8s?sg~(JɆ߁'z[Xeqtћu-~11XJp7xh_7܀4hcCər~I=X Y|q" ]wއTڗ J.P'cWe7i(TTL9S)t"WYx4矀*-j衈&ڑ6裐hVji^ꙩ::N:ʐ/;L&Ѐ y`37}iz XDNݓ>d w3YP g~&JvE4b)F8 tBMs`R3G,^08Sj@! a(E a?$|"ͱ(tl NxI, X2{@H(+Bu$$iHa^s"=<.f+]$%*HIҖM)4$#4UCS, & 01,Y-.$4?aZ Lq\IrL:׉|{<ɧdĊ= MIp (pV*jH2ٽ03d^ &uD(P&$s=00 {@ct4iR֤XcGIu]PQ`}T' %E\)N=K m|G$RKܰD9 1-Q ꘱p,eT-zc,2T.z(y !$$G-ՑCw|$ m5H/ҵuGY9֝>8߻ e]GB1!] E1H8D>`f_[и,׏J\W4VEy}3{%^8 dWFy.C厨Ewwև%:>}1+HqŜp3 = -pr%"C2W}!ugW)ӷ+ /32SD344t{!3{% 3@x/% G +: U Qr >NPs; ڠZ0qN4"p5S ˠ4LCw 24!ohx55h6jt+sXx)wqx8Xx8{ȇѧPlX״,gc#HR@7_LT'm! evee;xbe*)VkhDx@x7"0ne#UbBxbWvXe6\> 0l8؈eUeVSThvP9Q@8@Ȏ ԋh; iHvЌY G )y8*,ْ.0294Y6y` >@B9DYFyHJLٔN) R9TYVyXyQ\ٕ^9[b9dȓPjlaٖpro9vyuyz>yi;> ;>;J|z?  ?iG`;NٙDILyOiHFQd9)>YI>-N FE ApA EFДY)[y;@>;EٝjݩYI9 ?iɔz )Dʙ Yj;?p>)A APۙɟB@.ڔ[ٙzՉA١?i B٠I9Fڡ风)СC Tj?UXz<:jXʡd "9HJi`gyJQj湢ɦ|ʚIɘSʚ^J&K*Xꓖ>)P꩐vuz`*2Jj9􀦂9ɟ6jz>*C٣/Tʤ=zz zCy٠iI i A9ɤ:*j>:E d-zڛ zʯ@Hаꮇz[[ڡ:) !0ɭI #:j;@DH=z Zx+iK멆ٱz:] ٳhh*JAYpڴykl (95a9:E듃=kʸ|kka[zfP랝)?`k{+.+@?K"+IVyۻDY.ګ;);< vJϛ>ۼt[ۗ堽;[{s+L{K{\տ L]hwz‘#x$ $_$+l7-7/ '\/L77{c.X76þ3lM:,99@yQE|\'Y \l[KK,Mb e,7N=ef|gM,v&,R,NLv.2Ӧ Ә~\QOplӚ|N<,Qy+F_8pr=t@t}xzA~8m׀=؄=Tȅq-؊؃}7YL j֖<}ٚқaCdچڏڗ68 ((X t{۩-#2a>VAa]^&Ƚaҝ΅ ä ]]} -=]=V]7M>   C M] > ]#/~ $i=mq%r<1;4197+ݓ ^4!n \bNh>%\Pn䅀?r>e 60Q.j~Tpnm.Xl.卮[n>#N1>rTp:Yu~.j6>lm`~-p^1Vnˍ^KpyNvSຎ}(ۑrϩbg"K=   Ki 7__&("O!.o. ́ 96p-;ؠ,GϥόӐC/\l1QHVR6/kԽLU|ޜlά#P]<~"Zw_y~1!|Lu%-ezcϖ_mtv/C.M 5궧RZHV[:ћG^$kvV luȁÆ O14۸seh^{ҵ2MƩrFcQeU~JǛ+{t,Ф=9tɨ5F*o75Op מq{nlcY::7S;r׮w𩭇%n1}Fu_> Vl{7b5yu*7Mxx̢z.X}ؑW|&H}U؈- )`rH^YFރV JXdvIhj /"b=E'Vr#Vy%iHcCnx!X`#9 d)(+"D #b fsoni~ jJjh;-jK*b kBيLVFzKll.l> mNKm^mnm~ n[-NAnnnK#hΊR3o7p6 kb1 g20A Sp#c)`N#3bΦ#SȮt{"|39_s?oPtRp(uٹ  ܅p`#. ]^B7 ow ʲB PI! AB׼Ђ.jhCS0>aFz+1"WtīDVI ('BR"+(Y1WUܢȓ.>Ĉ3Fe0n_FQho]FK񪌷SG%HC!c@QJ☔6p a1Iꒅ#-)b䟢8Ik)KiTR%D ==>O옖[r?}#3bt|D% , Z fFQ%+(ڔc84N,Q&,xNCϒdiR' JQQ|+~LB(R(d2sꓟLsQhӐ'0鄱zARJcSLPfJGMoӜ~*VhbJS4B=MUPFfS>ըJuTUլju\ !bjI5pٚ5|s=\VR kC:BtPx:pO>> V DU`\ؤ%Hwb_bV9>alKXZl>Nxc%KvHZcͲ1j%IK-Kg;3I')4OGFCugkY*'hV8&j43*JRʓҘ>w&U<=0KT4zH%d.2QYANzOv4DHI5Gmsz3Ov˂D6p8gZ"n'DnbܵT2JAbs7@\{ej۝hF<4HOͥg7^X;%u@ZJ<QYU3Ki2Kbt4W;X^կk}\%gEYY`c\vi}gO&v`qEң[[tO䋍cu/\q&[xVoZXVjKx omp-vw6Wl۰$?yw@Ehv\&ֆ|An_1~U_e)ȑcOb8F^c |?7st[Swwܧ97{9a?>68|@&{bh.1w(cwqy'^'dTw0 vPHfe%ȁ:(0/x1 :v<8:5EtBuSQ~vuI(Dl1M~ R䔅86؅vLflFGD8hfvGfGhF'qkFL4JOHRejr\bֆ2XąssFp'nuHP҇6Mkö&HjіK vL%lrLX BMdp(DH㦉!FDDoN"Ȋn7w&@H OHrLot{Djs(oJ4&^qXtGmq؉zq&Wr(D5RHP0W")錀t ɐ cj%a(Jix_!)#I%i'u +YA.V0C*)-TtzC;$:A-) D;g5"c~:x6~`PyKY^yĵzid6~U|C[['?'?q\{cI75dh)C [HY>|7Yc7^ޗ}_}w:HV9Քɘz3zטT`vb{AǙhgoas]v a©lɒeh{ t`9)~>[9XHBĝiXZX.,WYI0:Ga/0ɟ9*J :f D J*%jZʡ !*%j'$+ʢ-*1ڟ5j79;ʣ=@>*Cʣ@JG:J)K*, NQ:O VJɤ]& 0 Pp `gzmp@} q*JhPy"0azr  cjZJ ~ʪp:ʨZ jz JjZ̊J `ꬲZƺ: p*Z 䊭q*ʭZ:|ZP ъJZ` [ ۯ ;P! a $)% .;"G8;˳=n? A+C+`@IDkHOMk9KU[hY [_ F0 cKgik˶mo q+sKukwy{˷} +K;PK eQQPK1@#OEBPS/img/sqltuning_adv_2_11gr2.gifGIF87aYڴf4ʼ2dd4fdf2d̜Rd2ljlLNL|~|lrL<>dfDLV,μd܌t||\Ҽ<Ƭtάʬd¬Ҭ䤺섦t2,Y@ wntƽ¯oʼͯռpnroj Ŏ0hn2p|f!qˣ77n޾ExV&xsg] 2?ԥ-d-w,1b;jf j ;o)c" !TSy矀 О)(?l*h@ꏤNFiG 1@n ꩣ~)!j:k&D*,/^Wj]c찵, 5*Զjf `Y/(nͦ< P[huo;p%c[H#L;'ZJ $l(# .3l8笳q7\q;L4Ӽ޹>qN/]aXg\wY dmhl t }@x=3[</źm'Gی7d+͊LJ"末C\H[\\̄ꬷJW0]n,Gpk ʾ {((* -KOKm!` x½'_, ҟt$wןӤC: ]&,AӍgf@V@@Kc%Up!أAG$'d!{:y٩XM @8ԑZ&z؎p>dC]ˡ&n@Z喨Ӑ鈆) E"Ƣ,ЉhL׈⋵3 #&Z▶ 砸X#4R|ӣxpm꒞o*@ (QLJ aA:.dZzc:R#v`Nh8 3e%GYE!Ϥ2`腖 8&]L:b]Zvֵ,GLZ+[&uz걞@>MBІ:D'JъZͨF7 *\$Y+Z1,%+LӤd>﹭Q,*2U<ѢHMRԦ:PGfX:N]X.j fYuoE\ʊʬE^{䵯|]`W^ v]agX㯌uld'.VE%W R[efGKlwjWֺubKֵYmw pKMr:ZsKZ(=V 3 T.w/y͛^-|^Ck mmnU `avx0\ΰ7{.~`XD&&Uּa@YZ"6 αuKUbX΂L"HN&;PL*[Xβ.{`L2X%QD9}2 "Mk@b RG rk(EХa_E|ܷd g8nLSha?ä#i=]>>o㦙8UΚ /x<-٨gi- սzވy 7j@ `8>e~zY''M>*(#<#u?s㡹P:ӑgQ= y0*|wz"$}{oK#=v4%/G}|'yOAr 7w`x5pg#%a7}?gu$2GFs;灴|H hp#$7z"ud2GE~,nw~zk;AR4O7D0NNQ/Fo) IRt RlȆl%uOR1R*%Tk*9eRɶS+p4T)O=Gsyx˰ojmE-GEUﶈ]x;ӄE{V`WoeWmUWa5VȊp5rVVnVde؊rE( gxɨmWΨXxVȌ(ӨHHXXHWhâaE7,^$?Ԩ y  Xh؊uؐ )&9xxsĨVňh99)܈嘔#xȔKI;) )JiSi5[ٔ⏝-1dD@q゙ ivk♕ID9)WdFq!2Y",U 'w㈂`#B7RrYpo.y(W)#ؗ1Kxf |98>>H#i (l۰IrI w3}ڂ+&@B&CkoDzƫ *{ ; C!~w*"$:{+g| sBڛ#᧱w#'={?h˻7| ~ ??( GWJU( \) lCN0x״;sWU Z';$Z+tKFIq 2(0lպ w.l&;[eĽ2KkwL aDػa#pHl۽fG"Cܼ+9be;1jWTBW m رw̉tk:PEBӷ,',vr/yȵP7!G (kN|"|\ X@ܺɺL ̆˳˂t#$a[K~as$s6;5%ѫ#cX]kD*{u9%Hv AB;S,Y y#ʺ%$^@/kx @LyZ%ɛF )߷Į!˼W17B Foȧ7|A̬0U~iɄz+퐸;.KԕMӫ`̀/,J\MPRb=֚Ÿ)zW8-(=6µ"ݻ }ʝ{‹[f2Gx,Ϳ;]7IxZ'v]@WL!VV0)R~t |/WlМ<@wL)L{A <"B(8.z<l k s$=jݳ@"Ƽ glEװ|A̝No2=fREa̱=fxD^x7ll&{< ;m֋ȏ=FwsWz鹦Aq1Ҽ9CBvܫK>'r\N-?ÜVռ#'z໰< <A'۶.#'$>~2nE*ꊍɘ:) ɘiMߘC9*( o:"?$_&(*,.02_ 0++ӑj Yt5Yu&3N$RN]TTW/Z\^6m&iVfևU2tvjjjزg hk~kkfkvBEOFOVdž*k?hcmhbSTYOO-^R__z6 JU_m  "kO)~X-lw8lOm?molhTQ?0 8HXhx)9IYiy ) j)P p PʺXZูq  ,`X>xLj:>(^xˀHP?`@A;8ptΥ;5!#bF:z2ȑ˚E;).ʕ,[$iOTj3Ν<{ 4СD=4ҥL:} 5ԩTZ5֭\z)ͱd˚=6ڵlۺ} 7ܹtڽ7޽| >8Ō;~ 9ƒYN): ÀN)|j O՛Л͠i|A'u7 wtsmg֖13P<4~؏ƾJwAήo>MV}WvyslD7V zyfl߃˝]ŹnMb"HbrUfbk*2Hc6ވ#Y(c>dBId^;)0SS LYҤ"дJ\e+bRY`J|hjXcYtbgxz &f:(xy堉 nrB;祂Zp"碚2Οxn hhΪښfoƹ*L e?ZfiL^˥^mޒE0#ߞ^Ц+"f軷PgXzVF!"T0;;! mTFIF\̱Fc\H9 "̲[ s2Ls6`̭ٲ2m+(h&M%[>Tǎ Pvbes[4]oӳA-Уf )p$,agµ,l _0) ormkޜ-IZ" V2FETQhŚ`\0.Ȣ8<,qllЇ hC)x(.c>||d>G|9v(SA3 #>R2|'? J0,)KFx0b3l+_ Xr-o9\r/ `b[YQ%2c YHđ}LLD'6btbFMb,9ωts1S dB=|s?Hv t-APCsj!&8#KE߲Pcš@)<R~!hL "=HqW3uiG]RT;iI% BC-QuhS V,O5PzTU`SUjVU>_e*+ZUjuQjW/ We6&ʓ,u|_ v-a*vmc Jve/jveP0'g`p(8 ײ8O /0` D-^*wms+-`.Tkݝdw:!OJEŨ`[ :)-VWoNʀ w/>@ܜ7WEC|͐_7+ @`x$.O\: x3xDaDyCqB >E1W:b؀2 P&`A I@!ij"BspĚ&D:憘t jy{ ]yd"B_>X HB"/LҚuԤ.hdX$'A}n`` 5%qTZVhlE0X:ݩ|pj׮umeSJ 4IdR"0 m{&P#ULN]aMx1_;YJ]MU 6+JUU (VԪN T$/k$r MV9IL:.(⼚Uw=~IeBtxiSzqGEx &{+}S>*>_[wSg3򵈚k!5'#PɨNLs{6y2c/4lgH+Z?lZd=|>-O},-_`*Q9Pz8,TV8m=~wӔc JvʨI t:Ы>Zz {2\b*1CZ뻿;#˳0+Rk ˛˼ 6㼓,Z'l' @Ҩ˸uq*fw= 0TھsێkqO׎ K'*4<*B Ԫ|jJھz1;;A?Sы) + &gtӒqkc`@Ê{uZmLqrzZYJW[ $Y‰'<՚:&M)綪izc?,hKjrJ \ ÌfRw>)J'z ?*|(`7 |/q,j/ܵ^j`A#Ż_겵[%|ܪ|Ilhgɼ,i+ȞK:K|vpM* x1<)3 }#53 $Mc-*~ m.W ݂z]LjхьAOcϥ"B X]:9M 7#iPӖ9Cv;i3dOeSfXf ha61 kN[]] yghcMdzmf_= dHme J p Չ0VSe&b&1%D1'gov{W ZՏ 9 a emٗ8Ӽّ ڡ-٣P-5Qsԩ RM] hֱggmڻۣ=z-/Q2%͝e`yMؽ}N WQڍmڊ0ڋp} ׆pT ۹ N}{q&q 0b NPܴj} %n=v?f1-1.3N5n79;=?A.CNEnGIKMOQ.NU,kY]P"qImHnIQ r!Бf`km^ wluqGr b 1" 紱 ^! Hvqu^Gtb1qc>>@GՁymNIn!t>nH[|r˾ !ێqN>n!׎n _rpd~ q"_OH.׎Ў|Ҏ n0N"' ~G}1 n?#3Ps+$ȾIvG0K?箮!a΁Wk0EOo`B_<|{r}A@LŒY* CP>dzy1Ar{O _qqǛOه|u6&o?"zo@*0`rɖB&:**pOǫxp_pȬOOK+įJ'?)ޏo~+[%E+Ȭſ3 "$#*'$˜!"%&"ģ$!#$""'%&ܝى۲''m*0]È2.@ߺp&kF C9/s,Qd㨕"cS.P<;o%s^2p)҆Fjn$ G2MnKbf>uIlʒ½Tjt È"&!2wqTL˘3k<ϠCMӨS͹װc˞ )0D&ޏ'fn8sMH>tԳg^]wܧsN~<_Ͼ ßϹ-PjgW~I 1_C%Q~AW\߁i  "b"(T rB e 14;abl`&H::8?3 -D|g]w\rIx׉1ȘubI )t&#_xnF͐YdI) XT *{[(eDZ HR> <~rx%i#kB*hٶmGgxإ%םfu&u8FޝVkmι)vNj k覫kݫ,|gLCЕ5(pqE"Yc ;<n +lȢ$l(πM9s.F;ѐ|ʹZumŔԅ8u@-jUɀ57 ֗ @et ^׷0|}Q;6/l`z0޴8ӢOKt;~Y+ۨnv[n70~>6=o'l|'x%>펿&7n\f (ky%Msy3G{@8!𞛐:W8sg\.=NS0֢f{l Ǻ{^feOpڵxG.ݯNgO.!O;t?nWf8*tb8p\.ޏ,v. Qˀ\W =r@.x<j^Bjz; gx^f |d`D__o} |SO/{U3b~wTb}(g{ׇ\w\'`0f\D\izpVae{Ew~hg{['&x x~ x~}U}.y] '}Xxh~Ǖ~b~'wTdTXVxX(g{ׂF{71ȵ|Ń.8(}ǁ6vnyG5}|G8Xjp\\{zvhih F:f(h؉X`awf`8X=[6cgnw1P04g]uT A4giePdx蘎؎x8S1v,dc(A1،hpԱX (8AbUgVeYf"9$)(i,(ؑ 6èN0y脉֘؍)VVebb2ٔYLYTYVR옒Z -ٕ^i<}FX>Wyhgfjb Yur9HGHP/Q<BMBD$t1%C `` y@  ⢟YE@P Y @1@`4`H04YTM s` "FC -Z4E y} 0 ʢ/#GD) y (y ' z>P@ zhA 9#Pu Ro* @4sk*Dzq(n +T!z8!]1 s 5E-ݒnv10>B** n &aTCߠЩ tD ?* )rK(EĠr !: J@RDzZ|JuQa@భ*DjJtٯJAe g9YPs@(PBa>° Ia H!ĩ+Iiy3?t73 ijOZ ?)#bj@{%ckQWGWMj K+C*ZZ M{ >ĥb[]ۦU`h16f v4SY+HKT ){డq[CFD>C**mo{B !_2{itF@!}`Zq!-⺑ȪN) \O!qjGw: ˛B1Kj*HzJ+Jي>ʾ͋z%6Ql!*1 J6|{{%+.;1$\&|¤q ",.<0l\Q=1*bőxƑ*Ľxe/ß! B꘽{ YNx,&SQ'eZcp _bi`ӻQ1}#'?-H^K-r]9ڼmD_//>Nb-0t3~ssF aҼԷiFMJ>LGjPѾ@H.VbjmgOM=|0O;\/w@yZ2O-wRMvZkC?~Nҝ=.&Goܠ 34M_TL^r] ?8?\SOw_?ǿ̏t?u7ٚYߊ#; ;+}Kə8 8  mQ$ :LűRY 8HXhxH bX( yyو)(BhYijHZ*;K(0hۚ{Jji)qB;b:ZIl,Iylm`=>XbL8]- ?r\ψ}mA"ĭ߸ 3N!BWxqՄEۗ/!%m)$/#ÈCLmY'LJ&FS;A z#(^HrJO 漕EZ @NOQpd@ :fYPEfYI^x.`Ly&B! (qqPcE&Dtc3E%( ߒ "6Gf$.C'D8ѴfE$',0|5"N J^|nΡ)t\-9վ}P n*ls5THr/ezٔSЕ& Zjv u\!ߩ7 ws/-s!*fHv[!V Yi'pw׋TxԆ;UNYVXMᓩTt6Ere} fbIfffjfn grΉ/SF ``S_Wbi&_ȥB)4TAsTSɤ,XhU,B)!|稞v &U]ۚf#KAjYirfI%avKUY 3GIO>jgW!r5zvuѶݤDYHH[̒^Pd+ e. %tcdHW3z+ zMHAocq잫(+0"8R j^e7+n>l̊._.s!."cAe *4ߵ,ApK|Xkm`BV\fwD$5x `xۂY]gnysb {G$WnL6=s}6xd[&؟DG9@NkU?nv<砑8x ZtP|OO}_}oA3[|&u s){(2( +õ ,όX8(kh@N4(&()~@xkk >Ddp@9=N%p(` g%FM0R:z 7tgH֐dV3MLK( L5^/™P!bP6`21c/sFFK E/@,R"8y:rq9AG4NG8JT$9cbROhƏ=^"ԟ&UUڛpF8hr*DmtY]?T$ s-: 2ȴ[`IxRDspi &E9Nl昖L]&Y*KPDq;q9;ǝJ<9z2u򮖵d$>P=\Ӿ;قG)Π,'9[RY,(-)QԤ*uLmSS`0J~ʧ-XB=búSϊִul^T!>"!ȍ ]b5=b4e0Iֶ*vmcV^B&CFv n'< M<}^:ИU8Avmq :q*P^)f'_eYM+/L3UuvB, !%M>3Qoj ɵAuh9KkH@sq 'oRcM#m֪Qϭ9䍍vAw곈 (vW3i]*xeՈ@t(let=5C}gA.dvzyw9ee{HHB{@9bbcR{4k79Uveci}%Wex$Tlœm!cmn%5ji8B hXS $jRƀjjRV8q#"k=lkYW\ɑyPq<7B $"{B;K;O{L[37k? @D{Vk_[([j,`Ypk:o rq+q˱Z+pZt}[#+6;$KQp+;X˵`˹%й+K˜xLڤ[K຦Pt;ڳC'@դ[[OkSNkPk;{+;[+dkJ%h[pkዹv;MK8 { T+T+ ,Lܿ |  ,Ll ! ,%l'%̿<@A,CLElGIܿO Q@UlWY[]_ a P[g,i+3\P` K\PȄȅ|jLk쿒Lgƙ\flġ,ʣLʥlʧ^2/o?_9 n ss nm jup tĄrwt˸ІΗlkolֳꡧ Hv'(9&E+:Bk&NՑDwLdP1K%\9.ݢ \9J-3 $;BD, F1SjNF𴣈gի]  ՖP+[~$EgTHݻx˷߃ LX:)%7KKL˘3kxgo81hsBǦS^ͺװu6$۸sͻ Nȓ+_μУKNسk^ËO˟O~"@B!_0_l a?*Tf@`XgO$Y'bka7eH!($ i?! $$aS"Ȑ *PC!h@$@"((HPC !p& l)&frBeu0㟁`yz J'.)i&*zZ)ʩiN*jjȩ(Z+%8Z!9}>z`^'{~Z 'H -$( ι*CYgJ~ @ &;g!ZZgorn:-kȿJb<]j*8+=v c2 3+l/0 dͬ޼1+υ<4G jٖ^jڲR7!!0Hs\읿n׷n~kB\C{[o߸Lk8һi }Ԯ,g!.JT3]ͪשk~ \!W ib_8#LJK,h*a a|-iDJWԥ" NKEr@]VᤴAf"S&h (3JQn_ I ֆj=?ZҶnN}+bA]L liKNE橣Wx^yf4mjb9=\2|PVg(ZZQz5jMC+:!e \c X2R;Nir!%m/ym{5PЕVv<n{KPp2f)nR"kc-~RI$B0XB0Hh|`;ʀ3د/ [ X{ GL,hWL 0g "._?Ǐ٘> DH%Tr҈c LR(Xβ)#6L`~r$˒2_B~b6plvxγ&s F fقb@N9^ ~FҘ4lG?t یfOd&S}0-j§x5MZۺI2B|ܱ[KO :Ne;,Jc`gO>L7wLnܾ6jPCCs EFÄ~NH;'~t[9ת}W{|w>iDo:/D@Q jTn5|l=z}Oz0j6d /a^cCb/Tnz+)E!N;,k]%n|IwG,r5]}O;Vw\ͷgJ7S'{g!Kd|"@x>u)&U'/Y vDN[À'fM|'!09U%,!5^grgC}(L81B .-(Y0%A2#E~fsq:ji|^g; cwE\0IS)vMӇ 2d-8Br8gv{&r&>b7X`x7wu1{fng(}iX} $E$)Bi[,cXiE8PsWP2U-ڧ+([b|B5:W8t'~]8(UN'>݂1" s9r9?ؤ9*U޸:B*.2,S%D8bxn!p>8oGya ِ1Ԧmwz=g' cW$X(h~_JQTN" 'Dw_s=̷o|HIX&Fz2q;nvVo9 ihjRyrhGSifUtTy~HgـǕpyq VvsITr|9yeQ`tF}YW&GYGzdJY:h*{>uYcuZtJp#%jfo37d[T VVYVyN$1h(~#"eZEQqZfV C"֌׌ؓTY)ZbQYEyF1Wh G^^GU~l`Ea+Ia(v&bB /Z;H72 :Z|E껾۾-@[{k*[ۿ<\|1 <, ,La @`¥ (L(Lo-†  R 9;\9wy،؎؂ؒ-M=ٜٞ٠ڤ\g0^-\ۼ`\  ]ȝʽ:ڸ  ڵǍ\ph!ݪ ޶A]̍ݳۿ۳m^P۹=1Pa]=ܾѝν- ad`$."Qg`-mDڱ*d0]PbP_0I PJ Z>P.mmލmfp]߸Mݹ rf^W. ~ο^ y]牮-[ b^B``cm ꤎEڸM+nM}~r~uw>甎>~Ȟ1ߨ>b aN8]V>Ui.Z௽­^-m-TEn3>.]E>n INT`.!=Nיa0V]7H\ I9;=XZK>X0d_fhjlnpr?t_vxz|~?_t}ؒ?Ϸoﯛ_[Pos2T4_ pK_?ʿ '%Jf)@0@0?Ep?E`E?_EO5tԼ0 8HXhx)9IYiy٩(0 :JZjz:z +;K[kk0;(0 P 0 8AQaa1<p@HP+?(|0`>P $u+… :b #fƍ10ڵl.\nЂo Zs̙ٴ9]! ًXObEJTҥL:} 5$r5֭ SEdƎq< "i39 %#X4sN9k;H؟5:0ТR;~ 9dTZ5ͱ$Sq=-8фo/$Hw񦫉;7;܅-8x.}!M̛;PV9[5ʞFф˓V(/W=SN jw=7} .`9!sf$FsEna~I X YV w(b.c2Hc6ވc:c>dBI&E.dN> eRNIeV^%" P~fB0 B1L)&F}vw\g2s*sgyFhvxL(Y˜ iidYi2#I3PFe2gyj֛6j3fj.▻\Ìr̚TK$+Â*{.m &+ .c +#A F譱b:2:qYZ$(D*((@[ *hn1'\27k, ?Pr0ŘUcsr=PƸ|$8OG. 3E ( KG0wG5p< 5ךmߢ{/rCsSkZi@⋇z52 m@Cݽ30ZgF& tK7o8F#y|fU5v}Ô36 >ljzZk~ē/,zZ?eoy" ӂtөRK4upxuAd,:S٦@\%lV@*! ,%Bgi!b52!È`f`4@51\ #uD>1s'+x?Ӥ:|_X6^jɠ#PWlFd&qH@EeSE$FYs*!-ꊆ#4$04 ói9d7 |@L#.PIed,u6D2LE?aRiLL[ӟ8R$p*З‰4ҋn,Ƽҹ*" [l^1ɰ!S(}Pʱb48ȲfᲙh2a*P41oF;Xv19GVl [2i?& X?R4Ҙʔ.)Jim̦0i2*HtHP &&R UIS*V*2FuIE]Xϊִulm[ꣲvJʩUuQy=+ܐ̴]TH b+:AJRڢ[H/RRa-K(iFk4F4 z/wIZ}%UNumk_K$NyiBP@aDAˇt]Wsj+׽et(Wu5bďٚnwC=p~SG<}SYږpoxGn nl> 8|!} E+6jκ\1bx^Nya[1vOa+wk,>ӝvűvI''K,h[q\)%QmCs!ǒWӜ\$H%Y줣4yK,XgBm^KD: M$A΄ap=?΅(6K *+k.BυOdGWOk$ie7g/$/';VMC LǞUkIrvnxB8#LK;O-Vu|MJ[6MH+WiѽV<[_G\{>6"a(^..wIJ63_ie:ڛ۔:Y݊ԪWhWI`xR}|k;[%f,hb *PZ4i^N'byI ʀ?_Hl/O D]d+vF8XLXx{7Q.{g+PuE`>ꯏ] JN {Wb~_ErC/ p}HVܗ?Y;b-\4>PЇ yqG}@ %h/1SU*)#7h*get?\7q'w9 KF(MO%4z0{D23 Ux\cHexr7\(+moq(sHuhwydžyvf(Hix?FUȈh!he .S# ȉ 艡hh Hpx8hX8花h،׈ĸH؍(X苸HLjx8uRh?R+'&ҍ؏ 昐hؐ 99H"؏ȑIh!9$ɒ䨑Ȋ%)3/҈ Y01i: 99B9 iD)Lғ&yL,ITys8se1ra eiM먓o(wɌyIWɖjNo7iIi|ٗh{9B 񨔍ٌO$ؖÈhY"ٓٔz!c/g\sF\d(RjI8i (Həgq~9稗Uْu ɝX܉+9 yY9)q)rSrԲbiA Yถ߹y S !-9#I`k>;wKdck'ru,@*Z[2QfѾT+>+/G'~ 4{8)p`8XDb澍+ <A` VPCP!jg0wrc6 2,j}N7~F\xԿ=CQ--;/ #`M( .r&̢2/Kf@[j&;Fd^ + LfF: dDC&p[K…\% ]3uÈǸ$K3;Ȱ43d;8JhF)T$@*iCQfjuW sU"<@)$'?"2`%,M++F}r̿"A\JPW&22'+gqhkMlַ<K#(rx ͇<,LhL"0?sU,= |Gg4 Cl/L9H);xð _2)Ϣ3RL 5&BӋ}r[2G<#":(F9٫V!P&tJN›YDw9K]_}v`MemGgkN!#Ǜk:z YVטzi*PI1 ; 8):m*EwmY=ֶI0B׾y=i ّɐ-ڈmڥM!Cڬڜʩ.OI IMx-:ڢV|@e]͠ =mj!9؄ 8˽٪%I{-: ީimޞۅz}Ibz0\F}ާ^}ymŝϭOj= ۇ}2 2jQN=Yޝ>3pAU'ۃ '((-#j숚 hȪٙ*y%H~^:΢ժN ޏ^NYv~X鯮g|.Nnǎɮ.NǾVٮ>#ᾕjkUMJ#Jxwjڨ<ڊ͌xw +=P> xJ3kMhN_Ǫ5Hn1&'_FBpj}J9y=>sE3sծ}nMHQ/d SoWϤU[]a?bog__k{mquo#S5,2YtDZ"{_( #:rY;Y}\Nb(g LmӋx'F/er(O,b"$սfܨ9è]F [\E<S-B.'mӓϯhɡ, _@doBw53a5f6-z\^ c6,2:L#`eڳI(f%(%$)!"$%(# (  (#֎'&'ȸӄ򷄃k ETE3banF.s%9uPTTj1VXd;xx3fnc%gBL`rfU4yU:>QFJ$zAF2z q Km Q#$feJ)SUkW!Ckk&첾)F+Qkj<&mTzu:.4ɺ~,kzAI+7yŚ=ˮ'gw ,$g?p_Kq.%&zbUJV3'AsUt}+LEM:ߩ -WZ/5]uds؜rFZ a5v hP{wus0s{t}Ame 9g{T%X&@㋫ZU)@ ZnΞ$ OB,i&*U);EW{J^%u:i"4L"6nӺgyGZ gPHO?jT3Ĺa78'=쩢88VDž􀡱00Uʋ@Lt#3jZߴMdPyUDI0{:甄u*Ӎj(P`*RŜ^g/2=l+IC@%Iq>KB舕6AI8NsLYmfg vĊ6.GrŔۗ"eKc'*duaB z}5D >El ,zюУN,'R9W,JWҖ0iN*.&6M*T{ t-iD\Nݤ JrP"iָԛ"gE@Iz:Ӫ%pjə%XJ04g\J, ֝u_GiSC`xKl6Fm,o52V4_#$ b<  $쯍%P/MiW׎]=e-A⪰K2"x=pt,NfS\it'u8v[= EX潩&yqQu:۳$e(P]KV`bRW"D!B9@=@D8 '" N +%a?R2.R1bytHga|3С0l dɰM;3D?fq`t7 .kU66愕aT-k:I!f?Z8Jvf^ $gUͅV1wt5y,VQL>s~"mY[:Y UKSݹ@9RY%dɯ o #or e2= ,]L|> BQJח= $SIJCPaGEOa&ĝr+eJeybtcZʭ҈x'lvݻ1$uNn2X~]Ber9D5ܕj4Wa. !+ /sY($6t}b]@;A!=EHcT-c\>jIP9U1sG]4Xzzz_!8XN8AXB%_Ȋ<>! >CBAţ^č&_eb(9חmX!tv :aPH-Ns#iedFa1nTGW4q\] gTM P"2|&#G&0hiZf^֐frj'Gw)I[Ԁ 'EБ@e.i{b4Qf Fy1q"0ٔ66PVjlӏ_s- d@j[n bqPlbp2"ko"$UELbfYtjZ)~A2F# ("myk=lqW)7! l'Ln gGbJb')Ӷ 2~'ҀǨkIK+VoVokoi 皁5ury.*,;'{ R⇊iwtEv1q݂0+{~u5- y69XjuFud :҇+cu,t":t&tJ*,*/&j/XB>7>q<آ<ڣ>1/Z+dRkI$?J1/ɹ~ydƤXZ*ʥ[`bZfzbGhlڦ/Cma .wH&w|w7٧zU5g8ERxp jleys jb1Bxv+ڟ9vhêNRoh:V -p10vy|!z5? qDJ#{FFep6R[X;HZCfaG{QjAkԐhxVPdD0FJGxgg`CF[l [qynk 7rV i"Apj `{6o&Q5 y~dYoCS~}>b@o; ęLL$)FkN8-j:jR6nebt.o2j/QL6˾\u) 'ڥ&D7. 04U=eWVY"$h9&Ȩ" byw9w*-ނì兆jTW; E,LÍ-F%4+) `> 1;X*D X^b5c`\¼uc䭐#hG($aNP PWMƵUIyU| tb,yi~6R^ )hOG:`v* ~[ ¾|$s(Ii xWxѽKY?{ ԗƼrj)~ט/V9;kLX;/| {Qy>΅Β¿keßڿ- ̬[Fe>QJCw5yE "Z"4ъ =EV} ڧ_c:a5cS "0n:z*\QA5Wyqw=:m*Y[[ū?/nX={)`cت[f h}@}Ī fZMQ"Fs x*]n,K;SVzܚ⠮^UN Dz5a;!=-\\z%McNJ'ƑʲƯN)p܈לI;>hr$~ ;XzAv܅;<?fJ福^`ݗ]xZ%!hr<L)jH2 jȗQL$|C 9 icUɓ[z >SC:\_8GwzR6Zal?*>cVgͫ4~{B gGdܩvtKշ^€;xuĠޥ ~H j^L+BT9B$q6\ӨȂIWحm3{oͫ{\xC|P茌zC/s ':ݏխ~)Dƚ~푥MQ̍+,ݓŶ-feV},(L{'쾴?@{ @nX,?5cO ]ohi^bib>{V!="~ ۀkz˻~~Ҝ5e$ dI 6liΝN^^/~I߿OIo9u܆<0… :%P`W%3t_̐i_ALݫdA},R[HoNLhz"n:M9ҥL:} "Fj g=bя]̲lk))ܷUuIp-^yWЫ >8qT*~ aRYF9͜2jѤ_9r$qO:ͺٴk?쫪ݼ{ <¸}_%c.(LHS ܻ{Nn˛k5֏3Z)n|ۿs/ЭGydPNU@Š̕_^ab yET{gWbT.cqas8؄ʈdJ.I1-ieV^*NO ]Iffn_nfn grIgvމgzg~ hJhh.h> i&z0@ni~)Jjjjj kJkފkʫ l ZȆl> mNKm֞:nmnKn枋nn^:Ako A pLp sn? qw z1tlA`@A;0J@5kJ@*g/r FtJ/ j /,qROM_/F$rX.@ ̜)p*jњmݙ1~ xVx?)8֕VE'<] ,0l3@8ܙΝ38Џc ő7޸?|t3x/nX֣t`cnpNj@ 8@꫟~;>jvN|Ͽ- pRsv;M. [.@{3斾׭OD_w?!0~ ;o,l -"4!&=QPSaX6Z;$X^$*qp rp0-q\Ұ0v(4qaD#טPWW|G$1\#(H+@J|,!y-B"~"a[Er%%CEq x3Jn*: lp&yXr:K(B/ lV#9FTnBfk`!v d&v@5r4`4E@RL*ٶ)ևAyu&8B.cỳ T`7ʼQYD0YL1 l <6Sc߿I;0'g>Ҕ«3DK4X CyщS4F3dݯKHGhB*mS_iKtT8-űT S>(f6s<3ѹNw@S] IL׼щTľH1Ue-a؛XԫcKG X,++Jv-f;jiR-iOԪvmk_ VWVp(%22-qmuU)wHwԕ.fFjw+˜ v2weqSe1.OVUve(뛪rwNMn sٓ}.ˉӈm}g_ Xz)o\޵ `.l;nMeC{Ԯi-lk{ p{.ύt{n x{|{;PK(qЭܡPK1@OEBPS/img/asm_home_11gr2.gifGIF87aڴd22d4ftƬάd¬䜲Ҭ|ʬ섦t줺ԬԔ䜚44:4<:FdfDLV,μd܌t||\ҼSsn騧nC)>: zT[L#'XXah`a'4G $0F8~s.28/FT(|="ka?1?Qޫ>At04LBP] Ү @yaJPBs5Da(BzX S+@ b=DψFD70+/ Z8 72}Kcx?!}gd FiT"G1uYcIHQLD}X2 O OG TI&5Il2B#GYCq#IIHM! 80ss Y2zhvF U#.M5ɺU@|YjzC!hMkVAxVP4B𓙼M([X!ӧV(O*Q(:9iUNUlhGYӴf[ZueX?(%X6y=HKֵ{:q*7(B)s`} Bq\ Pat8'vJ),'lEY{.~Έc3Ť xT0.hgT9'GIʓ%XBL5, Uqwk* rtjȓbxT]\'< Q`c9}Y6g-rhldҮ~N"E#ѐtQ-J[F47NG:x#Z&'[a/(OiOß_L=q;?l鳞W!{~'ៀGʷ|W 0}~7xwxhw 8~{|8P~zg .ǀ78؃ 0yy5 }w,HXwZ؅Dž^bXfzdxXYxUdqhJq'..{)qX!~.}x*+hBVqXOTuOOO4T/RoxO&U/axH".(!苺( (2H(zѸBH >q 8X明՘'8(8P ww؏)jWj@q79q7iWW )/AkQ29 Yi$ pgIg͖m82j7ƒk41wMjC) |!v7k|l eFlFAّy=QY%*6yM Ll%9dyh~ m{÷~0}'H}r 8xy|pYxPxgJx؍yHy'zKzz {7W z\Zy^LZyIza*ycZȦyW<q(.ʨa~x"(¨(RƋ~ڧh袇}풋{zꧾȈjZj )* Z(rzbȺ̚i'٬4Qu] vNWl`!u-!3&1Y9@nwPwtǭv'b:z#u0Qj*|kzW [yź |3(:K9${ gx @ ~ "K8~h1xSJ;x* 8˃UCJx-+7XWyw9|9xMOhUx7j}=+I;A˶{]럡9ײK+ < {y둸 [ {a*: h}:K+qȹHۺʻJkÛKz :ˬ y01DGi]'4R\໾$WHi')}Wxۿ@x7))hy̗ |~Ep'zL^xswL8{ٝ6*  '+{xg1p*Hٛ9'"hy̱*~+1kzY| W\G։@lo\qmU!\jvc=>p4#mQlbM`!Zz|}1^3׏}ZlO|smn s][ +kmkwPp}ڹ!NځPr3+I]45ZMK?cm5_1@l!m֝v].!10݉44'l_a=j]6MͭA4MjɭS.!-5n޽mmmVM}Ubq]}ջ!*.02>4^6~8:<>@B>D^F~HJLN2^ 7T=!(Y~Z&҆Q'A"挂߬$ !afnsNLRNpUv0s`U*@ ^rXμ{难s-PR3-~ؒڦܨ~PbP-P +--+Ϣ0  ` Ni (p ~۹ؾ{nC6q!xq2'w2sea!d3Sޖݲ n w׼>힏_?zFz!$Oc>7#>%U*/m7ugU]P P=U=&9c=-nV^f=)\V/$V\\dMH4kM#[ctn}V\ !wP!A[xPBVy4C1@OA or"^O)`[ vd<} DhbZr/T<86D=e~OF?`q;R/[oOV_jɯ>=eJOaVdYT$rwd0AT3aZE@ DX+Y<QD-^ĘQF=~R$DDRGMl J5męS3STPWEzt?W>+ShٙUV>,9Xe͞EVmHQݾji 3V;a3)BT  D< b?nyqdƕ-;FLyds^oХML1u Rz"la~ulսsbō rSjAlX$_ǎqti w^%:?6D@@~O7@;k@r0D#}f@ VЂ._xSuP LXi"2G5;DŽ` e/rKHB0=tЈGDVjȑ` a#BcT(`9c gA=3$эI\8G:/uc8;я$hi5S NHr}!A0@VҒdEHϑTD<п=y)JUjo6L@!|_h[ϐ%e-gHV~![%Leτf4L kM`ӛg89NrӜDg:չNrZ w䜀4:ݙMx h8~&ԡ5@!:Qr2@{ A ӠfXt5*ͅ g TUE]QvjhA}*N9hPYTqZ`Z@BP*(kXzk5)A`y&``pVM \޴d*@km[NJMVŪVniWz׼}*`);w֣l=fΣ6 70SV+_1KOfnfW3<-B};z5Y%ip9WFؔin[[Njv'isW>e&Ӱ5+]9^絭p֭tjFx p%e_mJ2V[~f_ =p+3?5fw}^X"4x-Yxa;⮽xәq'_A>r{S%?yO[f\z@&lIs*:)>[XsL|s/pz $y͇JUqR\;&D u?jOc_ϦMŞ#7/ѹ+u|7nϼ*ljH2|ylݜZ)OypShIu|g֑Z;]sp~>x<%ylБ~ei0k|Ͽ,} `s-nn3l41Sl5cYȋܸzHk\,ȟ SgD' (FH#I:IRIkIrڻH>02@ 3\T10|>L4DJD#J 3s??E0>KJ4˼<2˾K˿6jk7[7o 7”pa8I*άI+t8$Tdd͊K0Q O;=],:;s:K+lppjqT=ˋFL,ZND=t<Ǻƒ)â|N.4ςN|F2:O =iMںӳ-v:< M բ + P]ؼʢ@2]uѢ3kQJ05J00 U3!Q"u0$-R%MFCR"=5R)"R&0, ,5l3K %B++553>8 l?S )Jk=uS. :}?*S8S8 SOkٜٟٙٚٛٝٞڠڡ%ڢ5ڣEڤUڥeڦuڧZ̩Z̪ڬ)&B` О 6WZ%@[_b[aWJ衉M Z9-97ɵ9[:\ qeCB7Fb܇\97%`Jew{%-$E]}Ս5ݞr ]XR$&׭5^ϕIB^_޴U^m^-4_F7uQ0]յ]u ]E]X7_C6mGn~$õ`I`]RB_` &aOz6>6奍)dno%՝|eb >$JڝCba/bΙ0&2F)  6v789f1 4^cUv5R>f@_RV [>B0CV1?1X>^UY UU]d:dc<5;'.9:8e.4 e`CYEVdZUZX[cd[eHdReeeZf1eav\FfaaRiN`fe`YC&UWUqVj`fbN=ee]VMN&15y(_WJFj^nӄZhYoW0Ml=l%ܘmm G Ѧ p_VnVlB٠fۨ@JSKVӳW׆ɎQ>N RovoKd1ψ1k7bWZwL|6G۱c _$X ` õBמbI5P*2 `u1^~[|]%pܩ7mLYl-LrY7 HfA}^$Df-`2.|bO"ݥ uIP+f*^-qhB/3%=6&4&0qssE7cWs#pH?DOrOKKK4PGpRVOW?1vuXuf Z? ]^ߣU38u_'KR`dD 5|.v8- 48lnwH)苓HIcψa"z"a!*zw!:`+'Ȃ+m'nWFH z?wQG ux"w?c y{::&!e*w7xy/AA'ptOvd>4vGx AZqzzqc'G{Uuwfov.-,{,ayȒ9x3|a'(ɃQ0y.<tH0z}nwAy8/?"g-7w<|='I}(qxP'<~<0y~' ߛHgq0hz?x0}A(@ )X&RĂ"ŋX#Ȑ"G,i$ʔ*Wl%̘2a"D8&Μ$f!,ѣJ` -@՟D?yS(P]T*U[@T=%js[t PjdIn{ m:'LsF7n9sE)^1h4Ap >3T"Sm6ܺ)ܺwn'3n8P,瞣ּ4U;lHhcbE9׿~>35:=O:y'`ᑇv-"D_P ( WjȒ{VR<}xbHy"-ă5x!@xѝU'!ҡQ!$uM•H"TH}D@HxG_ %e$6樦CcDiTTAEfLOjfq/9f\"蠍ki™ݜ()XS8:*UZ*{5Lv諨buv答٥wl:xf1+L lzN9JdxJd^fjK]A1-0թ~XI{o+`n+.VNp&If{9aG"k0!{r^aOt"Q1Dgl4HAt? 1f\Ɏ&-eR]G`$vMv_xz1kk˭6ݠ^L<_F]tb}h'-8߁7-&^dw5֙5_ts-6ٗgvڜ&snٍMz.o$b.?2K/nDCIG% 8"<闭|3KGkU\?sxϿo|3'<-ڂ`'nzw$[q%pxSKX7 t m: ZpW?Y%a40CP9X C)Ⰺ1ά3<ֱ0V qJ #844R ]"#'3!wID>Ρ.cȮ/HyCHrf ʼn/|u|<.MZ IMNɣET2Er?i#s9I]F"XΐЅ2e2|&4)eN WX2UQޤLy)^NiӠ}Ol'<.4 *쓓'9qY,Z2TL_Ѕ7sXh@YZ, U]B'%taB))c؅.#NYTDRD,Gtp Q+,,&YY KjV 5D<8FUFHjT(yѧԨ@oV [=jAZUVj)dKB0CAN"ڤH=뒬ӌ>6AXuVm,d#, -lXIPIgT;+ڙta e:&fShRoWzaID)薷mo w"ѭqKvms{"]nlKBYlA* Rl[Tԕnr _W]n{Wo~ɛVޝ: :4m0#-`6pu=KNQr4Q҉+]8$1i1$xTpCa8M#h rQSZ*'@"+G1H@Y "!Er Z`,{2% Dor.Prt3d#UxNl%kdSQols{|-qG >7"s~ yӻ#}DŽ&GJ-kAFpV$@ x:Pl`] 75 ILn< (a\9xg5d2}v  #L9NVZZ؍[cۘTfIf%m/3ex^]>7, }!4>|d6I #A?8Bzп5 TB?7m!6U9S iZ A_@ \ @) a 62 H` P`@ r`}  x&->5!N! V!f\v~!PʕPƑi\H@ləʁDf1xi\\Ņ!Z!py\FQ"nbdqIȕ]H ۑڑ](Z]bH,%ԍ+Ƣ(,Gh\* '#dq01U-#363>#4F4N#5V5^#6f6n#7v7&]J 9#::#;;#<ƣ<#=֣=#>>#??#@@$AA$B&d>9~#DF=DV$QEfd3bFvGnG~6dD#CEv(t9@t0u <,$t Pd^dKL@4$@@T)@Q"^SNa$@PUdRޤV R6SB#QL$MB%\\&@Oz%YeeVvWeX&Y$SeZ^#IjdWZ@@Y^[Rar&P"^$i%V^eenR$&-fc @n6defrfr&e<q.\&L&c"%oZgp.tc֥ȝk,gWB&`JUvPgo'\2T'̦cd&-`>&xQ§t:w>Z{N{¥ȧ hO"(RJ\*0(Z#wFb*F=L fn*vj|**j***֪*Ϊ~**Z*.ӨQ( !њ_YJ+*ljfj~+j+f*+kM++֫v깞zj+ Hk l걚JC )9Ͳ񱘼bjvl*ɞʾj˾,~lȊlˢ+~D H,H,&,_NX4%.-&Jl,F-J-*V-f^,lHr-ٞf -6jjm֭mmzHb&cI..6>.F䊤^p#n.j.~n1z...naIXҜaΡUDaґ-~D|n j@y]eblөНˉb%ZoʭHv"J"M/n՜\N"ꎮ'\/.)V).*.'6]~:aba]60(I p.."0皮 n0 ǰ 0 װ oc 0m4F H1C${iX&MgV^Dge$֨'2 1KI^~^+i'Rqq0~UPXjgh qW(Snqten q(R^"72].g$ $2[N(ũ%˱5nt82((`@D@N&>#_Oeg2-CXTU脮1no 4Ss1lTTR7Rps:p~2Rh3{v3v"匪Vl1/g!K3@sg3nqY%g=g*R{Zrq9JssasM DFoG7)sK4gEgI/(gJ{Jo!nI \#2\ ;MI!"S0ϻ:;;KcDOco3nSx D.r/D3rB jBXm325Yg|1&2c11ɯs2#'3q2&|22<$>K)|4 }'sKP;3[c+%OO%U#t 5Dۣȋ%Hbk)W7)K߽K$#ϴM'Nh;8NS^yhk>^~=wG/O>\4\N|dhۯt'O4i$~DO_U`q559')G'c7/hNaB;ceǷbwgSnwcW>ewgh/cJVT&p7@ Np @,(ƒ$@XP"0H@A @H`bK)‹$$Sb Đ CO5)AɐbΔ:UAi&PrcǏO]p$ȓ*'9Vb*9NI΍*Y ,+ϠkZTь6M4I VY&9ޯ4"՗PP ukׯa6=vm۷qCͽwoR\lő#?͡Gt[f{w?|yѧW}Ǘ?񏿟~t/LPAlp@[ e. P<Q>,DHJqB#wߺ끴ʝݽ+`j_Fu@ ɤ'=uP7^}"xwl"|T??'1NJz&!%'K Ӹ-q h8ds8/3%`N d+\JA1Ё PA*{áNZ#=, u8$K9R!j.v$Ѕ]$" CJ1\tLSŗ P)#6p"RE)ə7@~ds@.S|T"AHưQl٧ҖIMn'AJQ4)&8RN+]Kr>-q\PmT`lK'YIJ!y)Kb2?g2C4#' Ә܄fyDfj,&6$d:)f:`*Ԣ ){<;2>OI%[Ζmq[o\W(j-rsZItljEi"Ȫ|;)٫6S9nhbRW+a[┬]or =p*ٲzSvW|2( -+W~e,b/c<,T`Nz.gE5X 1t#Mvrml(z dY˶ⲗY}dΙќf5mvg9ϙug=}hAЅ6<эv!MFҕ1MIgӝAK"dujeS%Ep0ԨX;@k浱qUa-;ƸkSY&3$ Aݪl'*_'^}a3{X;Akmo;ٞvōn;ܨ17)ddž& m b@ ~zր[7Cu-NqVۋ3AlMm~߉qIX򝐀 zK "''Fs' > tR[mp5!W}s{-{@|O3N<^c^sǽ˟}_]wN _ 8O;oZ@Oٺ g02Fh^0*V.OަOۯoO@P. opU5NLn56 PNLN8b.f 0 ֠j5 {\00 )w H5԰0/`P1?P;3Q1IT6Ң5n%`Kq[/iZN>:% b[&fq]Yʅqs1MœU%?. Z.`1qɱő¸qٱD?Z11qq>G~idCX̭+#! +J=>&ARND*X,"+ңR"%# )d ;V !7j *̡h jt@HR;XGS,13c1!4,Os5#S7S6'As7,*A2y$4 (s2FbW&fOB`,o8эe_y@<@bÚ 젹`d͘:@byc#؜y9 QwUAST؟:%T HRS`5:+zB03zEU>5NzU{;5R6^zey[5b;nzuZw[:=w:s}ڢZu=7xAzC:wZźVkڦ/zq:;zp `  گ@{; ! Pe; ;56:6*?CQuV%[8SRa z:U{[ a[;aDY9Q]:W;{})sx;e|3;F?U ` D L[W;[{aOt)[ڽ={;Aջ?!{z <Ûeǻ;ۻ;۷OQ;18EC%@;AS |;s @ !ĺ|%LWR I+>{ 2k@AYޞK|IE%0_Q[c ?5f>5s]8[5Y|0۱\`I]` m%:?XoʫLT5?b P`ƒ 0b L %<\zT‚]c`ƍA ď.i` B8G4=4ң]P5ԩTZA\ qW9{iֵQq4ܹtڽ7޽z 8pO݋GOŌ;~4+[ƲU\vV:լl ;ٴkۦeݼfKXh\靕J̛;_ԫ[>Wh-yPctwZ:oGo}] Nyz^YXr5F haUM\N{%}SH}4B"lO4`R}Xhjhrc=R6_EH_N>)H%fؕ# V%zWxeY(In&JL gAb pUQ8:G蒛yd5i4)Tjn~RI\e#}~ uilMʅkmA8"{BX]Qi.K̶WGJlw9q[fE֞V Qي`-"H.Hz*i p`b)qcE2̱5䆇Fp&,r1+H"2 :s> tBMtFtJ/ 􏇩lXQ uQyYYkRlu{8=kdj]T~]okq#U!C$6~/QMxHͫ7icq5-G.eB1n\jZH{iI:6i:NGbwUW}^룫'Q+)oi˻voW9aPĺ%3=./ߺ7?( pK)1xTΩ쳠Y&c2ss3IRm%6Ϣ~_ʩO3LdANx*fOOqԧE;x?rVtr*80 eXI2K'K_" fFm) ʣOi?iuҤFer(W(IuTUJM4VB&ƁԨ:C4@/$cꪮڤm`U\CTRA` +~YAb(ƲyP,KX g+"F[V!Xaؽ"['ڹE w8A4żxqC[Լᬦ"_?I׾sttFkk<3YP 6$2a i@׵LB*ldPK6zgyݷm6x{iF:&}T1ȆCpk\Lj{^o5 hMy֡CO}]."&n JbܝoTЉt` 0cVJ Tem JO\8a9zBHOƙliUqh%#RryYσL$)ЍfR,PEQ4T|@5o^,nDIzp.5>Pz*5e ioc ` {ک]l a.5lh|-"c{ti n[NM{qM/Z޸t\rݴFD#Hk$4Y8r;.>4÷a '#k諐s{QmX^l3BqY cU IYtM=Kig^D8T uҫ 냓9QGOةBOW|]U|21zķ ߂]EkSϧZՒcrxHVPccϋ0QkwYROM[gKy+!y=O)оRk] |Ͻlu_p|%>Pq⣴4bkiΐ|\uW7P)_) PA֏|bgg}_ڗ1wg-Fi ~xҗH}gG직"#8&h"fT{Wmr~"ytW;+ȃ *"x'8)Fvqd.3H0sbf~'G=)+nN`0ybPGą}(Hhx\tkR,hI7Nr}xxz|H|2"M[}PyWgF]c:gdHt:(:kDlo~BhspUl$d@MdMօ0cS3܄07V?HVi b Rɨ6NX[Í$6ceaFtg8b0ckFn11h[XuXeh[2%vaՑc gO ȊR*e)SFQV8ͧE?QS?`8[S0䔮PDS [395wf"uW=fSCT$Ukɖmo kɕsGRaheV%Yt =)vw8\阱7uydpf)hYS8Q?֏f 0iI:eX5@dsa bvY-)Gaț#EH[ؓ3Eac'Dqi)')giɞ )iQɟ) J* Z J &IJJQ#`E# ʡn.DP*"Jڡ-zPDSBG`%G"*47%`EzqV'IG46J @VJU*   g*(0 D'@I4KIJ2&fIQu*jm " 'j$: Gjz|*j`ڣ1*%,"$VZjujK**$ZI !ЪZ*% "`Ej ! ZFa4:Zdz j$!z.**(kY 밖+h{uɗy׸IN9!hw9;2$r(oaMY]=ߔSBY"ˡ.ɘ8<볽OȜ M?`cwqyx6E9^ٴ7W&k6!8djQGK$dJ{ DacSۖx;z %,`A>H`E0C?=M˹Ѹ)I {=;95۹r [+{r_,@[{:9P5-ຯŵ"RS"4>uc"f$Hk:K1.p/ ˾&Quwx{ٳk+52:r۾uͫQ+VoBxuR,; <.ۜ#T|~iuj܋;2{#0[.07>I1{J ŏQLU"5Yťy] ƓaL2e\ism ǓqLVuǨ6y^|4qjzavQ|Q}\5*H HP|\xڤ꣠D* /䨁zVlE̮D:d[jJA:,Sɜ~jE˧lE,=ʫ/pʨ\E ӌul,J͠t<<ʘܭz AaIVDМ$Kzzlˤ嚡 ௅ "  Lj -t,㚭ۺA}9-;=xCmQGKeR SMUmWY[]_ a-cMemgikmo q-sMumg}lx } ؁-؃M؅m؇؉؋{؏ ّ-ىؓmٟٗٙؕٝ ڡ|-ڥm٧=y}گ ۦڱMۖ=۵۹ڤ۽ۿط ܿ-ܽ׬mmEV4ύʭG ~܂}݄]P J}ٝ ޗ]ЭG] @ P JMM .޼ nu! -} NMn.(+~4 @^ np`]N.6_lYO[oB9 Oh>.o>ߌ.n|巾{ J݇}5O1.ףm_^_> rN[]o:˟M.ᇍP nAzdo~_έo{l$XA .dC@Xa5GAؑI)7T)A!$p dK'$`fΊ PPI.USQ:eՒn!Uaf̙AEQ`J!) M:-a<:P<2[sOW딵@Ul5WL6I!QDK#OQAX eYeTPgt6N髶Plq4SԵZs]vxwy裗~癧z~{z|7_vW}w}҇~~<%FF`a@ \0 $DP 2LHf#`J8@+da ['@x  Ӆ0)"H@:І8 F<@&T nA 'DX4AãEQc  s# H)gXB  Vݸ6ʑ  oƤ`a0R1 GPD#4GI2QoT!=ȡ| t8KqJKQc%#$"F^kdhGLFЁX`bD ! ~Ljbd!UHa>d 9Nk% pq(BRu'&C%(|i22$bi&>T,` 6M.Te8M6ҕ  CC ϥ8P,%DP2*μ7 I M44E'OOTKAMA)ҤX JncR5P T_jCFQ)Q!3>$dv&hX8/y@'Mm< .6F}bo9a `X ,L.7Y-~sa O Fi>;,sfhBwzɒ)|q S5މ@& wҾE^{yFn+{}=܆]i+#@;iNj 8|W ;'wި}E<{[?=l\7?\C۾2@s4۲Ⱦ;<t? :K1 ikS;@+9s;00 A(=05B7 bl{; "ķ3Pz{>ۺ;HBXB+ŠB_{A>AOK;3l+C3DlSC;=0K:8!=:|BrC>35LD̺[(7jX8dY)cF/86:l X>3[Me-cGmP5h\<ڕP MF+DE eZ;=PAÈÏ::˻\t$>@ӳ7W$C:뉮=MzC:[|;.0s\ZB~0Ʋ^(:;+A ;h:U;+޳; ݸU@T4s_#^;7݋\\m\@z@ &A\߳>|⽯U@@7=˝?+KCs?F^K@K,?˿ #`@=m# 9a\(bћb+YSb?"K4(b-``k`u/F[Sāc[:.6U9} ]J>:B.t/DC]GCpd=7|TFVź3@R 0Ň0IAC8d2Yb8ĖH@DCBAե+ F7T3G>DC&feQC[D0(4Jt76܇pڍhbXݭ`xg jhgrggF} at u&0UgxG h_h}7=6v.i>iNi^Ȃf e uN mI i UI &̞ɚH$iDiИ1jj꾜ɝΚDD|Oe ,\jՌТvLVļͨfLޜj&Aj(^ɻM̿6lɶViliKkͯT66&^ЯQĩmѾȮ.m$m lm nyl`VnkPnojWWoo>oW^o.nooQooQooyoo/p/poOp_ib'ZUp%!$Hp " $7ԗt TpG"]"uRT#TP5qJя )r% V2,1Q,f _Vˆr'Rr)(r+G*r-/ /r0s1s2/s3?s4Os5_s6wA 8_is: ;=?h "6> DGEOtG'Fo@.׊%{Y V01C׊GO 8uJRo !C2RAJu H X ([uVuEuW_U P3 v5KviOuKW٥k[ A'텋s]&]:[`A$^7_b_R0 S+tQ6` y׶ܙ G_v"_ĭk~Bֽ x6^4 }7d:swR @d?p_msS=`lVchxw`88 \cZi# oaZwu/c-&e׼>1zzzHbbvJH{dVSd@b Q^vB=:Kvy8.gBx(||:fz]A gpkE@}`}gyL>{]C^|{=ֿd_xDpVvuh_ K z6t؏wdd/Go г~׎t`h;ta{ ~`o0P0GE~ "4`!ÆB(q"Ŋ/b̨q#ǎ? )r$ɒ&OLr%˖._,(P`š6s'Ϟ> *thϜD"Mt)SFB*u*UO2u+׮^ Uزb9&ۂdv} wYv;W/޾~70helxpFdjV֙ȒnyHM 4TƜ ͓@Pci['سk޽pߺޝͅwYT=Gw;i+f1׉Z~k귣3}LCOί`BOo"8 דp ] R Pe!h"|EFYVx7{Qg#4^y#u5dv3ȣ2.9=i`:j\`[8!aej)fi~iIX\J!q XT$&UѴM-U Y%I䎢YzSQze-nq&7ᗽى&Ilɧfs͉\t Y⭸*jP.j+B T{ꪪ*p9S>i + dC8rkK2њr+'򅀶'ʙ2O*iR殺#bދPw:U:Mm-buU^#Pbs]SA[b*64XQ@w\gիI x7շT_Rdw ЋG6qDǐm9yV:䞋XD]vJ|yN{E]c#~x_Eޯ:o%9x:].]aT{]aKlޓ?tzcJQJ74ftcлܔˆÑLMQ̺ 2^VOjT6I<6tnJFRdjQD6l,@H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗Ȝ93E 8sE )^isТF*]ʴӧPJJիXjʵׯ`ÊKٳhӪ][ O3iSEMt$bN8Wܠ]6 ˶˘3k̹ϠCM4hS^ͺװc˞M֨i;u-PƋ n7rϋ#gw§|}߱{ݹܻ[/O}|n}腟O~$q%tw2݁UhfkFՄfhh(,h.(4h8J5)AaUzeP%δ, `]9v`)W}]xmErMF'q2g焀' _x@S6ZV昔Vj饘f駠*ꨤj*bCS0J^Fkj+M4H k&,6KézeꯪZq+.k˦6K{dU{m䖋ᄉ滭.+Kqܭ[fK1Mfа.,",«a,\QLS̪Ts4z3bM[ECZtG&gK34+$W](L1쵏Wfm6'Š5٭CXm #i!K05ߜx8x4?Ύ5a5LnsfζjO\CSB w׎|7#]%]̖{ѧ=fBS N&}"&a|@M "zC'H jҠᎄ @>pB]B7:I8 {X4貗qL*l3)RR X)j.Nx=,*W.3X."#^E`J(Yb|7z2|_9 6A:+>e WT : ZLG72TҐ )ghLD(Et 6ФVxra dD0\ "  8@?J$:)Q^:" L$  BJ0vN6ҙ9<$ _N$PmK*VPPafz4A@) \@+J0>*u3QV}0>V0rDvk31~B'gD5F+D6>S67'Xl~3`Wy` @n0> WGs0>0pce$@T \`W4@cdD7>%q03uvul@uPzQà4?6 7V 8"_.t DdsP@Ԉl~-"JDD覇'X3qc-2~"pqc$~~aWPb2r2SvD<n21@v}E' 0>~060>A1veG|Ef@a|2 Gc'fwWhpdBq?SlfאTzy{0|vL~&\#959"鑿e\_DT@7>\Ph2UW)["`ԓ"o2qx ET\p'p Uj8IAp#pm8>-``2G@z O9Iq oLWd 0I%m8ME _^oUyl'ƖݖPP7$fٖ PD5QKV7I^AYa}WPt \ YVf"@n2t\`vn(j#0d8I~3cYV)F"ψ~Nyli8I9TDpWD_pQo0 bwvW@P%92" XdUg!L&`% @utpo&.o@@4 E0II|::7>.DP9 P:ڢ"`D:>'PyE DEBPJ Dx$CP0^:>&M:>nId _:ڣhPGmD) Em*yڣwj٦ Х:Iy:lBc:ᩦPzWåPl:>:ifZa:>(C@ `MJJVEpxy*P~Df:HU@WT:J=E "`4E$iǴ#f¥;[.~j B*,*;[\;ڥ*:>kK ++* ;ڣZ[+Z"QˤJ!;IJK7+:>Z ;JkJ;>ފqK*;=BZ&˳JmAiWGJK2 @.jʵK +:IBPʫ۲x[۲ DJ˫9 ʶE*B`V@Ģ4:TDkRJSR[;4 xk<  @B<D|%JLG,0lA0JT\A[+[#3gŅ89<3fQ @ hjgilPrq伱!@nBNIBˁAqW.@^.d^ R((@lwb': 7mz|]~>-^pA9=zA]{Qs^@0)-n>^z]%$P()ZBVq⚢OQ".R◡Q쐂%n؞#Ȯ',^-׮&|gkގ$2snn(n ( (Ž'#2v)Ю,'<!Q O֞" O)@'(1"35?UR-=&5 ++pGI `--WUOs*G\* G.`rF_xz|~G?*pu)G,`R_PNo+/6qe//sa)G|OoX/I__??/oL__PZoOɿӿo?_:iA A<H`A "LÆ^t!āND$ErTQJ-]SL5męӥTPEe"*6TU^ŚUU'~KkXe {V״dWoY[%4y Ofoͣ*:LħϚVoګ&@@0AdA0B B /0C 7C/\DJ$(:ɷVESC-ƌBQ%D, H,/SERȊBĈ&I&TI)*S,#_ͯb Vbl!N6@rXHa*r(,6XapBcEVAeYfC!1Qq^c!IݕW_m,EۘDtSC7LmM],|z;3c `>dF8aeaMGwrJ8Vp=" dW{Ufye_agPav6e2]}S1֟ ҈hS5ۙX+dʑ5D.6R_*gɩbZ,y.8_x]Kz[#"pG o'Ztb<ǽ΃ ݱp7B֎w' ha\ gE%Q" eCEn NxC" Q&(8щ+D?)>ъ*5+v4U!QaDz5x3Y ˉ0 @-qW.YJ7C ," f0{OWн_sCH+"clQG9ĖsN"Hz* ҉1pƔ0Y˄f ?s!鐩m>DZ3ɒӜ44n2d&4ֳXfS}~ir g#"$ |BSK> 9QɍL(y.P; D^['8Kv$ t,oԱa˦elR Zmk|fLN(^[TjT;I6ԔS#uM`3|Ӟ })PшXX Kk7Ʀ:j -ӨSUJ+rY;*iAV+kJ,}#PdwiJ*I/]ss- =Um [یjI ^ }mi{ێnz'V?L.6te9U׺nv]v׻_7~SՅh2xt.DZ lG@fDDbPW2 j%ȥ-l|1[Iׅũ8|[ ga0z* +qž>Lң*$s+ah0?rU6q y WL2tbSr,NэsW|r\~Yc~Vif6@׿΋^fAg 7MMkS>S7yT vXV!ޞq+ I*򏎬!MыKF5!#ⶑ"{pwݓe^% W|<2,zMxU=F>PX%g|~2k8_4x 8嚖#ct4-J @ @I{IA~1AAB8FrQ;ޓ>P?jb/8𻼕D2SDA t'Br<`QĈ ¦4#BZ x% 䵶5d6T)$57C:;|8|TC@?3  `F,G`8:` p7NOA5L1]+>׻>ԛ;9),:W?ZC<֣PFlDFI  8 DPtgxrjkɉmn =6T9~c5K|H xhy{|}ȀHרGxH(0HhȇXȂdHHlHHHP |ȉ %DɔTɕ~tdɚɛIUrɜɞɟ@8|)K3ѳ8[K:S,LJµCʒ8v{3ʩ4RcŞ饤-<5&ʴT+ɵt˷BEtE\aH$Il˿L0;7wKGKJ?#ĨDGstk1LhD L DD$4+:L} lӄؔܫi$ `܄ d  Ά9INTTlON N0N$ODINON,O9ϛF\OԱVyPOtPPPVO9M)0=2` -MQ mQdQo.x H>S?ҸQgRцHEPrGHIJKLMNOPQ%R5SETUUeVMUrZU[]^_Up2S8؆7pJ} >? ԗx۠Q7XUҚָV9XHX Wrmφu؂\@)`sw 7eBN6hzN9`mzCxևk68Pa C` ڢ-ZXцAQ]ZeBÁ FMOdگ۰۱%۲5۳E۴U۵EiXekppr p]F`Dx]=_H)]ĝUNP&[2ȐiLeyE0>38eyfGmm8P.&X{]+]X^X }X =^ P)xpWtw`]X H\ӄe7>/h\ǭUWG݅9S#P+X;0QH.ڂX r8v ن = p 0aڧQ>Z=hMna] ! "v #>bRM\_`rp)[etNb镀\E?H ^2#А\ Xz]81qHC wXX ف}E& } UbSAָddOd0m05pt-wo5()XLɽ ЄWxp2>],&%t,]. q`x) fdtlf (aVvQo~Zhg.al e2%=ȕO zNgP]~_0^xeA@h\xe;`R`^Pf<\Fvl}ؠd]q J MiPq&53R{i`iL {шYp+I>)H~e7)]jb qinP^klT ~$iFИHO6HAx<ϜH^ /) ܆8#]Ǿ`. f.3:x. lH.h`Lx m}n(P,x3V~f .Ex #`؃@Xn%m>n#p8. j3f7 xоWn+վV~R9ȚB](EPQNҋـNE؁fNd67 nvfkvkҴHO`( oijQ:j8HCIlР  1;Ǔ/ojDxщ7q{=Dso{4`Q,Pʦ;%vmBpˉwE-;; xO~A8NNFN^ck :@xTyR_xU??>Sx3i xP. 2Ђ"! 'B  nP> C( M CW4./T,|! c( 3aТv鐅D+b8ĖQXA !~8"r+Db-BQ{᎐(a| w ! bw4*.m /nsȸqRǐ,Ұ g32 ԋhʏ]eC[ޜ|k%,c)Y’pes]򲗾eJL <&2e2|&4iR&69͕aRޜ*i)qS&ui tgRPA| ?0*Ph"BѩЅ2}(D#*щRuf8˩эUAC*ґT$J1AT,XK]Ӗ/iMoԦ>(P*ԡF=*RQ2hEAJ!V*Iτ}П IV5I=+ZӪֵn} ԹrꄨzիfU+`+b2U\*qux,f3tY+ђ=-j9Ֆ|vMhW !}궃m Y7cq;*Ms]0mu;dw.x=𒷼=/zӫbɴʟNp?hm[~3ܯ{A(>03.x, S03 kh(JA8 1|a*q Hl!X q#q@!F>2PȊ8E1,0HA N OVI Te+OyROf1c%2w}w)hcAb e2-̏MsӞ4yPԦ>5SjUaxcz5>Z@PCAIbA N0]B@ lfڼ mmck;DۖBn`E,V=lUӻ+Цem'#g`Dvw!83q6  8pz&?9S򕗺(,c@a汙7˙Bf9 s7_ eǜE 7^߸ 󯓝c/;Ӯ.ӽv;~;/xwp/0//@0S#m; |C?8y u}KoO( +-xMrK+ ;o#֬Oamӫ Wm{[%#?SP+D5%=}Ä6 p1@L V^ fn v~  ` ` Π  õ_NHf&a&a):WHaPb:`AH X1@ X M @ a @!^`NaV P` "`!b@ .b#a^a^@  #^'(~ "ơB# +JRZ,!j#v'b-R`,&b&b*-2!1V` !!-2F#2^#."7v7]qV;;#<ƣ<#=֣=#>>#? #@$<@A#ABcB.C>$DFDN$@>7 f$GvG!~H @Hd cbK ~faHea%՚% ܮ[^Rq_5T߷)"^iEf/ # X*Z-b%V#+bFY6@+j#F@$cZ^e\NV` $cj`H^@"]Fan6+6&I0F,@]aer`e`j#3$db$l/ Ԧmmd&oڦyfogmU:&ಙcy!)g0TFV L'uVu^'vfvn'wvw~'xx'yy'zz'x9| |W}b}I%TR}~da}@f[& XFeT BzYn5(PSKZe_dM$ 'tyUҨ%L.i(V_Xs's:(}bUvim+F(V+5_ݨi6NΩۙXr넆^*i*+26ZJ>j脨*#9)*+6k橝r설kk:籂nj댪oj+̮lZ)^fkzlfiOqWҫTlej8,ªB4ljRɍڤ"--h *"&ޒ)UƚYʇ1kҖ.nӂVN%Q_AR"zRjPvVL~&V)IŮ½'lGR&ΪjoZinlł*MnVn&Zn/v~/ b,0/"*"kತE =.%.2nξBlYZ/ֲ.iQVNew.#be+WJp*,lBn*ijo-:0/-鼯vpqT&ؔb0׆\1g'( ; lVq/w-Si|-0lEY0JN~*!qb'$%kn&i h&/"i%hn0Ѧ*wr.W ;ޱ1s0ʹr)s-3As`IQ-1a/C s1ns1N!n6/2;3ƭJ_G,n0H1 - ?>*_mk' D_ 2'gnkFmYI4Jt:s,[2^!rp/qKx@bL5"5 R[V/,6+m۰Ѧ°.BñlԮYuZR4Y-zNSO,W~ /CsvŲ`3ܞ$3Ec2pTu \u.pڡAXbv ?p#0lhir[nK>hWRvג62\o_KgVpgq7r'r/7s3&I2Nw7#BPkڶp^3I-/xl=s®1cdh;IOkre'_kf{7&r*%m6ewfO 8_2()n,Gfz>kTibc1:ڪXϳ:i!pjlG0zwZ6+\xowp> ogs*C7pqLL#ǸL+s;-+6G%x*L#,ߦ5x߶/~`5HsAǷ׋"G';4w2W9%-(?2:FrE';tbj6k1WWDVoT29uo#70Kz븨EW0cw&OlMos/{YS^!虿as6*;6Sy::Bzr7s?8k{;.iBi2el6G):;~5^a_J7ǽc/fI}| 6>>ZϽ/~0)=oTc9>Vlo>Tw r>~f6ꧾ>뷾>Ǿ>׾>>>??'/?7???O?WuV&AL8]ڌi_?ݒY_^xPBdZٍy?@H@`A)PH  !F8bE1fԸcGA9dI'QTeK/aƔ9fM7q '#0 @`GFDJ0ADN꠨N_;lYgѦUm[o3YR+Z ջo_xqs8W!q;b+v^=vOy{ǗW9%~?o?}T)  #dPC-İ@CBGp EDQ q qqQuu:!CT,RI찻)|l2 tpFô,ɌG,d%L9LQ T+O8S= -C=DmG!TґK1TM9OA UQI-TPtUYmWalXZ[U\(fRUZ-cEa\`;f9"h]盧]-,Whפ6umwDy]Ot s=%E "vӖK#uP1̇Ղu\`SW9㙢C8_IDXH|?~vb8iBx矁Z衉&碑NZ饙nH6WAj꫱vhpV(N[n[[\ /Ǜo!\)w+tA/t]/W `]iq݆is!"-Gә_>u=驯~eVIWϕ ygW+}/z׭_~뱏]W&Z-/ysHo~ tORIA/,|$,>>&25a."5>dj!/bAhPłİ(q&4 4.4B-R1 mhCV=4#0sBȾ8_W9OiEAޮ(F č3Oɶ1'ĉ%/4F0\1HQή Q"̰HF5R&|$'I`&,?GLÓ/%P+pA^T%XW"0D.Gͱؒ&ԬfDApe) .H9щN X];cwC4j$̐"L3 P:Jsmb=b~~ |AbM4&4)L/h7b+d8!S܀&|8&}6T+իVu ~*F㓡,ji` :k5T%SVKnriNb_~> qCg̰ _HE=" .B$ gA Z"*M4Į̫^jUֵxݪ A)v;z؎%%p1PV*h!&"|X nwd<9ZϑdV˒Q]i[7ȅnYؑ52@܃v(ȰExv%0;q6!{M`s!#PDpb`!UCEa|x"εg+Z$ImEK_7/ca %j/ű7;`4)Wv+XP;\0<0,|[G5$ { t;I](ZPsW`E%0sR rG AÈ/ 43(h cD8ahTE7+iG9ҏ:=|gկvA+e e(X!+ra+RU)v3t;/EE%ڔ]Q ~pJ 4`A%!".h;<at2ޓWw:yK"~m:{OV&\7;2{ўx|ҿU OX [qaٯcM#@X.`{Xh9A!@ @̀ kƍܴ." InBVBSQOCo uޡ,`'L |Ȁ vpM^ .0؂`D ¡b*vA0<"!&݆H#gݞOnH&D$ mO ^aA2YAO`a`A؀@ !l ,ր"8TqW&LB9fs( )P,zq&p$Q$q ,|߲}` >]`r0h@ C !ܡ #RYgHk s%א 环 o :y1N 41 %+Q1&|j's1&Ʀ!} !ً#M(rҦ*w jK\`+ Q6`%qpAaҲu2 uB2)-/?N,(b)N# D*+#&R"F˴#,`3=#%RsAa4p.'FV0_H$By"*"S2 !s"D0"sIb2:8#":2,##B' "f$xs#9B.+?3>3ES5E1J>"?<)RNRFHˇ&"ll(m Ц`r4m m ކm2DϦ m8Cm`2 o@ І ^m`n.a&mtІp&Z mFI 4m8φlatm( @m:FEF N mK@ ~4onjm(!'O&Foހ maBPFn"Hl0ߒSAS?1H5XS"@T@Լ RN Oi6a`l&S Z`<3#(0!B "3 `9+:b} BD`W"U!:"" \4l s "8Al"@"ϔ$ #"`5"H""*"  TF;!"" D " " " "" 81#bay_ *#@S4b* Dh!"eK;-" "`<`s<V"S6"@"D[ ev X͜V!2@'`@ " 5"@"`FV",""*aPD S!(9@ ,\ Dd6w^ XR8" yW* \t#" Dg! |L* r3Ԡz!7"4@3 "`#4 U!!K^ p bh#O/w 8η *@*|~hm||S7w}@ Jv!W! @j!B "!2b{"h8 'H|W!*q69`lMV"5" U9w9R!@~b4!@X!&Xb X! " iX%g`oGG z3%!rX\Z@);O w}g.$w'r}y57+glR(E B( b; Bv-"Za"F`{ww.`$!"͒Q+ l6 X) l KU'"fm( D(+n%WG ]_GaRk YX tW!l@] *x7 (t/xE` \(+}g3B;1 !$U!؆!"ה\{OsRZ*a^k{X!x|7zڹzK `! o "j "0jX, cw6E`tr  (형`!X2XDD8еf!yW( CpCz¶ `" E` pb`HX"'ۚB")K"*"S Pyyr57y܏%BA34i  sk() ì`)\L Za E(j![S!|_ZVR{:0@ܒwј4 YL\+q?h;Z 4vLX}/`! 06Xh Q7vZ$y[!y?˼) Y+ =&SϵX ;`@=vv.%@3}w>Ks@Q\ҙ}[O,+Ú (-q 8Ϝ (+ (  έp-ń|+l)b]T9Ԝzn9*[֙  E! (ggz!} v=aߺҿ!Ex9$Y `ґUZn-Ô" }  >9 <;ܗ\9<. ^ƒqO] A8]α!I$0, R!!39Ĕ@VaӬ Q0mY+ꍙ-E _X5;0+`0l X)1 ε p &1ؙ@ys;=[!ۻÎ@1.:4ʶ<v1 @sg1W{ Y !⟲"ND8РA0g)|`S>AJ/;*paz DfF@8H!f<ܲ%"& aPiȢ9<95$4ȁN+.d8Ō;~|ɔ+[V{FxyѤqlլ[~ ;ٴkmۧ7 7 DWa\VŌ@ )'a "3O"K[0A u0XĔ&` 2g\a32iQ9PsdRYo @$s!1WBJxae[sY@"]gYiw"dPR]eP>.f#X@R5h, TW@Y'jSz|{o o.ͨw5CJ^j"u]y |$/O|,7k' _MnN9Z-/я+}Lo:^oz9Яu ǭvRz]ta'u}iG;==NPSLu~[=/N,sÆ{oK~2/_{A>zKoXԣݬ7뇅b\5o~g爑,hX8hh ٍ q yIXx#ɍyx$)妑+) ɒI瘎I1ɋ2 -)yi9I9JI)SzHWY[ɕ]_9 cIeigi>fko q)sIqؖuy{ɗ}闰'))@1јq<*I 9)Y//p+yY9隯 }y9Y1`)ii9ٜY)) I䙞yy)I)  p$Y Y2 j:Xj:#**@ JIii2Т%%ʡy9?$:0ڠTȚ)SJUiY[ʥ]꥛_*cJejkʦmo q*sJu*9x꧓C06760zʨ3jAA0!1J|DZڧgɪw`|jA9},:9pǚ,X:paQj9ȧ50:ʫ:J* ΪK묹! ,ºk[jf溧ڭ ڱ :aJܺX![&MP ;*: I9˳LۤE{NTK:{[[jRڲ"˫q˶m붘C`;:4{ ۭy\i븏 +Kk{ 7 +k˟9$M)Qm뺴颷 {Y)7ʜMZy+ۜkq6Ii1:;뾧K[ǩZy9H**;*PቿXx;k ;K!,#L%l')+-/ 1,3L5l79"l;? A,CLElGIKMĆcN,SLUlW, t\_̕<s^@ PmmfvzfIe܆ 0lf ƃLb,wq|-fȾb)ȶi oȓ:ɞJL ~{||:Hˁ{sK\dmơL,q{+w% 5+z+LkͲ|̸ۧ˾̠<+3Q`̩l, Й͘<Ɵ ȯl ̲DҬѫ,׼!}ڜ M*}ΤНmq;!k{[\sm zHѯaѥ`IʇS}v]_ a-cMemgItԮkͶoum6'p){}|ׁM؅my ʼn%pmt p <'`,. ++*.`"|Ā)@ْ2ٴ}) أ*@!*)p"ڱ]4\1ٛ۽-]=ˉ>ݹmB Ԕ0,Mߙ< ߫q߻ߌ]xܜ+!\ݷ-٠}۔- .-0qH ؜ }>8>=ӭ'|)>0+NE;,J)+nM]!B8Y=5=N>_?^s=9q|^{N~~^߂.~+prye¾.+ ^~MV۵NY'>Z  a=$<-qN&~Xߌo! ضO_'^+9?/vȘ^xx飑mJ<@;[/ػ.<wFeoj˚A=.wlr6]9jd2Џ5'}XX3* `^>بP_' ]acowf^k4{N>6po+_jw 4\?υo#&挫$  ޘ.$/>)- -H!``A)"BAlHabEYY'UdK1eDq)Z\('G+} :њ7sr(ǖA)ZzE]TiqeaŎ%KV@Xiծe[qM+]y_e 0ᰈ >,l=x6sĩ[NV9߹>5c"HTȕT8M<= N05AUtQFuQH#tRJ+QzCs/9ESPC%OTRM+IO5KTV[rUW5V)g,[ouW^M?͵Wb&U Yh.ڵHv[n !̶+kVsYdd 3tRTƒ㮱dK_{N;`5o<.`4a6n<cn1K31s@ 2IQve[kZcل&&foFt)Y^y,&W0mF;'}LfeYvkm bkwˆlv3>:Ԥ}:+{Ɩnfn)p&8M zsײsjs+>ώ2b/Uute2S{/z쳗>0־SȗWr0wW_x]r$k5WfH^ۿ@L_ESaЂ ;ARic똰BxRidVB2PT2 C| uCQx tawľ.%`bD(F[SǻƑ_k6=!Zu$+}hW>(9bs=h;FccǔŅ/5!ñ01 aȼ(-Qd%XELZ£u!RGˈnsZ1ҹosʧ2p.ʹ[RJ%S:4FKJ`ƷPXng)_l}1_߽cy,w3hJ^./ZTW %[@ى2ġ`7&wIXʆ)Gc5qP=BZT2R., &lHn9uzKzPQJ]MgAlDMZ'| x'Crvw>mDK ~<_xOw}50 Clb^'hA-㰽fxu R|>n3j3~p(LnukE_)3sy^b/>tZ1wSk۵/]NK/?=[Z+v>:>+ӣ[?hɱ[@!3T )c#,#K ?4l ܷ?A5L?!ѫD#AƓw{& np1q&4O;٩=TzKB=i)R ?/>2\$-?s4R.i5,jK<;`0‹,B4/"0K6⸺+[;*2 5ioCUT'c%h>,*#ErYl 3-s( (>?؊>ẉG D.YnGҫI^&\EB{?[*IIII5y|ыVblILrJ\3IIHIF3H+K -l 2컔Yó4ăs!$YCKv;C껵拭4YՒ-Gc>ܭ<9CbL{xIIAʼt;L#Û?z//5#3B˯ʲA%D?kCH_TlC 7LcҶEZ7MԌ4Ji^]@<Mܺ<ɰ,!kM;H A,BPD«I]Э lPV^,O@*)- 9DU^CdME9T IV}lNL2aydSMMe\N6 $R0Y]%ż;ܫ2 cg\fi6]&rGB^cx4&igq~j_?&dngvng*g6ەySwg|n*x5]g4^ V8hy hK|hRQ[geS;H ڟh 8蘶 ZR0Γj}܇{TD% ^HmjRAZcq+77|ԛΗ&hVFP 0vT<jnk΅l;$jͭXjRQ9hX믾`ixvk^Ch^lɞlʮl˾lllllml]k>m|.j^mnm.D~bv><=VBDVBNZmnnJ~\EZ`tÕo#HVmnno[ >oNo^ono~ooooooooopp/p?pOp_popop p p px]ٜ  ό?q _qoc xx%  _)wxq#O$p wq+r,g򱀁%  1/gpPr40_k[( //8 %r@tA-'ssqOPqs.WrAtOѷ7/wR?H7sKOtωtEq2u]u^Xr\D'rVsWX`2u>/^vnt qEוn/wsoo?wu_wvmnwxwyo؞w{w|zw~{uL&# N2AW0>H&eOR!Rf·hϣNdxP#̐Nb9qym-86vF-TP6ojN zCe,]zW@lykF>cy% cZz_G a7{PVF=Gg{Ngg̕m?|z6OcNw| Oj77t-صȇz|cD|֧t7yDo}گ}w}}-}~~&i^'~~bp~V_~h~,hjF~~~_(ÔWxPj~ %o p8P .Dxp`D"D ;>Q#F%h1$ˑ&QZHʉ,sA:-,C""Mt)ӦNB*u*ժVbͪu+׮^ +v,ٲf6sˆn})w.QFUJx]ّ&_~=~y1߾꽉3OAUv3Ξ?-z4ҦON߶aR̂;rmcLi{wwށ'T PFWcϮ};޿/~UžVڲ{t8={C$'bGXp(NMSu-GRXbJ[-Ѷu1mTO 2"u嗢3X7☣c\e<G"K2٤^ SRYWb[r٥_\Zғgk٦o#sYw♧ɹzg"2ڨRZ6)W8 ):R@bzjW* ^ lxvG,w;DBR[Vk4к zvf.vn+b[֫mv距;;|n D/Clor@1jp"|pNp+ Vlo@ si:L& tܲ,A2J3Z@-0SS]pC XT_cLY6hjv>6hr w(7 nK׉6ݞ YrZ5yϊf%xYOo3ގ,t]b>U&⥓n=Ng{ʨOya_UUQ Q_o}q:x#"1KooD㟿߿0  h"0 \ B0 +h b0 T v L "! Kh0*xI'u󠗾jc{Cӻ,ITb/3tp_7&(5 ǩz}ePƂx&~fcQcX7~qD#F'(zpTPeX׸C"kVK"E Q=At"dX IG>2ڑcWHYJ:"^<J~Ȥ&Ixc(Q9;~R$h`b+`Z~!5]sۻ/7cʭ|1L/4t˯RM{*n2ʙsLu1~ ! U9wz%ڼ&6婽lNZ?уo4;H.4 E_vP@+hF5zQ]n7Eكte3` b4 bK\SUEQ4):t̘n'瀉ӝ>4)H ! h<4M*A)>uRUq Y™be,In}kHJ ClA]0f2kڴŝ>JY&Ζ!Z j"i޾.c KDX#3YJRlwKnL1NrE- NynVktgm_zw iWZF.DEWwv/5h⠁- zAd*@X*pMA `Ⱥn OAZ1)ee"8D`en &/Q-rl&޻,^U3U\gJ(pc Q OXY+ʖ2]Ђ`Y*?./2sUvaǢ.~IEz ܃p [!-:^lm<٘ bBғZU6فݪSeix::/O jiymv\gWӣ`F 19X 9^d %&҄& A$= Tmjc7۪Գ _.5+no@2+cà'1-u[ D!Q.! P~4\*%nj_zƃqA/?U K gV%TȅC;D?`B/p;1OO%)T)]89c'5%UzTBo:o6p2pn4XW4O8/8`A(%-/e*\=% 7+p?,.^ҥ Ce6@@9;fin#Pbl VŦ_&ImB@QԨ_eqrqW: 4&@NA21\;@6dDz\N>9P[BznZ]`(ꑀPrÕb!%C2bU q:U($ic;>hWcB8s(J)@* !q.7<  Az=$!$0\5Czꪃ = ߛgizh!妞:j*"V+Aԃ 84g,ڪG%>ha(Lhy:`(dA$hjz@8&,,B778(_!쪮ʃ-p{+kKnl2k9cvee"x9`t',(|<$xy@ 4Azr. 70 4î6ժZZ,gfS0[h,;RViǂǦ۶miO,xiB@w*H.T,Nb-΅C1D2 Z';t~-Zis0-r,-F"imW]gla'VgBN.HRæ* @& 03@&4V,Rp:o/Q-VPooon08\B&؀b\ 0B* :(#x(@/0&*/A0pm&نS`lضoް@U뺮OXW6C&&K05('AJ0r..p=36Y D!L$'C+"#ڮE-8TI<@%RcH xP<{p '~LǴ?ϴYn3Qu6jOǮRA.4XA4\U3+B&K`_u+1*'WXXIM밇"U$2]Z p[3rRl6f1hGr|P@lW"Ckö-Vs,B91c.;vXr)4A`OG4A6CgqQ[XMEr{SS\A65t^l@l=.ms/j.6 #6t|7}co?EؚntGAqXPwoF"d2<%HDXOKu5?0O!UApdSDwqSsw#tQ,`3QQxijjݖ{K#8||w}߷ ' j-3z2ApU\SsW xqvIo3&<_g6n:EpA 4AA'`HA+O%Do~E+N/QVd@SQ[`;zGAwq0 &T|ђA4"D@|zR؛?f*E+`TvN"kžfPA ;qR@$:Nn;HDGHP 'E,S DԀ5ŔzWdH؀xpAwϕyThĂG &^‡ h:oaD:2A f&dW큘0Ժ@$DAE`ȵ&3zDGzRqD;A "C!X5A@@Lą˟SH{x&AA, {G(<'D0ł9zTQ̹y+EG3ۀ@Le^Rx*D =H$un"Óo375oS@Xc<~Td ʻ "=A&UxQ0)p@wEĻD)L%XukDa>A,P7D ^kTA59`5z t0V LH"X$TSA D:^ I4Q"%(P@@1(_v$HNJO@N:eH:r4@RyA1 -pHpOb`PRτ)EUBJg( "2~FQ˓L̈́H2d!B)|sf͛9wdѣI6 9ӫYGuvlٳi׶}wxP 8uqC5rbԄy^ƧxB ]CԊEa*CjPB&!tn4n9pY63z( j H HB£Ȍ#9̸$2ɻlja aZRA# (*T*"l$wjB</\J()J6* 6 1  ^3B/O+Do <ʫhr ėہ:"R$ .NVЦM.q $ h $b=X[ִ5eZ̎jlu7mk;8Du`(D8ˌ`/TH(@NhHܞaSĩ  bcU,DxAjAE+bqD @ˁ DU!j$ȁ-ccª =2c 8BCNẍ́52.(r 5Dt+> v y:X;9.*Ό1Dpj  ?z% * *N* RXMi/p:P XF]"Q; a]0GZ(NcXXPB+3Fȍ1 kF +.՗&x +lg%yl䄾BP3wOjx)YHI慨<|F^p52ːݟZc5-o Tw-\[hTVR4lH#C9h Sl(SDP{ta "6 @$ڪrHCyǂg #D(L [Cr,Lv$k $$o A4@vD{P%xE`B}R{(ǁM+&;NlQ8( *0" @foQڐѵ%^Q$c;cvȡ'J17 h ܸ0/"؅ SILf 35H%؂Hnn  tZra"E$d `U N$\ "8WvF( 8@ @@==GABpLRUt-" }"``H"gS2'83͝paD% ĵmqIf.(XlC,Y&4 n95,SPXDٲ';Rқ Ms[HT@K`..) :f lswF)HNhpZa{!L ;nj.|bB,=,̋$ͻnI DoAq)yÁap^Sz%ȮlS>̼l +Y4'dm!g9&γ}y{ܹs<3!b413D\A M 315!W"䰊Jv7@ ISEV128)n΢ =`tz @ 2 |aPg!Xiv|*ݒE M4FB?DSK4֞oD#ID lb A~A4Р &"h #RT 2O^n+ZMc J0Ụ R. ˤ-&20HC! KWL: դ'jB ^J /D H`HcZ & 2kY h E+,qBF:bcJb D MF` DMDC(1MI48!C4x k O/±XVʱ4^Odh roQ11o"qq q[o'Cl~-| .a.axfAa@(`FF4g` T c dF "%D oRl@d ^DN4VZal 0AFdQ4ѨX(+m OH㲮 Zf } }tfp Zb!"a48 RTP4*M&j 2!M4B+ȾJ4L  +RF WYJ` JDC1med -S4 .Op"( NïFN:#@0IPƠ+  IO+eSH KA*җXcyD&faD`V!:#30oD\s c@QB+4"q1Q;TqD;DoM WZ% cnf49;HbN7E0J2`護d T@PG#*R b@4tr9E<`2,+;1Jpaƴo:L!I2_nY8`:0IC-2-p,QN4 1Be :J &f2"&H j4@D +< @0+q4@#H2&dSKV M1ZECiQsl ]`4SaJs4M}g+gw_Z!DsoA4g4Nbb`HKCfgW0 ^48HrJ#Hx`49Ja4*D# Ԁf4ΐ5 ޠ1u̠3E RsϠ`E,yppEYL!c uypf ̗H5 z #hs,\46q12sRj d c Z'vl.+إ`*g K}f+Ǡ bzL@tdJ ܖ$V=2* hsY^wش@ W۔cx sM^fr7cXBɱY9[ #8Cdt5 E,##sY_k4@W 6Ibt]N٥64@n 7YwM#,pY9 i,X!6> 4mm}w4 a>Ec FZsG&{|Yw11]CM` NP4*ե`υ4 <_w@WCoGX9Zk@ ~xJzI ,Nrx#4Ŕ '9욵79!c ș4@Y`zGcr !A4"5@4*{064:!Z4Z 4&/TWc ̚44堇` <d^` 1 –]Oc"ۆ[@O  ` ȞWõaJ-[A5wO#jf2 *ۥv4yRh$ U/HդZUһOX@gG# :~2Z 0ZkqJe2Ͼ[4r@ƍ4$jȲpL@0|:תS}zϸsͻ@oȅ+cmi*̑; X'NLj:1;_#. !{+J=g K9V~VD LD{^}At1D}"lQelωIuEJ^W5c t_Bڤy,i0cT@bHp"<)S,mIxeJ[%WNy%OKvBQI}B$Q8 iߘ䡹FUzi_l\N q ֘M z9*G5vCgykFŎlm̪ڲVrVk~Vq!\ GM-Xbt.X~:EDcT ohw9)D'ғ Lj]SSOfeRb/ΫP*Gob@(0n7P$'`1eU 1xtFlBGM1E?|%@cEӫD^+ny7)XQY%*.dIE7SJ~ oyתxU:V`?uɼ+ N.ܶy&. 9Xy$(}WSH|M/ri=Wo'ErѶJka\mxx[]x-c$jLAG R =ilHN'`!yYx!{$ u[ p2h < Z+$A dN0%+_Gt6@!z3MeJF:blI6RPf~cG>MhA.5!dS& TE7@M;$b*HEǍ|L/Yȯ{D(Hz{P%)Y2/&]#\=ȹMzGVxЅAs@YuURH"]F6щF59.x+ޯdEoxoь Fp2-Na ΰ3" !}3<_&nbƍ+6]fAǷcq-"Hްu ^2- [y/p?3c7FVthFdVֳk DL:xs*_o5/e/7b~ h2FͫYLiq泦7N{Ӡ! R%e MCFqwifZԸεw^65QaUcJfЎMm9[W&vn{;[˦_, uMzvanqhOM,>?Zhtp߮긹Omw{[_ϝq$hHGZ.f?GOG;_+qK8Eadԧ% ]zz>}:rO[اMJO}5v<~_Ͽ7\G '*]8hWGǀHmxoBPgyWwz28 "]$')w+Ȃy4JOf ׵(у@(fgv,AyYcVyDH7d„dXfdNP^Q"A&sȅA{_HiF=Vacx^ikYRhyAӇl0XS4؉ȉLjP{c8mlx׋ȶHfˈ茲ƌ8_(xؘڸ؍e8Xx8,5y؎8Xc{'{W{ȏVxhAxh Ihwu({B]W,hcc7eF{{yr#c4-(a+Y%2Yu7^Ȓ0)7+zXyȯz1 ?{z:۵x1̸*_+bk0askw N_p mTv Xc"gt6[pڱj{k+䚻+ KBk8kPkh)g{;~P+ںj[*:ۯ諬k Q̪aˬ{[ k[v +檾J0+*`;+$\&Pz*,m.2<4ađ-:<>@BWrD=$^"p*,.02>4^0^B]&<>B>PD~H/JN-P>T^f䘫*1lh|KjΈXnۚPK!f6;QUpα@a۶V{ڭ޸|~(徃*۾ъ?#, KK̋>>[꺮Gm €+^:뻮~lެ^۹N˹ 鷋};:x(W.>~t\?_Q?z J?Z *fx._!#jl/? aؒ"&ؒ1@_|F*/_ .܎F[};\ Uh`\q MآS~/ g=ڗ_ڗ[-9.ӡopz uxz =u}U̼δȜ}Mq?՗m*`=ڧvoVm|ď <ذaA-:TPB'v`E 5^,@ -[ 3 KЁ=}TP@$ƍ?$}R)UdU)WT3Le͞EVZmݾW\u햝:ͣ@d20`Q!RqV\E 㫔_^uՇ^ZPZ lN Ͻ] zSe-ТeҾ\pōG\yDcT3f S̋ۻo{!3+{s0vսw&u #疻n( H,,A 'B /pn;0>N<{( 8tۯbzN$L1.{2H!$H6M~4Ix0J"2K-'S $L3D3M5dM7߄3N9礳N;3O=O?4PA%2O8 $QG4RI'RK/4SM7SO)0 NE5UUWeUW_5VYgV[opVu5Xa}vXcq-XeeYgUVDs Zk6[m[o5o%\V5Vtv]vku]yWXi[QC_ܷ'qQM`Z nZ/PA RT.8Ud]XUa\.`QM<@USPV_NSԒaXbׂ/z؟wn!cV+j h`\9]-ְW qyO-g0pT=]q쯋~Un>n?Vqr˯u=6j?=H!W yr V!#Qeo/H:XPU徜bg7[`髷]w_=q%ϞKny~GX]{U ]ϝG?!c Au }mh_ǵ]=&τw>n:"({bײA0h[ "!c '=HQ[|wvU vyh WOvLcH0MOVhX09ҍ#"GI`Kf;> ac]"/l@d(XLґdDR״'Ba,Y5ܡCp k K\Ʋ ܥ-iK#6HH,;ajd"gU,U*hu 6,cŸ79vcTOyf/k&2TS\,ٳwT' 0{hӔgEq t|^CR}XRK^|iVV^Lf.C_szQC U\jPzT:Ӫ ;⭊uLU*YZUfshM:rZqSZU:Me*fJUBuMe`ث6eL;U'*z9f6UMfqFRzִ XҖJE/eB2VumlcEll;AS @Ar\6׹υnt;]V׺nv]v׻ox;^׼Eozջ^" _mk;_׾m`_׿u-q\!j+q,pOjEZi808#QĽ|[AwuSRO;N$F 6z}U̺8Ŋ}Zֳ:A:ED *"yE\_A/{߯ƲQkϿy̓lSc6Q6,bigXsf'=:~ iNVj]l&}܁OBjuxG]r=e+ֺS`;c=SշϠ'ƇJGWIʴ3oNԹ={ 50Ӧm݇!/c;|38Env줻LQn(~*]Vɺ@.Rz`_~;n"˼[S@9" 1 M#"U #j> IB5b!NJ)@țY?  0b?;CK+Y(Aǣ!@%(\1'"*3 $.3ۼL鑸I)Aw ձ&+$)aɻKőU  U1'SQB;깼$I*)BIDYKtDᤄ٢ɦB()|,!BTxsmka7,?*CdZs5_'†|H )8‹TJDHȧȐTH9d6RKCJQҫɠI0d7c$I˸˸lʻܱB32K4:J}IʽDL#KʧӰ68kL]ʕת-I+>>t=S70Ml ͫc >S̉C\̀t X㼱TN"˪[˪9ʾ2N /fؠ- ([;TNT-.̄9|X:" =ݓMEy:mpk OMIMM N N4NDN4,5Լ!϶d΋6Ld˟QSOdKJcQ(*3Ú݌ٴ43M{ҤkOۄҦRcP*QѴJИN }5=UN kSga*R?U*cjRBL |*SSĄ]QɯƃF)KBC 7ԦTĤ$SZ-d=KJ@%RСM+Iԡ$J$ hPj4/; Dӟ@ Vu3|ՌսUU]UÂuu U՛Q"!eM|d V׬~%1muȠ˄$X XNԆuXgE03XM=،0 :R}X%H<ْRVTYyXX}YH ٚ%LXY̼}H-W@ڤUڥeڦ ɧڧ=:LԲuKNm%-]-l 1ϻVIe[%Y͖YLȜ5Ӣumڽۤڿ =yΫ[au*y۸ȴ|T0H[@R3Y[}EmUm@]Zک a[T@TْL\=T [.-/6Ҽq=o;VDP(=]N\1]D5#KV-غ%]3]E_ՅZ:Om}՟ lLUM:G%[ `/:ڄ^ T"nbbPa<=v$ob]*o-VUmWm8 jA3h Փ첰pM;WNp^[C. EF5foHdtqo!:Mo3F)-@A܊O77i*yaWTOl>m@fffrFXIUnf:wINvfP|&smf;:LjUurBgrnmYj#h`nvWrX'w˞utGiaqW@wwg?hzOhkw+]+(W'ɞma e YﭽV6pF_wܩ̪kjxg*c2?x=uT 4ua)_SOט߷wviwDdy"syK}G+l=&T]ܫN{nZqwVzgaO&ߨ1m.op*k..chNqʿzvoEq{ αPP RF&{fO|§1{Xp ]#{^r+o}Kn?,v .N2ڤVh OW`U#=hx2p+yz,h A (…'Rذb6:qK,D#̘2gҬi@=x%Kbz3řa-k,ڴǪmK۸7uK׭ևu~ߛq&w-L? Yqdɓ)%̚^Z3ԠTFZ54hH.=z`ؕ*bͻw]Pw.89;4|xSLRJ,/޻R .M|ҧCM!tos˯o_f|?q [ZM'@%`fX^ xauB TSyGqURMlF1*2ec4#/fsYd=VC+*$M:$QJ$|8ۑYuq\ZaYsB)&hyUqUa֦ݛ@i`4]t}' :d"z(*(mRX&q#Z\g懚wgYx'{nE'w`5jfk˜&_jUFYBEZ~0z,(:AsnVZi%S{Ty{mYtٯ$e[궵k;mšU^;, ,# iZ6oai*b (rū2i2w1|3˱,s\+)—;o8iKoQ+,5b)[]4}p0qa;,1RL7ަے6m̪BoZI}tr*\*67v=5k4=bWCMإ+[6ꎦ߂*5ΞtM{pmn=40Ë8񽧝Ў|u:'<ܴgfܷ?h+暥eدVdzXy/(s =OT ؁ R 3 r C(&BJ-dɖry9x3xZ)"g4rš!Ym棓ѣR4x8g]MݔViRkxS>*K~mJ?j,\*aHDK;QpLjVMYVy6-X9R$A G#MJbV>l!L٦嶓j5mѳcY$xEX[J&[H.Ϭ9*lJ۬nSXGVAEO{GR1#H9GK^]RHpg]DkJ bZB<˃ X+nj M%!ËEcw1&sb]eCCD\";yi&2lcOqO(K`3 #XfI3LGZ%ʻ=4I78z4 *0$AaLtԓkɨfp/6Ʉ㢆Y[f"7ꑌQ^]CO$gv(5J3[.C'g4>A^i+c8V<[qIotajwzڬnm[Hyl')TSc{;՝n{S/W6=f`~o<_l"G\WV!.={MtS6y;4Dnʅ_&O8a$M^iY֢̽bWrZpT\?n{M7WwҹSRC{R$߁ t n;ꭞ:՟saͭI^i9q ls^;q i{Ͻmsw%txQ46I39X&ٙ/~&|^$օLEz$ӿRދ[ y[4uX5PY^E\]i=`fn v~ `6 ^I`  r0- `r I] %,-2 ҋ$IM}%Xttyڒ঑^0aQD:ʍJԆ DٟZGZ_Ea[x`To ՄNטm7Ի J%T "TM݁CDQ^ډV}Oa͹ V f١&}V"L#ΠX"H5`FH]\ưp큜{=~Ֆ1ccaI,"4ƒ"bI"qMqbҩG@[L$`VJ$U3ս"Fc' #QyG:+8\ݍHTړmU=L([ft:Yt&u&s^fqpBwzvms6'zVuxg^g5"|g`aw'y.yzXf~f nLWRfDfVdnao&m'bܢ`Gxf& aO (&Ff 9% Xm&3yf*z'BY}2h[@bIGuL{( =I %\^˴7$8V8%X;%mhAh=ޜ,OFjŔ=Z-"hT*BicD Qz&% rXHE\&K.k? ^dl"(Nq NK>ѩs%t%B]BOoɧ(Ez"r굅^b֪re*d*O9e7= ^_#+ģ#&&a5+'zc*jΓn)atzfb'Y)Jn+nNc'9-ba, FUkBmI$I^в,q{m$-N+w -N؟N-:Ж'B-5?/yp l5^B%uYnV-`6}^F4v3 #6dGoWe_6fgv I6gwPQ| h6ii6jj6kk6lǶlvjg6g+'h,(@q7@o `s?7tGtC&u#nSehkw7x7qr 0M`uw^gr1ZLE]bt#Du7pxwyWd \75|F8E7#y $/Mx[@pTw!D@78ǧ]MP]ZJ*{x[ծb,,yrc^x_<ϸn)8ФҾ⼊Z%Qai|yEczW8:@4c_[CBxyjjUVw8d!vbŹwq+78xAL@a9Ycn[)P@(@xpyvDY4w:2:j"G_' 4?;G;@ר;|ri{o{].{;;ȻצG&YHoxaJ; 1Ÿe#[.5["?_|*/cd78Ɵ< e<!՜Hr˯ء0r$HSɯs} w^/='=?=ԫN=W_=go=w=؇؏=ٟٗ=ڧگ=۷ۿ=ǽ=׽=O}@;PKzPK1@OEBPS/img/hp-propertypages.gif$GIF87a3埥}f3MMM齽hhhКذ3fq,3 dihlp,tmx|p Ȥrl:ШtJZجvzxL._A@n|Nfp}JQPoXH\IXÓFOKeRґoGGFHGaڵB&FIgD]{J` 2e1&*FH#5˗0tu@7 ;Z4?@J%.@Yv9)ҪFj nr,8X*Vs4c]V̮vT/z%@ 3M?0l7\11 ~C;Wn˺k`o!䋵+==;.y>tL˂wi nƑ{C;QC 2YNK6{G~V䑥I.W\%w6'!VKuX"\аut2h8%M$:ʰ ZSCDtaf a'!8ceM )9 yW=|c]|־;~~_NA:N'Sv >n~ջ;}[-=k쉏=/wy$Qص " v t5|s<5Oa õѐ!G(p00N\ٚB6t :q@< mE,Nb<#x,G,{x4^QxF4搎0Rx8p,`| DJ`GѓH,c(GDzm2P$'88ltk(JnQYG.~0z,0֒-%?%ADt.Kxn&0`F ( 0s^~;e.;Skd35}Rsl[sWm'?PRAYPWvnFi}:D< 2 @tF8d:LZ4~^iC'F~ F:Ҡ 9Uu-S HSvqS'/OFrJ|J9L"-_\W*Tu0US8WT#Z ;V2iF`iRaSKŬQ Rr$I7 ZJmm^ t6-tZﷱ>͚Ċ]pбD--,-[X"ׇ%./+zu.uMן}l9RNO8iOu x'O[ O@=k_'\ѴbSf/o"e%L[דcMVW (` _v\=0j?Xij+Hn0O$@U+&;PmkZSXβ.g9^ǬYY`>5p~qL:Tr!>oπhF;s;MJ[ҘNPeӠ}MBiNWVհgָl^R5MlbNf;ЎM;PKLPK1@OEBPS/img/homepage_small.gifGIF87ad̜4fdfڴtܔ줺섦2dd2d2df44dfd42䌊tƬάd¬䜲Ҭ|ʬlrL<>dfDLV,μd܌t||\Ҽ"Kz]֥ꬷS.nw߮?Wo'?XԀ` |}d__;G@Le@#tP>kCc^Rc12 R{k.ʏ~1_K0h?{8jMp'竉>z `J(@*l "Xo~3^ R82D&7q-t "R 09Ё*WV򕰌,_r̥.gYKp{0; mNe}r^$ IMny&vys=@y\ rj&:l+jN<@ϖSKO|?g;Z.L%O/;Py-ͨF7Q~33-͡6=WRnr!MK:&۱KtӞ/=*T"(OmL3YVtUK[i͕(pͫ^ѠU,IeZӚ4.>L6I`est̂ m CG[7(b$FMm,$ʖtuSmTMVբUQwW3^jZ;F@QiVT7npWĒ\SEKKks˽ 0׸t)-\I`l)aW4wq[IVZ󦖳 1zk޶<(NQ7JM/Dϖ֘. i<^n]iw,ߛ#NJ0`qN _OthyJ3Yʴ'|L p( g!KR6DJΎ1ڵ_x=igB'+Nx{cBW~MvAJ[ҋn1Q׸5N-R{g\eQ/%QNvZָucVZE*X UʷC񧱪O?Zզ+$wpm:.jusD9:Tom4R;£J_g5Mq Ղ)O:U8(~|m'_6Ulۻ/62ZFwN@ЇNa fasW&6CM7=6=ܬbV6Nv8h/p~vg> wX_"8 㢒XY٠.C=-O5>L'^zEZ~nonʥqo70Vfߤ HGK>PSA@M@QCA3@q4CX@>x9|F;NHA1/cWÄJx1g]XQ8UD0gRYt2Q2#jfku81T3&p؈PĂhfVhFykg-β{pA{k1X|t}bvsxĈ_wPbRLyLLȉf:f(fxSadžR،򊢇UuȊ'fYj^vj!t7f5goGluN(S8w#C[$h9gGgaWR8wxh8O%\Ж].nV'^hg_rX荶wwlD\xvWv8[6 鐅jHzH!59xwD  p P 0 O! | ÃL[֘ c)k&jKy{Jg{'|xGQ 0 p U)Q7zb ytC.铍ْ yD1 0mV8yPɎ(GS\T'Xa\ɓVHb!iՖ7ZGQɋ{`ٛMةwyR'6|Z99iy)l`fXaqzh9s1u!Jdp J,aVKXmۨw*x_P4Pؚyٸty)YxɢVwɐ){ÒDvmJAAVn]iBƑXzs_jmPJh;D[F{"H1J)P.p6S.PZk6`.P5@a1걳S/P1bu{c{Xk{[dkh[;+* sy۷_˴˸; t+QkoSeK//Pr{ۺLfk)˷a᷸빆ۻ|{ N+kʻۼ;[{؛ڻ۽;[{蛾껾۾&#!!# I#t"ҿ4#2LI~$*(/BBr#""]<3k"4| ,"O&<#!5$#Bep׼#6BX3u8o=M=I@X pr/֌ؐ-Rjٔ]٤9ٖٚٞ٥٠ ӣMLڞ"@gfsqaАqIQ7)ۖ噄qp~moÙ]ۮm`mP˶-ȍvݙKmՎ'mē1SA1:-:@GA-q>#*xB`2AAm3T ~- 6#1W{-N1qÁa07/'g3ߨFdAJ^B~s$H\V~XZvL"rfmT>"LOcQdmb'^&pk)o)]B)}~*""q&rYbtb>.*a|i~u)k.*5b烮Qxms~謮{.瞮+^RN-e~5#NqpUƞ{rO^֮MEMJ~PT>^~N􆂍k!0Y135A0qߎaC%S6=WT.ߠ/B3#} /:YC3!~ PۄJf⚢v( bqA{̽-yyz.kpypWpkJc㎈0j??~2].Exl ;QV~ZZqO _MУh4ໆ~Q5gMQ>?foST36=3Ԉ#/o?KxM-_NB3 o!oC.xJB_O7zȩ gO?_߄1J/@@ DPB > c TQ#ƋMtR$tJ#ȑY(eŒmęSN=}TPEETMM$NS^]jHK]~5IZEU,YmݾW\u+ӶRX`D%pO&.₍R'f93^Zj֕[VlU' wB}5pœ6r ޝӃWNNY go8z|Wm?HD@ L0B]`c01< 7LAi(%D;q c ITPE[D/GnQGs205s22j{ 18#+10+1r )-R>,h&$ 4@ 8L1q;kA[E4CR}jTHztIk*jϞcPQwb8PEW%H|G!̲b]wUV{՞.VSOX4X_:Ygȡ1GaDo7A vыnE2 H #P(@kpU'.v|#XF>w~CZ9HBҐ Αd$#PTҒd&5 ?vr[L4’D GRʙĔ)KJZ2+7….f\6`Әe\1ia6ә\f4ɡdNӚKyf67yMnvDf89Nr¯<@(X. ;)  @ ρ!E L'-D#;Hԛ܉ TwB#P HGP> x@$P t@zS" b* gRWT(!uHK 4!? PuZ*H{t j@`5*RզթkT{JUZ(|@NһUa ,`OTWn_ aӜnĨ_E;ZҖr4 9Z,1ۜ ѴᘩJ%>2C{ }+6^x[QUmQF1kGdIh]v׻A8:7uȿ:`"4vەPk纖uCrvo}[y_p)]wãPg!?2qc>'ޮ8%N1cT(,ىLV Gbڷ0zM\)im2yd 7PV#C%,*[F6rdCdqѮ) KX%6q Ptt0f|3zlCW:45cFfFmt<@$ 7CڴyecqY'/H@aL M ˨4%&ڥۧ!aƙϞ~W\5p\q;^3ewSy<®pB/y%]h7qs|=^>t>Gzҕ/4Pj4Jhf 8K{+$gG{վvo{>ww{w|?xG|x7j0yW|5yw}9"(ľEazq%*Z EP:W%%/S ;@ $4DTdtAS8ÜAASX Bc#Ly(,'+;(lB B-,PPB,43D4T5;(L((82t;;*dC<;Avq++µ CB=Ӄ5I)KTAkLNeMPU|U:~RHm XP(:(4uQZ]KUpҪ*+Ձ*Sz^(,2]GͬœjVkmRop%r}q5tU6-+!lL-z}}-Q E#U WT~ׂ::04ڈX"z؂XpEu  ْhzؖ[ٖuؗٙU4mٜٟٝٞl5]#BӄPUSUE ک$̡ګKꉬڡUӢUz "-ۺ2 B[xz ,`' (GŜ5[5)U*-,̹[`%ӀBbUK$ߩ$\ͅ\ȭ\ͭZ ]-]ZսZMSҵb(-3[ Ŝ,S޵]2+V*V']͜/^AVµE-/Uɵ̕\M]\=_%.EU]%ߩ]+qfBF`vRBа  C c ȋ`|aa~Ja~ab],b@ȣ$(.vH4;y4@9P %IGbXa\,H9|tHUc!8ȋ@#$c;ECa@FdGndBfa<nd9MVdNUddHdcON~d%cQFeHWb*&+^-^'b!/Ac26chcVU6P&$eW~ C6L.>^D?~EGcbc=fgeNfpmfuTNg .g:guvEm9&i{hvtfw^fNffdaYZ`V舖艦芶苦h܀Νl6 i bfv铞E@<8/=Ѓ'vFHheC`m*1 Tʼnb( `: hzSn,/%]:xժ@]XVeU >Aߩ'݅Wu܆0FVfflW?ِi(}L˞A<Ѯ3>>i*[J֪)~m6*Sb\f(J*zڣFj:\뭢m"naUB^0^heZ`KHɖxo)v[!X**VMk3+Ny4ۂۿ'@muYYmkGm:3m,`mpUV:ͺ~,ߡq:*G5k{ W+rC]0qBt'w( Ϝ섀hx%tI,@~Vs21 >>k{ '>]0 -75 }z//<2>, ǝ S%\ZsxltG߈#`oe쏎NtQ'R7SGTOuMiXYoCԾ\x]_p`a^'c7iMGe]eR U 0+"Ozœ=lGo+nH=wH\]K`)S Vj'[r\x"԰&֭Zxwq,wB*ӑ'Tg+Ynrǜ*x_y׬v],xyBE-qm?cWh/i%z7]5Wk{>-[.S{F xz^bl Ϝj{{ G| '&,Mh7)Wqϧwg ggدO ؗ_W/=^"d@ 9PrIǘ(@Hψ\1r~YJEieh!ɒ\ +Lj)L$X\@ B%ƌ7r#Ȑ"G,i$ʔ*Wl%̘2gҬi&Nv '$@,jc?(2m)ԨM1RZrZ(ذbǒ-k,ڴjS,PqҭkطxoOxWaŠ&x1{y Ҳ̚7á6lc錟=>Z4j:_ӾOklAn\u=*xїSn=صS/J#ś$oۏX MTQ"_cI&Aґ݁Jc4 Yh=)ɐU(GdQ,/gh&=)JM8#t8)Q,B}DZ9u;Oӈ %K.ꜥr=e3SͶBHJDSj."f=Y;ϧQ {4RhZ-\7bדZЭam!3o-] kr+,/M+ ٦ڣ^3[uRa#ԢZez+jOnRl[aEi]Ih%۳:+l^Q o$h  WXvm6Mei׶Mn޲ַvlgvGimoT9B$/~/|_ɴF;n`uc]01l׳)Q!%p]!HDܽ%sa RR"Yl|(1G+ NGA>2AIdN~2\\U#8Դx{CvYL'%!Nc\3? 4EEedN޴{msJNK7ڰ%Rkfg2;zvݰ`?;ӮAU$wI˜sYvHl~;/?<ʶ"ۿBoVI"s<~.zء)eDҢ+׊[OwE>czG cczI~OcSV̞"_}TG!2{x9ܓ\>/(a >O^"_D&]__B60inM~  Z2 =n[  Za !Z>a)!Z^wI!Y&~!y !!mhJW(hf0f1@aIaaXa!EfDGGHgI@v"n#@!:bz"N"F!gAF<g)$|>F@)J"z)rfDlT#bzbv"F!''/c/r,@4@4@,ڢ&W0","gQG@c-b1b1r//0Z81&26a+b`N*np(N@L;*T#:jb:*#=j"223r% FZ@8b`c5V@ #%c::#2"$FDr(jdPK"*F"NRbG"$F̢*$$FdA?"JnVOvKQ!7~QdMnMdN$6F$0PNa&$$NңZbL;nCrG6$OfRn_eP<$a]]$fbbG&zMr4`c^&fffa fvg~<Y|aM`je"\f ϬrfuPUo)\[n>kA`[q\^hij\ќM܊Œl2ݸ%ѵN]yA'NP؉wf$%Jݨȝq愰'x (h8.k"(Fl؊ϽZ\QLEՌAr5ۭdsrrb9nm6]r:n͌ QXuu"Ʌ*g-((ra,]r Uvfw'њ1I|ꛎg}zZxVgz'}inΧRnF]U*zg Z%+*)*)%,*v@Ai]yHJP+Hj^j)(W'tB&T¦`LiVQL>m鏂kQnm&)b>&ji"kr>ii(Nhl~" )z)%B)j((t}ej%XBTv|"]M瞞'2,ykU%U,֫ĺiFbV^,EiɡY*Dɺn惆*o:fM1t*AMGP(jޗ^BU\ݟ*t*0hg+1Q^zn,"abhƉ-dz^kD$@#4VZbz|kF쮶N# FErPilv ś~?uƆ(ymNiI7~#+ϻֽDwVl燾>W>>ꧾꟾ鯾VǾ>׾>TH4>#)?-?>PD>{RS|듿sgF?ut5B` MB=@$0 &Ta& F8bʼn!DdE%>4`"ɑM<9RD/QBLR&H7?\J5yОGTiӈ:F Ī&b񪇬~W]ǒ5Vvm \uݚ a ~oB 'qcǏO$ZΓ/8Y薡' T9qkP!c19B(YhPICslTn&gE.7>]7l9Ӓn7/]ٻkOڻE;ٳ .<0}?zCn4ʚ>:3'30ހ{5TKZ14P#>LCI|lQLIdQ*KmQsqBd‚±! T#$RJ*-/MArȁ.42mҒM|S49S=0&~3˅T;EE] QTI)5A@IԿ3(P}TӊDUR4UUYV$OV[9U]?͕_ V؅|5cMVemg-iSCF*S [5q#!sMp#aݵxoWlL!Vˏ!`Z=FذsXWn`0~zx^71tmYVMxWv!Y _5\oc^[UyhMPy=z5iFZ]kOhfvaU l8X`Gf{0~4;dXnV^;enOqopkfZ먻nyЯ&Zaֳmyng^¥uSwmjI}V"zS{sUN\s}']a6^߰|2lo՗~ӿ~u|f? } 𗿊or 4Wof*Լ2ӻiOx+=:Zd6CO=!C!E4xD%jJbb>E)NQ ui#ާzg=vi1YO"OOd|G9QjC&fqydԸ.11BwHE#!H+0 9 'A9GCrwt# yce!;F/w+;i͔NV(? p`+o3CnyN,#3КA7Kp6͙J"2t;OyΓ4ֵO}?,|5AP~r uC!QNfE1QnbCot`0@S$P@kTh @P GTP$*U0:T]*Օ`Lkլ@~`dݪXZ֫*eW=* D5[+Nbts @ XX4 U@zD aXIJMqJھΖH uqI+ܥ"SҒD~=]mjz:!tĘHizxexɹiGڨ@mjho{k]k_^p@R@Yrs oR6{ctw)pT'$v~lx%{vŁQ ƙ;lPgȼ]r;"7wm7OvPn=@⽻gȀ3B"`5ŭoՐ^׳HeGtўvmwwϝuw}x7x/w!yO1yo<zяՌQzկwa{ϞqzYcs|7y|'W*}0]#`IRo7@*VtUdR , IJᵢ7!?"o//F !d˭Z%@*N0 U0[0_e] wOȏl괔L ` ih̬nt!hlʿ Ǫ J   l ]c pp OYg ]0{P%Q'q9Ҙ Ѫ@:LG1{jNq"4̥pb\ѩ> WSPPWk)1Q-#qW521oѨ>1!Z ݊| ,ѭ0/QpPL!hkq1+Q c-}p#)/qq$Clp&. nJ%L\Vr .@ ,'UZ2%&4+L|"*ҥBpP;w0"!s7#2+A2$g$ݲ\ؒ.co-r/%.+/30W/ |031Zl11!32%s2)2-21335s393=3A34Es4I4M4Q35Us5Y5]5a36es6i61u1llV|738s88!7B7y8993:3HS!szS)g-n;)eF>b.b<"EK,Г}cFSP,SGܓ=>Y::ǥ%;qB,4fiD6ch\kvGlug}g+WvhfPhviivO64A6jj6kvkkk6lŶ37V1l}0vm6Զm6n/n薯soonwnp 7/@Zp!7r?2qgq !as!<7 r;hpJ  G0 uP*ٰ!hLw,lum o,ʦ8Ax(LW..iVun as?7 `}WJl}Ku eWZFWr$uJD,JkQxJ˿P'WJxCyWk/! [Hti|b{tWSsv^@!֠xx}׀}w{v͠~ qɊX}Q!ln (8Kb Cxq~* ""L r XܰyqRXcK~ Lx-lXxْ[&9xfEf> >w L Ly ᷷؈y1 mA,XX!Kd Q!y *G5 ?8z`9JB*Sל%͢>H Y].΃ijFF Ơ : V }׸b|qy81ڊiy&,OZ  Z^:rZYbiؐW @ :X!*i:wy ~&d"S<@BC rC\L{H !LWNך=ً ڠ` "[M t@ %2%z":XLq^ : Z!:)K OYBj ( ! `  OqUrK~ {;{ɻ[_ݬ|t Fo5Jr{Ͻ$t | w`ۿ1<—-O5\X|=sA|I|}Q<ŗEU]F:97>NޭJa̳yE]Fk̚Ȣ п"K3 Žm ljˌ>1֊w磾-(j](b'}+> 3L)trj*6!+b ૒& $(k!RpZ"ߩ'ʴJ+[Z z1^KJ',?  zYWoH= %)P-_y?K(?߃៸"ޯ??V R <0… :|a+Z1ƍ7*1ȑ!#<2ʕ,[| 3̙4kڼ3NzةСB=ЏL:} 5ԩTtPiխ\r4رd˚=6ڵ5}K`\t#ډ ^Δwlwkb3\7ɔ+[۰svLM{">x鿍YV-ދtn.ZS٠?4 1cZn)D%br饕ffjTLD9pfC9܉gzg~< hzHtl5։VRZii}4'rgizjYNJЬeܧRP_JkK>lN+- jlQmZˆv &Λ\fKSʊofFyAkpÒ쬒j,A"kJiWs #*Y˘%0" kS( s+G|!i@B?mP$OI!ĴAa[MZU6=YmM۵*va7Du 757!׿ ӄoQ7B3~z6QsMzޒ )@ĿP/_,i;oj^xC}dF$|XG6~sXלӁ,)|Q\u+ck9@O/"O9*/~k/{׺ jpt%g:oQ,Ow K8AɚaƉCbرm  9o!3VBqIbwX:eB ? k"ItF!Fb=5ɱ*yQ(6ъd,G?qx "3in$ h4~~B8>:n $KKGS'G[b!7@pn$xKnLa(Ld!6])I f@`9 pz]eiCSF9JK9EuAzJכUW֛⁥ Y">UENHlj*|[P%9T>4і!gԨX-A28qM@e%V!l`} ܀+UŽpK-rwnu۞t*[HJ=fk Suiٺo!͋@{ ق 6zAL8ZkFs0X RaU)p^ʨJֱ|K?;^լzˈE2 `MdyҁG~Ԁ5dd6PtmpC|M@Œ06t j&Tc?l2-HEJ4 1[`ӻe`qjlc7$ P5Y1%-Xd>΁Vg' kqQ%f= !*vUҙU&4)ʄZڲhK{5 ڵurI|$[Ǿ{nLf6;`. i۶7wqߝ.8Jxot oj{C _?m%geVbkSt#>kڸKչ6rW16Ke_!j語{rց|(Ƶ]^bLoWv:ɭk_:Y6/mc+~,citD{9vV]Rtw7JNuUZ"rKf9-1pO`̓]= PKL@D?zrԅGvlXMy? XG19 $I&!iCo3x0IM2IAJ%MO =)(ɓ%yzGӏ"Z%s3kGD} tEL9bkhlB&~SpJi18Yx>z:lpxj.ْJT@Ɩdu;~6kģ9tDfwɉyF)p+9TvLٖ ɘm:h{I8Yi')GJIYN{hHn00ɛr'uȚG\#xΩa 驞빞p XMTtxh؝y臜 *Jj ʠ:,80Fld1STsx 9x, ijlhy ۖGɓzceq)ZxCCxPEGI);<ȢYuQ_ aj$|u{Rhs(_גju~Yw@pj:v~槝$dȱг js GzdhyɡWtcפQzc@}ϴ~nɚ<ѨdjvFڦʤnjYLکE9F$zNJ7٪#1g*E;o9TKiiihLJu*xS&QKJjʯ+k ˰ 밗ф-ٓ@Axz-ϛm; : ڣMڥmڧکګڭگ ۮ?О}Z{ӶX۽Mܙ]#"|}M " -:ܪݔq}u }޶]Mߍ=-y} n3 k ~1Wɓ @=) ^!n$&~(  a<)3n:9T/NPX@ a E~ @ P~h~>~SOs>MN$pPPNlp pxXNpi^ ]?Rw^y0>:>y..Xi@P]NY^{ `DNWJ2AX $>FN~ `^>`NTqW$inn.!뺾הan^P~N.IN>^` "Pp휞:~j^5x^3#1Ѯ!3>F^>OppH><n7PK!I>`N qW\#1X>]6/dovO]^y_SIneWNh>5Nn oWh"`_o~.}%$FHyX"X,PA .dC $(E5naEHI)Ud qȁ-eJ49M 2OA%ZQI.eSQNTdUYnWB%[YgΥ[]yׯ^&\aĉ/fرpd;9@僖)'V΂F~\[EL}dҗSnaܸ }i*yC̡zּjĖcuŷkǓr{=:3?r :nZNkL&B0 %A% k-E;n7t CZC; R=/.@ ;dRGIĩ<<*I pE&.6298J?MѼhs37"ߓ@+g',ͬCA*dQDD|T6G5E QL \EKyݾ{%/7W/JX9eU~|J")NRB%G2Յ62O`زdMq`(eMc2+S"E ; S8!|kDf NJ{h,v.G',R5 Fn YrP"%T&0a(nL!Sk 51zrd" aҖvi2 rxUcGm^`Fȓ釄p8K$ BP€T 4fB!FpN9isud,wId⨗4#V\3 :_es.I5DNO&1w3 v?Za7I(m6$%HQ ڰD?i" $לi,B}' <(p7MydECEtV(*%Bӓy(DՔђt<;QPȲD-m31C W!%/|D'`Y)QNfUX* եRR%UUkUZj>i\,=b3觷zՍmdNЇtr5^ŚxT3$Cd b<"FtPaǼ %=N;D5:҆H"ic#RLJ̣ r 2q+ /5A2,z:,&-\.{G@{.wK1UvqBRKA q9KV׾I5J&uobnL۲ F+ `3@i8I:'-I^_yU(Lmо>8R U6 ܒ*OY[2Q,,wyʢ%Q Evx!xeDNٗ 969l6-ܫ0Yкn y5ɺ<'s]HqFQAڈ$HK.ɵ֩ܧ?,75\P]Vs#n}t7)Ԣf6lZh8&7ŴMR*ؓ&+am,xyr@oNlIhe7[ߏoU-噵'͑n%]P`#y$҇ڼbͤޛ^y#7"Kr)OJ7]nFܮ/ krEv^Y\CW,tn;G4sFlg>ږoX# ӯ'1ovegUν͎uӛ~+=;=|ݛAm7 vd/R uvϯ3wLV^o<6hÏ lZc#Ig{󣷫u{uc=aW{ ٥Tƕ3ҥ1'b;D|9|/!II?^/_gS?ʸ#@\@K@0:@ р@ @ @ @@ AqA,A\';A\A@|A@AAAA:AfA B"2!,B$L:B%lB'D+!< *8 B 0xB0 Cw9BB+ x ( /C:CW0F8C @x7 hC@B (Dx + BCIDÂ8+Ā8<8C(DEO BP, JlEW =K,3à 9dHDERăWj8ZsĬHߤHLǜʣ]S<(N/ M,9XMhM:rcN0M^M 4/=&7l"<'N2N,,3 K K1ȁی>#@b15 "0lQhI=L+/N!ł0'XIO лLu+~  &p'R/0'p(XI)%кlR*pҼR(;SS?S@ TATBS#8LԻ$H9}ԩӨPEmM Ё TN5IUR-US=Q݁N]U|@8XUYUZU[U\U]U^U_U` VaVb-Vc=VdMVe]VfmVg}VhViVjVkVhUDWMVo WWq-Ws r t=WvmWw}WxWXWyקxUm-$zWW~UWeW5XMX]X~=XmבW(H( `Y WHH(-}XWXٙ ؛-YXB=ZMZW-ڡ U Z תֈ؋HpY`M- `ٞXؠ0ٓYZhXh۷ ppZMٻMYsZX%ܚ%ڞ}p\( ]ZyZ-5]}]ҝ۟]u@\eި]h](MM}\%^֭^ޤ W[\%[ʕ[ĵڠ۹E_^}]Mex |Z W8^ Ʌۍ_HMYZس xޟ۠ۿ}]8`ٯ` n`}`َܨ ^~a`ru]aޠEa!a`H]$Vb``ab*NZ_}[b a`##b.~b/>-\x\UbڱU N c8a<.=>a2;7bHdL^.`ZXaR.dIdKneW^n3,dBb/e^\VF\֊5>h[`Xm`pfX]Z*\Y>cHWgN:Ndl.ۥfk]ܪva4.B.dVWF ߗ%w\} /Vgm[hpgev\gw֯] eh~f/6h;洽蔦_4hub~pزheipGV ynZ>ZeXju䤞jdxjߠji!tj{몆W&f.k^k=kV @lkkkkkkklkK=lNlLnl~lKƎlʮl˾l^Nllmm.mӦ>m^mL+fmԖmھm܆Vmߦmnm>vFnl'5~n֌n6ԮKnvnnnҞlnoF\oϖoǦoǦs4o>nvR&UTp5-˝n6UӻLp_ φ%p6n&po/q?_Snm6oܸqo!7rloV#%g& ?(g)O*or-oשA)6q3m7 nq08gs9_:p9p _Ǿp:ogszQ_r'Wrz)O'r5ދ[{fl?qsoyXOSwyo{o펏vg̑{w|f9|O|_|o||ȏ|ɟ|~w̯gg>Ƽ|gW}ֿg}},}IԿ}ηk'~O~wl_~}h~=ѯw/>ǿ߷ND`kؠQ w`hA8ZUۅ6an"p$*(1&FH<,H2cB)ԏI$Ng\ V`jMeQ\WQVtTM ΩXЅ  R~Z}h0.$JI ܍+㤕N'cإM))x''t'iz୵ \" +%H'}V m l}IR+܎ .Jhb6Xnaji˪o cj 3|b/ 91L>)Njb gӎm,Z^)Nw02rކV 4ڲ@KmU;> ˭>KKX,ذHrZ@o/Rwld~1ɡ]ƗozCNJyab#vmR}-K];?˭fwܱ" ]4&=⮻:/-9Kvhomc;3/|GN/y=op:_*s#ǖxœL4} g U&9ь;e=N8n/&\!X-U.dO|P("gv6r6" PN C;;;$Ȑ>~3 ĜY=: ar|(? jP7iu~zTX5ёOc R=mNc()62b$%w#% "X+*yOa_2v?ҥt`{9kSUz7hIkӣ"էI]iŢNHiNrZ*Ԧ"/b+Yjֳ5j]+[ַ5r+]j׻5z+_׿6,a k"6WB6|Fb6,gj΂6-iK[Y6]-k[ڝ󵲝-mkkI~-o{.qk\ ].s:7ҝ.u1 b7.8+h`XLk^@1] m@O૛r7ݯf8xb_ط(P$(/"D vpO,4}?8 >o":1klN* p ) `P"_Iɋ+ 8 (,02|Yg7'k1 V@d }v2K0L ':Ј`9Ӛ޴ :ʁ\ ? gyʩ>/gbD'H@m I J~y1c#;Q p XҞ6ejc;vo;7ms;^7p2۞7}n;Q< n'_8;<t Nc<㺱;s"yCN&O9[m] .gϒ6J_`>z?% w?_??]?_ g["2V`B`J`Z QjGr)`` r` q N Ҡt` `` `Jad.iP@ & G5РHaU ʞ5aDI(LFc̊8f W"V3Zc=TO=EP5Z @??1n=b.#3.">*b19"y#<9AQA/0ybc:FP1b$7f8zc4$(u0@VC#%Ql;1$xM$L$bX$&etu_|;x/ߜҔsj~wCXoiJU X_J|1[NYtS,?u( $h(x")ug^i0(4h㍚)ȉ$AGI"#lu|AyNwݔg{WeyyY%w e Rޘmjwv gqF㞍M؟O]!J$Tk,2`P*=l馜v駠k=穨ꪬa/j 竸뮼:+kZfʱҵl|$Jfm^"Glye[nkYr%䉈$r-e֫mµ&l' 7G,Wlgw ,$lrĪ #+H %F",ܮƬ6r&@Dld< 4J'dDVW/-A\4ZϬ>t?5DMd]mx|߀.^)$uaw1bWx_."O9ڌ;n~z#.n;&/N'7/q(!|`|qTco<[/_>;G{Eo0` ? H zn:[ 'H Z \8`[@xMX@#ȅ"d(f8!` Ei\u" jTf(`HH( wE0\"HFIHKc6dfX˦656-fPY>HXc B&L"/ 2-> Z.;_l0Ц;%m#XͅVL)HP?|@πMBЈ㼒r/J> }Sm;(iz2d:ENԨ֧SVzLLQBg-pѭ3ʷ\h״5߀PȾB':"us=8}ykqd[֠Oz6Kua`K۹ڪK]ɝN9';ne _0慛`@ſpqzb|7 _p3_ 5̜ x x;= _t>.&!w:ԍ[X{:Nb[W מAfpGfv)p7qjԋb㈺m 7=~W7 E;܎W蓸2\vja̲IV-Ĥ&ұ(yS.fřXLִ^[z >0gϘK?Wֿ#yj9q9 J+bq O{> p0B$noxgQd5oixy7xfug؁ @W&x^e_ () YVJB5 !^_P[u 7 U^S&EExS?_VxJ?`_@(r^> uPRF Aed8gtXN(PF nS T@eEXA[p҄JheSvXkiUU|u|K(iI؊~a*/Xlrfk"'n2'!JZ".WdYΗ'd&vҋP|ʸHJDј&]U)^ߵU e7P8Hi,4bܘcq%%sD 6fDƐrqV{ea fvf/XUf YWdhVз7vWbWV#ao呜AZe 5œq mah8REF5% zZ+U6U_p PA 7yb 0F/ `n&6mocs"LBd,!{h\{(%c+0m&`W"Pt ߈"h}|{Y2vbx& F'&YԘa} b)E\< J i(\̥R(T]1-E)S+ q 4m@aIfYG82iV:`-h" }*YcZzґ ٍɑ݈b۹[&)Rf ~*5=/1R8(JՅ -1n֊yK2jdər3棻ۼ caP0tFqt3S'[$+s`泿+Kup_@u lt+gqe|,|#?v uyW(zf{"ߗWPS E)ܬ'\8#<-p#tww~G--".TCئF[N_OJ[O'm6L6A{OL+\"AwP+w3BnL"__QN\(oz k|<{sa8F|Ȉlȁk7̮ĸ!<ɔ\ɖ|ϣX3HɬF}o!FgF qAC*]qPzI2 ʸ"m4IȤÇ|Jd%̒'lfʪ<̤izIYM\'Xr6͈\Iv+a\L==]$Q04^6~L1`.*`y8'd-pTB]jX91_+1)NBz|!yْbN|`+Y^ a~¾t9;)(AD . ,U(\Xq%\2P!gʚXZ*<(x j19ޝ.''^.zڨeYn>_x=j:)VvRJlQ]T@rQ塱A?rAi9<e ǽ˕nHq\R19/[*bPlQ`Vo/+?-d8րPV\P5 f";og)K/:T˧x|AD_m{Z$2v=BK,wi_&x_x v/ѳ+ %3$.^#O>O}'Nмΰߙͮz_ jJUDES :"É\\1b;<~RH%K#![|R&̕4m Sʜ5m̘> hR*qe2ҧPy 9VZtthЪV}b5ڵӥMwnܴh咭kU}X`… FC1 ˬ#8u/ȗz,Mw> *[lڵm߾ _Slٷv}=iqnW޸BwN9Ҭҳ[;mnzr_|O1+՞/#Uf*^Y / ANC5lA.)00 ;1DG DOD1EW̵ ]BfYExr&@bEz2ĠD2I%dI'd/`TB`E5 T!Tt1G23>(M9N;3O=l2N C>%PCE4QE90AmQI'RK/ŔE"J=NLG%TSOE8$ΨZ-RV[o5׫6mP=mNWa%XclXeeYg-MYiZk5}Zm[o6\q%hE7]uE"MaRx㥷^'r^{WQL#Rط`vE}.^M6 88a-9Fh4eJH@*c͘- t'|x;MiđJ#Cb N7Y5j&zNSYgxgn:p[mi4EAHڣG"vUYgUkVKl4%=Lx>ػpigVp(#9'i6PeWQo?H6=tG't76GXS4u_=vgvo=www=u]}xG>gyy駧/<{{?|'|G?}g}G_$8 ꠿p@6Ё`%@s&y( oE ,!JrBvb/a e8VP*+Db{(w0#@bf1$N ՜E qdCKBEq9"ŏxgDcոF0:$IΤ,Qmvģ69=G>FѐdIŵRc#GRduG;62$&M$G6ҕܨ8jhڈrǒR%?=Sd" O"rd%9g:Q$՞MLWIbI(>fVҝg<#6lf2IҶ3U> ϳSd'MId3T5ӟ }hDi~S$@HCzI$IGRԕIF lӿ};ͩwѐT#S6թ)KҸǥOrtUwլ:[\W@$TMQGʾ~խoZ˒xtwk^0կ۫HWְElbIؐ V5]ĸAֲkf5yίsmhE;ZҖִiUZֵֶmle;[ֶ-js[ַnp;\׸l+.׹υnt;N׺nv]6 .V!mBv׽s+׾o~ m/=׿Ep bB܅U4<2A,Cpf C|a"E /|)^qUA%2h_(py;+;8%>ˆO_M.lA XL&(@9BS*w9e=3}S,Qg|kMD)DwS2yP7$.wTuD2yP1zzw&(Si>uG0HFwڟ(}${ES={7͍x ~*Ng%&4!<2`r]oa-25}By)͆6}?->b _xS^׿?[G`ß~~a?O,G*(??S4@ )d ! "" !  C$@!@! x)|A((A i(dB!\B , 0|(Bf!B0B$T?? X2윭8^_C0HC>Xe9ëHT|A6 ¸NA@p_QiPJB @ @DDAC2 J|D1T WK Z$R$F9AW$9LFr1FYgtiF4vmn ?s?sD{?)ts8{~H{hӀӥt:tb=Kmd%9H0H8 ` &TbrZS5I_ȭ+ɏ@XHx p";sH:Z,JȚ;+3˯耢  l""s:&r~MG<# "N,tTηNڷktQ!4DTdt%P;PKGTP$$PK1@!OEBPS/img/problem_details_new.gifotGIF87aSڴf4d2R2dd4fdf䜚2d̜|zt<><άd¬ƬҬtʬ䬾|lrL<>dfDLV,μd܌t||\Ҽ4ўQ^͚ЭS)5۸sͻ OZ#CH@ Q_iv?Aq8΃D/J?qZ%A,_h7dHA(!`LyD J0aDh" 0(4T|u^]Lj@r!uEG-u7J˱~{D~-%KT.]zicx c9t+v5j衈&hO7.裐F*餔V\fH70g2zN*NXGS}`zf*g`xrcJ,Ɨ겝M8 2-V;bK@ r[zkmM8!Kj骽ù[3' 'lpG,olgw ," @JU/rs.A#4"3' H$-4Y-8SWMt|-v.n㽮G)keɵe8JG9 m7 /n騧ꬷ.[L:;+n#/<耋|6^+;Bg+ :'H Z c0i a9xeJT¨6F·=YH8H7!D:L7ù0`%$Bkp3)DT0Z"D8Z`Şhˎ =V cG?R}c HD3bKL A+& @)J=L7Ft% g!KyV E"poL0IbQ,/LӘЌ41dP |S+iL*0rL:9k+jMZOyԺ^z `K]{פ'J}lM$ϦQ%JV7 T+cGKV >$9UBF,-;|8,N$_z.WC?gS/ww<[o>o}q~|ʪ}h| ?oG鐷}|+t9~Hcs8Żlgt?.Ǟ?2'8r}|3}vVpXy]Kd 8E?^V[.fYwXkg^0'm(w[Ƃ2hm2M=7:$p41ZdB87(FIC>VG؄+ÃJĄNXngq7H~؇lqWq'q/C6HS4GL*3=5kmb1Ɔi3'wV؇)R{؀臆.؈g|x8x;؉8Xx؊xB2/0*_F:A/4AJ3lpEq}m~pW}xȘx.OH)ȅ5XؘڨX7WXxHĎ+2q;[Y؁TYMEKtM$5poc0 Џu2饑$O耶ѐY2?|Buŗ9"McphpFyide.O7y9)trϖZ+"DyHL^"@TW YP8Z?4ۘz|IMF䖣/=-?I>0y?.R}9YJGc=<=#?#ICJC6>S7325s=S26J3f;>K9>C><1K嚯< ?- djz^N*8)<˲%*w1;lWYw:K2Dyɳ1*@15 /{Iq׭ ={gC l+Z!@utӭѶ?9k-<= xKh-1K+.˷ +DH3{./Z}줺YF+;GH{a7^a_WỄ6ę[_; k[˼{_ۻһ`+_dߋ 2ѽ+1ReUrVR*f \_< P!l){?u#̿$ -LF S9'*I$ 1da/L2X6b QB,*!`#"Ţ%yG<KVIT0\XtZ^LdLD_M/30y׃fhvcX׃ŀ"3;6R,0y mhrCb+~Zx~ Wqd~×uaJ C /,LX=;{F^B7\I4PM778=fݤ.qVmh嘱 Y{;Ȟ^a>ɃI 9փ>/*H;Jl!!6YA4@*kb`F|ܘ!QB ?P%Dy C'\]9(OĝQ,dﹱlnFqdu}B9/clwZ9VnVfYY4no֝and ԙke)8Ip^EMdA1E]nwG]x1 (8]7iG ύ[pM GCk5rKrqZ(l!mlozM[̭Yu6'6' t]eODtK- PBN'`'S[NGt78Wx;*yz/A`@48!A >HBZtb)*ؑH%M@J*RL5męS1{|%PE},SRM>UTUpRV]zUXev {VZ%Sބy\VśW^}m  L1]7. YcɉW\rIf *Lww~7J/+[lNo6 nƊ}=P6|qp^8zpͅG/<;pڱW^ﳟkD=ҤӧϾ%.$=$n-AdAT<3B /0C 3DB?1DG$H™( Ͼ[4 rFjJ>VqCRI$H#Dr$eB1H'Is2J)$pH"`I"hd ,rETd2K4Qd63$NlI*O?|J;%PCSeQGR#o;K9A:POL=(!%TSOMI2˔tgei:z駧zoz?|('H`ۢ7i}g}?3Wz  x5Ё`$ς`GQ}59J>0$8B0O2a! S#ip4}VBQ",%q&FDJ(JK"-fvTbh)aI,&d`X-cG>R,c 9HBqZLb"HF6ґd$%?qd&59vғJQ0JRҔDe*U9Uҕ<X KZe.uK^җ,9LbӔ4&/eL_ޒτf49MjVsJND@S)NsR)gNp~q:L D%%>G|')9N0s';J΄VT%E%jMr]wYn v~U_oKoknm=\ږŹmqtݯ7~.x ^V-y󦗸%.p;ꂈt,f0,٬W:4@]-D@`_=G@␄F=s׫a +]E\811t#Nq\x-Mjs[1Ws:{㭼8%^2$kzrb'׹fYH2̠5oӗXRֲ]@2`0a(IF$LU9Wzqf?Gy=l\f&CӍ2w";Z, iF+ՓLCƴNor7M7`vlfߖ(*>-+=mLeqR~/uLZz˳nޙ͘MLێu/\mz7^ 7o (˟x5qGyE^'Gyʡ"?Đ]05'chsp< U>thL/Fg Ɛ~kE#C0}g}_au`'ó^:۾3l{Їr;v=Dԟ>13>bY1OI./O:߁B54} /vp Nw=E?]\aN߰gO=Ӿu{}}yx$C:ĜtiL㿕/)8a/ვS@C  T\9 @AAC@B@'Ԙ"ԉ+@$ =PA$&BBB 't*ܘ=A*,B0N:ԼAFl @AAV$?]44\ LBET =D^fC?iTƤxkF>npGq4s:udvtwxytG(G|$E> N  = LD,qHTHA`HWAȇtH$,LCB(8޲Ш{s;Sȣɡ<]S;x= u<Ӓ M=e uG12EPBA8ITOEUU(9`X6KZ=t9PP̃Y|9l8La-,ؔUU[V;U } 9Et+|V/ CDKl{V$V+8t͟vTF ,Wg%%`6v Xs3Fσ3//h' ~!24CXXͷUד݋s- #0Lc8m;7YXM5-YQ;$ uYduٍuE#ڭْEGuǩG -Ё$Q5$0 M=4W՘z\T؊ZX׽iZJ[HLqY- ۦZu\_{Z3ѩԩ [d̑(eՊu }[GT]O!]*Ӂ*ݲQ ȕ83YU@Q5 JHRMbB% 83^9qJ^j^) 5 ZQ] ^Y!uO,ȂЂXpi^pF S=Dp. `0`SE% M,`E= %ᕱJ: -ߝ]y EYpr1QK]aha&bܠajAݼHY Ή!.*#FO./0b3.,.5 *F7 5f9/8c| tNJhNXx MȄMcqcCP9Nc{iM HNIRDR1!3e5'2\'eG:Q`f5'dUbVEE8eNfvfkflffndo䩓m鑠hMXRVod$I_8^qffޚ؉QՏR M yUgʐ~_(Wh r~hx g]薮Yi\*i>vC:E NhwF碦[HeH5ޮ^}&^~>^k&9!jvPwf jHj j)^ hVh`iv kQkh~ݸXill_~iͦ^ Ȏl4~\~m[Qpjjujn >;Sn>;k[;+;ۻ;<&;n>umױ\~ƺ:[=o;n=3oS1B pՃwZFPpT q'PVafuRR.D7Ih]DGu$ /GqUq9a-EjqQ/]I_"'#dlDQC=E=!>>A٘:BP`4w*;94W< q`,-KDHܔ-V@E-`,u)u<ԾLtXtH?3IDou{yuX Yuhk\ߚu؞^YIjhf" 52"l/1"oomO#p4r7#nvkǢt'2#t^O~sF ɏIa~ 6r#o?w2-z1Ro nwvqw3ZnGwzu oV/9b?G'`w.^{glly:yGi@zg甗_fߗ6mƀ'F~ zPw^9~/Roj0dѨ)'ߊ_'9 xCRTCc0_FV%Nˏ؄Oy~{>tyG7F#ӟigntyA ۏ0H w}}k؏kkrs6Z}gת_Ph;O$+xy)~ )}HT_x{~ ,h „ 2D( Ĉ!`"ƌ7r#Ȑ!/,i$ʔ*Wl%̘.4i&Μ:w'РBWx|x 8 xD :BaZx!ʤ z!rI[x")ja-"X|{o)[^QDA 1y$z^쑷ޖPzeeai&tKJIy'uU$OD %42@$2I ɞ :.2"@蠏)yԤ:x@&" HT 8j(9骇):i{,'*,{&;-ʷj!Z-嚫_Ҋ.D.u1\-kAvPVp bRvB{BJ& 3nJ<1 ;]\b#cyf"8>`v> i;8K>yM§8HzDC8Nu锛~:ꩫNHaz G|@GGG@ }D0Dn{"<|M=gg_1#:?>GG G~G{bǯ|4!BF~|| #A})3 rk<C(H]$4S e3MxSRA)TfdTJBO{SL?:̈@A)R)5 .Bj!9)RҖ43H*옭F=*RT}OSul<5?R]*Vխ QB4 bͱ d-AUbE+\ ku\+^WH G"Wv0 t}l\ؽRj_K' ͹A p0zv:eSJ0lc+Ҷ-ns򶷾-p+=.r2}.t+R׹M*v])u)D񂄼yk+`{9߰%!D/D`8)y0"`$%p!G#.uQoD@5hFa.yWbV `KxC&r+b%'M>d(n3tW0̗i^d[2W&&sz^on |s\eyޯ='BNhgYϒp=h?_x˞&҆?-Q:$]HuiKT~:YӚկ5w{k\:ױ-anjlG =SqW'=Ņ}^A-`g{^sb;6;{{# zv$KnئMxs_ S8u{ i&6 .`xFG(Aݱ6Mr؞2-\'-uNt1y #:]\O-yƫkvL_:[=@*@9׽rfoW=ٱw@{{[ۤ6AxOz.<`?}ܗ~}_l]/.ᏻz ~ nA؇밇ApyKSatc!_u~{ Ⱦ{?w]`ݱ_с}5m5`pVו[TF  ӵ @ V5ᑀ 9 ` ]-m^ƑkZZ9WMUamaƅ!s!u!} ҈wGQt!kHP!]QZ\!! XOH"PPOX"$: XT<$,"B5O` @A@, ,@Ab.U5 \1a#A1:5 c#2&3dMc!#44N`~4a57^cCc9#9*5327#<c:DEU:0=:9&ބ(0@*MI4@PB".Rd/,f$F F~,$QD#a11c;&;cc#K^>< 7MQd?}#U=b#7VN Pr:FKG6Q*SFBd5$M#I#IRXPKYVs%G_G`f%z8&:aDb2Kc2&_.f% \Juen&fBe6lhv' d$8P+etffcFd¦}&C'()2j2BE`@\Ad$/-*,Id WFJ*Y.]^]fg6dMdWr,QPN"VIpb{ΧPdy8.z$R'Igz(9%wBց#4c*u.Uvg^YfM@oAFDp2%CND"GZsEjd-rǘE~dKv"(gXƨvNcwhPch?§VhVgB(.ixBidM)^'x*h i:X&Viu?D)ꢂ@Xg)OHhl&a&iumF!*&.*FJV^*fn*v~*****ƪ*֪*檮**+N*&6N>Nk E+^+B8ŶFD̛v+vIzFJ+1U+D.Ž눵Y˷.F|.JR՘јY,UN,lƲ،Ī~ĆV+WǞ,qΘjll|k2lO &zNNFN:*r\D,Y֘ƺWXvَvM,̊Dږm޶rОRK>2mq2-BnVm’vâ+ɢlͺlnRȂn-.n-lnG+žݭ鎮.KR.O<6mJJNj nv/FoX/*k梈/ĬƯZ ίޯPHqD*KGpDOA!XAJG DpGGBDC/Dtp p b #N8-O&l o o!Dq1D0DxBFBXqx0|n!0o0DZ qo0v1 T91$rqqwη r!OAqn0K 2D;- @lD,(r>1-xD۱z11LJϛ<0r2$/s(c2 2 g-64 Xm!+-<!+O*oq(?3D|#sN0lfG OSpr=Ӳ0q1_F8m3Gs7Cs/ϲDq'W!O 3GqD1{pD0򴝲>߳h'14Dt>;rL grtttF#RBD6 rO2H(3E' 'uq*3 [&2DcO[Ws[T4Dhq[KLK;qTGD^ETϛTuv-/5b'$ @Fpq0,> :[ʴL7oK߷x8 2+pwL''D8u#crC&0&M7O?yoqtcciXJ}a%V:dnC3"b."KzFpx{ )Bӵ{R9npWS| ?Bkjy\;@O{[۱s6k+k؀@;zL_iui7C@ ,=7?=G? |l=Gg=+w=ׇ=ؗ=ڻ٧P[VVذ۫V}H@% T C}ul㽤I$ J#8HB0@0BH@L@ #J  !($(8"ʴu~ASD"${~Wg~#3~G#HJG@"P ʤ L #$@O?BԿ|?@DH4 Q&4p$"P@)#%|рG] d88ē=0= JB,mG2I)R/̫a6#5PA@=4TUQ էV( A!U]+_ VX2iS:uM7m6g6<`?^[| ,-A-ri\sMb{:d'lׂ6UgmP΄B*ۃN8p= v!$br8'~W)ysVAYd挆'b3m *![~4g9D5NNYk9u ^6>>E.9'%l gYTzq9l`&k>헒%f[֨o>.8酕l!\)1<ǟ;ElK\pd2|N}Bܥ&m}[xa~vfR񠠎^!t=pG{q't^|]"^^[mmyG=MxЃ_ R |$& ,A />,U t}Z9MhP]A pya @蕐[xĩ&A D%.MtE)NUe#^]hcA4M)c>=_T N!b G=rA#ɤQ6x{#&H!u!F2wt]"cFs3y)QJUt+aKYΒ-qK]#iI5nl<}yțtRf5JӒ):&1MMPA3ikf4d;ys&i\ ty25qgLќ$/IFjF 3i?eRH3EQitX>]d/:Q g E0+RRT4-FojQ&hBh:t-jMs 1MUX?iӿG"!-੪GJUHboɈa Q/qXՙTt]} T}*_jWs-թ5jJP-VeX;{Q"qY1q\ڠd1hiQ׽6b=hKV6TCWKZ+вF`jI~kfDMo#\v&8hMZսPW&ykiK*$@VBz?hۘQlu_l^K׌J8 ~K@„1L`~)f}ޱeq;Fp9%bgS%ql>dX-ܙÀDpoc3_r yzFNIMw! ^^d]%3ATy6<3?0p!iIO1 hMoZ:3AjrԥEjUԭF4WkY'ˮR=k]ַaMOk+ȄO2Mӵ/l þ '8l3Ե6LFH8ڿ6v|f';RDP<ѓJ%lnj?b973Ђ0p9xZXf.Y 2F("C*neyY@ʍs;-ʀ0Yɥ'NFur CNt+% %!Prtb+G]t*%${ yR//|!(GtTy9OMBms?}TS7瘼S}23Sߔk*(;~w=\OFl p݌ i0"(,4.(*0EAɏHPNl(0Ir+}+U.=l\r*+)ޒ'2r.|.{"..sj//('K./&,r25ΒLjM*6* s/2B333//54=34.3 355YS5o0[0US.1m35 , %r1R*3i. 39415235O9i4:e(H.Ks6;E6;3=1orqq+303=ϳ?9< =S=t94<A4AS93)B=o3R!A*?3:SBDW=Y;@M@B:G-FcAK24H5QGHՄtIpCIR0IM=JbJ Kt)4LKɔ*"o$8=L4?1¢ /t> "t"$PBb"$"@֔M? &-*,RΠ!kQYhL5T"NC0.븣85P"HS?Q]cYWV 5xWXXE5DL0W TU`PPUWeMYTEQ!>S!JL^5Z b5TPc^A^]U\Y5WZLZWiV`[\%\bc%\)_B/@ZB6C'|L ]C[ Qcm% P YF6c J>%_O%>_uVTh5ZvMVhG`KQdUWCj˦j,eQkkMq&|ŶlV*Ζ wjD2mPmlKtoop(DoC5 mr'7A>'2)67*:)>s5'27ttM(sSWu7u5uIWuGtEwui(`t=׶ ?Rhlm'4*54^i4q쒨y*Dtq'JuvYv{{{tg||u7ws}y}W{}W~՗wz~WJ30xxMmey=>_{w~ew/5u)*~Swu;~|YwׂK|EXAXaxw 5$x+)n7'w7(`SXwkE87cx5gakxo5r1y7!Q[{Y×瘊(N8|{-9 A&2ٸ%y)-195y9=A9/W–%ɑ7*W֕x:(SyIF##W2ojo6YnRJnYË$m)]$(k( p2lّ| әǹeapٕ6pjRP)-c@!> +2A;58 Y}xI'x#6n'xq:%$mКYo0LځiNz͘s z!t8Xty)M.'M@=8,'(i@{<64' p.zp(4RVc['@>1kjM"{Yq8-"!VѯC'>a޲ KO;Y;b'~>x>:ză񩑺*69!3a`B{ِpp "/1a'*'?zz=yrːE -%/ y W_ !yAhrOKW9t%!nZydY^7[ꛞ=Lo>ۙіڝ{RߙYDR^@q ūy2_>۞ ݞpZ~yXVq")Э>+/n~ZoZmqziMn9^weY~HwP̨ۨc>y;R'ű?;4~27,)y,IE p !%׿) (|ɿrٛ^u8@$P`Bd0ĉ V1ƍ;z2ȑ$K<,[| 3̙4kڼ3Ν<{ 486T2ҥL:} 5ԩT\94֭\z 6ˢZ=6ڵlۺ} عtڽ,Yf 8͋8Ōطɔ+[p͜;{fcd̤K>Ϭ[~3m&TdbpL?>q5̛-:~o瑩zkOhav#rۿ =tDl oaw_^T~7] (BzH "x(R&e"a2EOxc#u#>qVC"*)b ؗIpьZnV>ܘK4r#";"9H&z 5%ZJhuc;&$$-AAqF0I (vDj=yH$I @=FAA h*L& r6\K<3sPBt4LIt̰|sRsXK 44]MW&,ge43Ov۪VmuL+ >׍wZ Gݷs-xˍvKg6` aV#㏧&gP z3]sL:фk=ܪRٌ;ّw{S޻ {?^qݺvn{c=tn|/{_ҡt@_:?tF٘f"ͣm#|Ka8}͆4\ e4 0V*0[*G1z# 8zcBxꦌ7XҀ2ңPRzRJ (E*: @7Ҡoz p7r:OJ3ʣ7*?ڨ0zkz#& J ZD" & 3ʪʩ*h/5Z:J.jDڪ/$&P 27j* 0i:kz jo*驞z#-ʪ-Pˮ:7z##L/w/yz+Iԗ/+/J6;Z+9{8[+P3˰;'Эzp#*5;M۳A{* W;,{0ɺFQnJ]o:?KҢjkMX+r+_;ڡ`ʮMKd#z#ź n;/(/*K0}:$/BCڷ/Tj1ڤ[-*¸QIk۷m˰pk3&kkj I*[ CK6 ;0 P ; /r:+[۵#rU;,0n/ P"Px ۢ*% z#/#<"`zaZ+,,7²뭴/(JU/*:5/J\l#,|"K*j $/$Pڝ˥\5n1xDP p Hd-,M.$ׅ