Oracle DBA On Unix and Linux
Oracle DBA On Unix and Linux
SQL>
The change has now been made both to the current instance and the SPFILE, so it will be in
effect after the instance is bounced.
After you are running the SPFILE it is wise to take text-based backups of it. This process is
the opposite of creating the SPFILE.
SQL> create pfile=/u01/app/oracle/admin/demo/pfile/initdemo.ora
2 from spfile=/u01/app/oracle/admin/demo/pfile/spfiledemo.ora;
File created.
SQL>
It is possible to go back to using the text-based init.ora file after having used a SPFILE.
Simply bounce the database, but on startup, specify the text-based parameter file.
SQL> shutdown;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup pfile=/u01/app/oracle/admin/demo/pfile/initdemo.ora;
ORACLE instance started.
Total System Global Area 336356520 bytes
Fixed Size 279720 bytes
Variable Size 268435456 bytes
Database Buffers 67108864 bytes
Redo Buffers 532480 bytes
Database mounted.
Database opened.
SQL> show parameter spfile
NAME TYPE VALUE
----------------------- ----------- ---------
spfile string
SQL>
9i Server New Features
CHAPTER 19
19
9
I
S
E
R
V
E
R
N
E
W
F
E
A
T
U
R
E
S
493
You are now back to using the text-based init.ora file. However, it is necessary to create a link
in $ORACLE_HOME/dbs to the correct initialization file.
Server parameter files offer a binary alternative to the older text-based files. The biggest advan-
tage is the capability to change Oracle parameters and not to have to worry about updating a
file manually. Drawbacks include the fact it is a binary file that cannot be manually edited.
This file can become corrupted, so make sure you have a backup text-based file.
Oracle DBA on Unix and Linux
494
Remember these Are New Features
Whenever a new version of a software program is released, it is important to take
them with a grain of salt. By that, I mean dont rush to use every new feature just
because it is available. Especially when using production systems, I wouldnt trust a
new feature from any vendor without testing it first.
There are several reasons for this. First, new software obviously has a higher likeli-
hood of containing bugs. I dont mind testing new software and finding bugs on test
systems, but not on a production system. Next, if a technology is new, its optimal
usage most likely hasnt been identified. It takes time and testing to identify how
best to deploy a technology. This can be a painful process fraught with many false
starts. This is okay, as long as it is not on your production system.
Finally, some new features turn out being little more than gimmicks or are so narrow
in their scope that very few people will use them in the real world. Not every prod-
uct or feature released by a vendor is going to be helpful. The trick is to make sure
you dont buy into products that have no real value. Marketing buzzwords are every-
where. As a person evaluating these features, you must identify what it will actually
do for you, not what is promised. If a feature isnt going to benefit your system in
some tangible way, you probably shouldnt implement it. Some of the best technical
advice I ever got was if a product doesnt seem to fill a business or a technical need it
probably isnt a good idea. If you apply that rule to new features and products, your
system will be better off.
Using Oracle-Managed Files
Oracle 9i offers a new feature that attempts to free you from the details of managing database
files. Oracle-managed files allow you to create data files and tablespaces normally, but Oracle
manages these aspects:
Location Each file is placed in a default directory location. This parameter can be
modified with ALTER SYSTEM.
Name Each file has a unique name within the database. It still follows OFA conven-
tions and data files include the tablespace name, but each file is given a system-generated
unique name.
Size Each file is 100M by default.
Growth Each file is set with AUTOEXTEND = TRUE to an unlimited size.
Deleting Once a tablespace is dropped, the file is automatically removed from the OS
by Oracle.
The idea is to make managing files almost transparent. This way, you dont spend time worry-
ing about name, file size, location, or growth. Oracle takes care of all this transparently.
This feature can be used for control, online redo log, and data files. You can have a mix of nor-
mal files and Oracle-managed files. Assuming you let the defaults of each file take effect, the
single largest variable is determining the default location, which is controlled by two database
parameters.
DB_CREATE_ONLINE_LOG_DEST_[15] If this parameter is specified, this is
where control files and online redo log files are placed by default. You can specify up to
five locations. If more than one location exists, the files are multiplexed automatically.
Data files are not placed in this location. If this value is not set, control and online redo
log files are placed in the default data file location.
DB_CREATE_FILE_DEST Data files are placed in this location when created by
Oracle. Also, if DB_CREATE_ONLINE_LOG_DEST_[15] is not specified, a single
copy of a control file and one member of the two online redo log groups are placed in
this location.
If neither of these parameters is specified and you attempt to create a tablespace without prop-
erly specifying the data file, the statement will fail. The following steps show some examples
of using Oracle-managed files.
To create a simple tablespace using Oracle-managed files, follow these steps:
1. First, set the location of your DB_CREATE_FILE_DEST file, which is where data files
are created.
SQL> alter system
2 set db_create_file_dest
3 = /u03/app/oracle/oradata/demo3;
System altered.
SQL> show parameter db_create_file_dest
9i Server New Features
CHAPTER 19
19
9
I
S
E
R
V
E
R
N
E
W
F
E
A
T
U
R
E
S
495
NAME TYPE VALUE
--------------------- -------- ---------------------
db_create_file_dest string /u03/app/oracle/oradata/demo3
SQL>
2. Create the tablespace and accept all the defaults.
SQL> create tablespace data01;
Tablespace created.
SQL>
3. Examine the tablespaces defaults. Here, you can see it is in the DB_CREATE_FILE_DEST
location, has a unique name, is 100M, will auto-extend, and it is locally managed.
SQL> select file_name, bytes, autoextensible
2 from dba_data_files
3 where tablespace_name = DATA01;
FILE_NAME BYTES AUT
----------------------------------------------------- ------------ ---
/u03/app/oracle/oradata/demo3/ora_data01_xotkdrnj.dbf 104,857,600 YES
SQL> select extent_management, initial_extent, next_extent,
2 allocation_type, segment_space_management
3 from dba_tablespaces
4 where tablespace_name = DATA01;
EXTENT_MAN INITIAL_EXTENT NEXT_EXTENT ALLOCATIO SEGMEN
---------- ---------------- ---------------- --------- ------
LOCAL 65,536 SYSTEM MANUAL
SQL>
4. Determine whether Oracle will automatically delete the file at the operating system level
once you drop the tablespace.
SQL> !ls /u03/app/oracle/oradata/demo3
ora_data01_xotkdrnj.dbf
SQL> drop tablespace data01;
Tablespace dropped.
SQL> !ls /u03/app/oracle/oradata/demo3
SQL>
Oracle DBA on Unix and Linux
496
Oracle was able to create the data file in a default location, give it default values, and
then remove it as needed. Alternatively, you could have provided some explicit values
such as size.
SQL> create tablespace data02
2 datafile
3 size 250M;
Tablespace created.
SQL> select file_name, bytes
2 from dba_data_files
3 where tablespace_name = DATA02;
FILE_NAME BYTES
----------------------------------------------------- ------------
/u03/app/oracle/oradata/demo3/ora_data02_xotlhtwk.dbf 262,144,000
SQL>
You can also add to existing tablespaces and can add multiple files simultaneously as
seen here.
SQL> select file_name from dba_data_files
2 where tablespace_name = DATA02;
FILE_NAME
-----------------------------------------------------
/u03/app/oracle/oradata/demo3/ora_data02_xotlhtwk.dbf
SQL> alter tablespace data02
2 add datafile size 150M, size 150M;
Tablespace altered.
SQL> select file_name, bytes from dba_data_files
2 where tablespace_name = DATA02;
FILE_NAME BYTES
----------------------------------------------------- ------------
/u03/app/oracle/oradata/demo3/ora_data02_xotlhtwk.dbf 262,144,000
/u03/app/oracle/oradata/demo3/ora_data02_xowlz7d0.dbf 157,286,400
/u03/app/oracle/oradata/demo3/ora_data02_xowlzc00.dbf 157,286,400
SQL>
As you can see, you added two data files with non-default sizes to an existing tablespace. This
adds to the flexibility of Oracle-managed files.
9i Server New Features
CHAPTER 19
19
9
I
S
E
R
V
E
R
N
E
W
F
E
A
T
U
R
E
S
497
Creating control files or redo logs is very similar to creating data files. The biggest difference
is that if DB_CREATE_ONLINE_LOG_DEST_n is not specified, a single copy will be placed
in DB_CREATE_FILE_DEST. Next, you can create a multiplexed online redo log group with
two members.
1. Specify the default locations for your redo log or control files.
SQL> alter system
2 set db_create_online_log_dest_1
3 = /u03/app/oracle/oradata/demo3;
System altered.
SQL> alter system
2 set db_create_online_log_dest_2
3 = /u04/app/oracle/oradata/demo3;
System altered.
SQL> show parameter db_create_online_log_dest
NAME TYPE VALUE
----------------------------- -------- -----------------------------
db_create_online_log_dest_1 string /u03/app/oracle/oradata/demo3
db_create_online_log_dest_2 string /u04/app/oracle/oradata/demo3
db_create_online_log_dest_3 string
db_create_online_log_dest_4 string
db_create_online_log_dest_5 string
SQL>
2. Identify the current online redo log groups.
SQL> select * from v$logfile
2 order by group#;
GROUP# STATUS TYPE MEMBER
------ ------- ------- ----------------------------------------
1 ONLINE /u01/app/oracle/oradata/demo3/redo01.log
2 ONLINE /u01/app/oracle/oradata/demo3/redo02.log
3 ONLINE /u01/app/oracle/oradata/demo3/redo03.log
SQL>
Clearly this is not a good layout. Every member is on one disk, which represents a single
point of failure and would result in I/O contention. Additionally, none of the members is
multiplexed. This is probably the result of a hasty database creation and in a real system,
you would likely fix these problems. For now, just add the new log group.
Oracle DBA on Unix and Linux
498
3. Create a new online redo log group.
SQL> alter database add logfile;
Database altered.
SQL>
4. Check to see what was created. In this case a new log group #4 was created. Because
you assigned two locations for DB_CREATE_ONLINE_LOG_DEST_n, you will have
two multiplexed members for the new group. Each file is uniquely named and is 100M
in size.
SQL> select * from v$logfile
2 order by group#;
GROUP# STATUS TYPE MEMBER
---------- ------- ------- ------------------------------------------------
1 ONLINE /u01/app/oracle/oradata/demo3/redo01.log
2 ONLINE /u01/app/oracle/oradata/demo3/redo02.log
3 ONLINE /u01/app/oracle/oradata/demo3/redo03.log
4 ONLINE
/u03/app/oracle/oradata/demo3/ora_4_xotmkyyz.log
4 ONLINE
/u04/app/oracle/oradata/demo3/ora_4_xotml1f5.log
SQL>
SQL> select group#, members, bytes
2 from v$log
3 order by group#;
GROUP# MEMBERS BYTES
---------- ---------- ------------
1 1 104,857,600
2 1 104,857,600
3 1 104,857,600
4 2 104,857,600
SQL>
As you can see there is now a new online redo log group with two members at 100M each.
Oracle-managed files do seem to simplify administration, but it comes at a cost. Spreading out
your disk I/O is more difficult with Oracle-managed files unless your logical volume is striped
and preferably mirrored. Even if that is the case, having all your files in one location is danger-
ous because one misplaced rm command can destroy everything.
9i Server New Features
CHAPTER 19
19
9
I
S
E
R
V
E
R
N
E
W
F
E
A
T
U
R
E
S
499
Another concern I have is dumbing down the DBAs role and promoting sloppy administra-
tion practices. Although DBAs with a solid background in previous releases of Oracle arent
likely to fall into this category, newer DBAs might fall into this trap. If they never learn to sep-
arate their files and rely on Oracle to specify all default parameters, they will never practice
solid database design principles. This might be sufficient on small test systems, but perfor-
mance will suffer greatly on larger systems. My advice is to use Oracle-managed files when
they make sense, but never forget the fundamentals of file management.
Using Dynamic Memory Parameters and Multiple
Block Sizes
One of the most exciting new features of Oracle 9i is the capability to adjust the SGA without
bouncing the database. Obviously this has large implications for systems with high uptime
requirements. The process of defining the size of the database buffer cache has also changed.
This section covers these changes.
Have you ever had a production database with lots of active users, only to find that you need to
increase a parameter like the shared pool to meet an unexpected demand? Its a hassle to have
everyone log off, increase the parameter to a higher number that you think is correct, bounce
the database, and then have the users log back on. If your increase was sufficient, the users suf-
fer a slight inconvenience and your image takes a small hit. If your increase was insufficient
and performance problems continue, the whole problem snowballs. Fortunately, Oracle 9i
allows you to change these parameters on the fly without having to bounce the instance.
The following parameters can now be changed using the ALTER SYSTEM command:
SHARED_POOL_SIZE Size of the shared pool.
LARGE_POOL_SIZE Size of the large pool.
DB_CACHE_SIZE New parameter in 9i. This is the size of the database buffer cache
of the default database block size.
DB_nK_CACHE_SIZE New parameter in 9i. This is the size of the optional caches
inside the database buffer cache dedicated to a specific database block size.
PROCESSES The number of processes on the system. This is an issue if the number
of users logged in (plus the background processes) exceeds the processes number.
Remember not to exceed the number of semaphores on your system when adjusting this
value.
You can decrease or increase these memory pool values, but only up to the size identified by
SGA_MAX_SIZE. You cannot increase a memory pool that will cause the SGA to exceed this
value. Also, this value is not dynamic, so you must bounce the database to increase it.
Oracle DBA on Unix and Linux
500
Here, you modify the shared pool size.
SQL> alter system
2 set shared_pool_size = 75M;
System altered.
If you attempt to increase the shared pool above the value set for SGA_MAX_SIZE, youll get
an error.
SQL> show parameter sga_max_size
NAME TYPE VALUE
--------------------- ----------- -------------
sga_max_size big integer 336356520
SQL> alter system
2 set shared_pool_size = 400M;
alter system
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-04033: Insufficient memory to grow pool
SQL>
Related to dynamic memory pool allocation is the practice of using multiple block sizes in the
database. Oracle 9i allows you to use up to four database block sizes for data files and segre-
gate these as separate caches within the database buffer cache. Within the buffer cache, you
can dynamically increase or decrease individual pools based on block size. The range of block
sizes available are 2K, 4K, 8K, 16K, and 32K.
When you create a 9i database, you still define a DB_BLOCK_SIZE, which will be your
default block size and will be the size used for the SYSTEM tablespace. For example, here
you are set to use 8K blocks.
SQL> show parameter db_block_size
NAME TYPE VALUE
------------------- ----------- ----------
db_block_size integer 8192
Now, for tuning purposes, you want a tablespace with a larger block size, you can specify that
within the CREATE TABLESPACE statement. However, before you do this, you must allocate
a pool within the database buffer cache to hold this different block size. Failure to create space
in buffer cache for the different block size will result in an ORA-29339 error when you try to
create the tablespace, so be sure to allocate the pool first.
9i Server New Features
CHAPTER 19
19
9
I
S
E
R
V
E
R
N
E
W
F
E
A
T
U
R
E
S
501
SQL> show parameter db_16k
NAME TYPE VALUE
------------------- ----------- ----------------
db_16k_cache_size big integer 0
SQL> alter system
2 set db_16k_cache_size = 16M;
System altered.
SQL> create tablespace data
2 datafile /u01/app/oracle/oradata/demo/data01.dbf
3 size 100M
4 blocksize 16K
5 default storage (initial 1M next 1M);
Tablespace created.
SQL>
You now have DATA tablespace using 16K blocks and a pool in the buffer cache reserved for
it. The database buffer cache now contains a pool for 16K blocks and a separate pool for the
default 8K blocks. Keep in mind that when you add new pools, they come in addition to the
buffer cache. By adding the new pool for 16K blocks, you do not implicitly increase or
decrease the size of the default (8K) pool.
There is a catch when creating separate pools for different block sizes. You cannot define a
pool with DB_nK_CACHE_SIZE for the default block size. In this example the default block
size was 8K, but you never defined a DB_8K_CACHE_SIZE value. This pool is sized by set-
ting the DB_CACHE_SIZE parameter, which is for the default block size. Oracle might ini-
tially let you assign a separate pool size for the default block size, but you will receive the
following error when you bounce the instance:
SQL> startup
ORA-00380: cannot specify db_8k_cache_size since 8K is the standard block size
SQL> !oerr ora 380
00380, 00000, cannot specify db_%sk_cache_size since %sK is the standard block
size
// *Cause: User specified the parameter db_nk_cache_size (where n is one of
// 2,4,8,16,32), while the standard block size for this database is
// equal to n Kbytes. This is illegal.
// *Action: Specify the standard block size cache using db_cache_size (DEFAULT
// pool) (and db_recycle_cache_size, db_keep_cache_size if additional
// buffer pools are required). Do NOT use the corresponding
// db_nk_cache_size parameter for the standard block size.
//
SQL>
Oracle DBA on Unix and Linux
502
Using multiple block sizes alters the way the buffer cache is sized. Prior to 9i, the formula for
the buffer cache was as follows:
buffer cache size = DB_BLOCK_SIZE * DB_BLOCK_BUFFERS
Under 9i, this formula changes. You no longer measure the buffer cache in terms of
DB_BLOCK_BUFFERS. Rather, you specify the size of the buffer cache for the default block
size using the parameter DB_CACHE_SIZE. In addition to that value, you also add each pool
for any non-default block sizes as well. The new equation is as follows:
buffer cache size = DB_CACHE_SIZE + DB_[2K...32k]_CACHE_SIZE
In this manner, you measure the buffer cache by the sum of each pool reserved for a specific
block size.
Using Undo Tablespaces
Oracle 9i also attempts to reduce maintenance duties involving rollback segments. If you want,
you can still use traditional tablespaces, whereby you create rollback segments and manage the
extents. However, 9i introduces a new type of undo tablespace that replaces traditional rollback
segments. In fact, Oracle documentation states that the traditional method of creating rollback
segments is being depreciated and strongly recommends using undo tablespaces.
Undo tablespaces perform the same core functions of traditional rollback segments. They pro-
vide the three Rs of rollback segments:
Rollback of SQL statements
Read consistency
Recovery in case of a crash
Unfortunately, at the time of this writing, Oracle has not explained exactly how undo tablespaces
work internally and in what way they differ internally from traditional rollback segments.
Basically, we know how to create them and that Oracle automatically manages them, but the exact
details havent been released. Based on the queries from DBA_ROLLBACK_SEGS, it looks like
they do use some type of segments, but how these differ from traditional rollback segments is still
unknown. Therefore, this section focuses on what they do rather than how they do it.
A 9i instance can run using either traditional rollback segments or the new undo tablespaces.
Changing between methods requires modifying the parameter UNDO_MANAGEMENT and
bouncing the instance. UNDO_MANAGMENT has the following settings:
Setting Description
UNDO_MANAGEMENT = Unset, defaults to rollback segments
UNDO_MANAGEMENT = MANUAL Use traditional rollback segments
UNDO_MANAGEMENT = AUTO Use new undo tablespaces
9i Server New Features
CHAPTER 19
19
9
I
S
E
R
V
E
R
N
E
W
F
E
A
T
U
R
E
S
503
If you do not set UNDO_MANAGEMENT or set it to MANUAL, you can use and manage
rollback segments as normal. However, if you decide to use undo tablespaces you must do the
following:
1. Decide whether you will create the tablespace at database creation or after the database
is created. Here, you create an undo tablespace after the database has been created. The
key difference between creating this undo tablespace versus any other type of tablespace
is the UNDO clause.
SQL> create undo tablespace auto_undo_tbs
2 datafile /u02/app/oracle/oradata/demo/auto_undo_tbs01.dbf
3 size 100M;
Tablespace created.
SQL>
Here, you now have an undo tablespace called AUTO_UNDO_TBS. If you let Oracle
create it for you at database creation, the default name is UNDOTBS.
2. Currently, you are set to use manual (traditional) rollback tablespaces. Because you can
have multiple tablespaces, you must identify which one you will use. Set the database to
use the undo tablespace AUTO_UNDO_TBS once you start using undo tablespaces.
SQL> alter system
2 set undo_tablespace = auto_undo_tbs
3 scope = spfile;
System altered.
SQL>
Once you have set the database to use undo tablespaces, you can change
UNDO_TABLEPSACE dynamically to switch between different tablespaces. New trans-
actions will take place in the tablespace specified, whereas existing transactions will con-
tinue in the previous tablespace. However, here you cant set UNDO_TABLESPACE
dynamically because the database is still in manual rollback mode. Therefore, you set it
in the SPFILE using the SCOPE clause to take effect next time you bounce the instance.
3. Next, you must set the database to use the auto undo tablespace method rather than the
manual method. This parameter is not dynamic so you must set it in the SPFILE so it
will take effect when you bounce the instance. Set the database to use AUTO undo.
SQL> alter system
2 set undo_management = auto
3 scope = spfile;
System altered.
SQL>
Oracle DBA on Unix and Linux
504
4. Bounce the database so the changes take effect.
SQL> shutdown;
...
SQL> startup
ORACLE instance started.
Total System Global Area 420242700 bytes
Fixed Size 279820 bytes
Variable Size 335544320 bytes
Database Buffers 83886080 bytes
Redo Buffers 532480 bytes
Database mounted.
Database opened.
SQL>
5. Verify the database is using the undo tablespace.
SQL> show parameter undo
NAME TYPE VALUE
------------------------ ----------- ---------------
undo_management string AUTO
undo_retention integer 900
undo_suppress_errors boolean FALSE
undo_tablespace string AUTO_UNDO_TBS
SQL> select segment_name, tablespace_name, status
2 from dba_rollback_segs
3 order by tablespace_name;
SEGMENT_NAME TABLESPACE_NAME STATUS
--------------- --------------- ----------------
_SYSSMU11$ AUTO_UNDO_TBS ONLINE
_SYSSMU12$ AUTO_UNDO_TBS ONLINE
_SYSSMU13$ AUTO_UNDO_TBS ONLINE
_SYSSMU15$ AUTO_UNDO_TBS ONLINE
_SYSSMU17$ AUTO_UNDO_TBS ONLINE
_SYSSMU19$ AUTO_UNDO_TBS ONLINE
_SYSSMU20$ AUTO_UNDO_TBS ONLINE
_SYSSMU18$ AUTO_UNDO_TBS ONLINE
_SYSSMU16$ AUTO_UNDO_TBS ONLINE
_SYSSMU14$ AUTO_UNDO_TBS ONLINE
SYSTEM SYSTEM ONLINE
11 rows selected.
SQL>
9i Server New Features
CHAPTER 19
19
9
I
S
E
R
V
E
R
N
E
W
F
E
A
T
U
R
E
S
505
As you can see, the database is using the undo tablespace. There are 10 segments automatically
created in this tablespace. You cannot manually add additional rollback segments to this table-
space. The parameter UNDO_SUPPRESS_ERRORS is currently set to FALSE, which means
Oracle will issue an error message if you attempt manually add rollback segments. If you set
UNDO_SUPPRESS_ERRORS to TRUE and attempt that operation, Oracle will not display an
error and it will appear that your command was successful, however the segments will not be
used.
One final parameter of interest relating to undo tablespaces is UNDO_RETENTION. This
parameter dictates how long, in seconds, the undo from a completed transaction is preserved in
the undo tablespace before the space is reused. By keeping this undo information available,
Oracle provides a read consistent before image of the data for other transactions to use. This
is necessary to prevent the ORA-01555 Snapshot Too Old error. The default value is 900 sec-
onds (15 minutes). To modify this value, issue the following:
SQL> alter system
2 set undo_retention = 1800;
System altered.
SQL>
In this case, you double the retention period to 1800 seconds (30 minutes). Oracle will now
attempt to retain committed undo data for 30 minutes in case a long running query needs it for
read-consistency. However, if Oracle needs space in the undo tablespace, this retained undo is
used. Therefore, you cannot entirely depend on the undo being available if you have an active
database or a small undo tablespace.
Undo retention also supports the new package DBMS_FLASHBACK. This package allows
you to view data as it existed previously, but only to the point that undo exists. If you plan on
using this package, you need to set UNDO_RETENTION accordingly.
Oracle has provided a new view to monitor undo tablespace usage. The new view is V$UNDO-
STAT. Previous views regarding rollback segments still exist in 9i.
Comprehensive Sample Schemas
Oracle 9i has a new and more complete set of optional sample schemas for testing. Many DBA
and developers originally learned Oracle on the SCOTT/TIGER account; this account still
exists. However, the SCOTT schema is limited in terms of objects, complex referential
integrity, and volume of data. Often trainers and instructors have to create their own schemas
so students can train on realistic accounts.
Oracle DBA on Unix and Linux
506
Oracle 9i now allows you to create several new testing/training schemas. These include refer-
ences to Human Resources (HR), Order Entry (OE), Product Media (PM), Sales History (SH),
and Shipping (QS), as shown next. Notice how each account (except for SCOTT) is expired
and locked by default.
SQL> select username, account_status from dba_users
2 where username in (SCOTT, HR, SH, PM, OE)
3 or username like QS%;
USERNAME ACCOUNT_STATUS
---------- --------------------
QS EXPIRED & LOCKED
QS_ADM EXPIRED & LOCKED
QS_CB EXPIRED & LOCKED
QS_CBADM EXPIRED & LOCKED
QS_CS EXPIRED & LOCKED
QS_ES EXPIRED & LOCKED
QS_OS EXPIRED & LOCKED
QS_WS EXPIRED & LOCKED
OE EXPIRED & LOCKED
PM EXPIRED & LOCKED
SH EXPIRED & LOCKED
HR EXPIRED & LOCKED
SCOTT OPEN
13 rows selected.
SQL>
These schemas are created when you create the demo database. You can also find scripts to
create each schema in $ORACLE_HOME/demo/schema.
Why make a big deal about training accounts? Arent there other 9i features that will impact
the DBA more on a daily basis? First of all, these training accounts represent most of the new
default users, so you need to know what they are. Second, because many DBAs will attempt to
learn 9i by experimenting, it is good to identify the Guinea pig accounts quickly. Finally,
these schemas contain objects that the average DBA might not have experience with, including
LOBs and queues. Fortunately, some schemas do have these types of more exotic objects.
SQL> select owner, object_type, count(*) from dba_objects
2 where owner = QS
3 group by owner, object_type;
OWNER OBJECT_TYPE COUNT(*)
-------------------- ------------------ ----------
QS INDEX 15
9i Server New Features
CHAPTER 19
19
9
I
S
E
R
V
E
R
N
E
W
F
E
A
T
U
R
E
S
507
QS LOB 1
QS QUEUE 6
QS SEQUENCE 2
QS TABLE 15
QS VIEW 5
6 rows selected.
SQL>
Use these schemas as you experiment with the 9i features. They will likely be used in Oracle
training classes and probably future books.
Miscellaneous Features and Changes
There are many more new features and changes that deserve mentioning. Use this list to iden-
tify features you should explore as you find the time.
Oracle Parallel Server (OPS) is now called Real Application Clusters (RAC). RAC is the
system of having a physical database on a shared disk array thats accessed simultane-
ously by multiple instances on separate nodes. This provides improved fault tolerance
and can be used to partition the application. This feature has been available since Oracle
7, but Oracle is pushing it more aggressively in 9i. Because of recent improvements, this
feature is now available on Linux systems.
Net8 is now referred to as Oracle Net.
The processes of locking and reorganizing database objects have been improved.
You can now create tablespaces with automatic segment management. This eliminates
the need to configure parameters such as FREELISTS and PCTUSED.
LogMiner via OEM now has a graphical interface.
DBMS_FLASHBACK allows you to view data as it existed previously in the database.
Standby databases are improved and are now called Data Guard.
There are many more features you should be familiar with; you should explore the ones listed
previously in greater detail. However, this should provide a good place to start. From here, you
can start experimenting with the new database. Next, you should consider taking a 9i New
Features class to better understand the new release and prepare for the OCP upgrade exam.
Summary
This chapter covered some of the most interesting new features of Oracle 9i. Although there
are many improvements that you should become familiar with, the focus of this chapter was on
the changes that you will notice immediately.
Oracle DBA on Unix and Linux
508
The chapter covered changes to the installation procedure and what to expect during installa-
tion. Next, it looked at changes to security and how to log in using the / as sysdba clause.
Server parameter files (SPFILE) were discussed, as this new feature attempts to replace text-
based init.ora files. Oracle-managed files were also discussed. Oracle is attempting to replace
DBA managed rollback segments with automatic undo tablespaces. The chapter therefore
showed how to create and implement this new type of rollback management. Next, it provided
an overview of the new training schemas that you can create. Finally, the chapter touched on
several miscellaneous changes and new features that you should be aware of. This information
should help you get started using 9i.
9i Server New Features
CHAPTER 19
19
9
I
S
E
R
V
E
R
N
E
W
F
E
A
T
U
R
E
S
509
CHAPTER
20
Growth of the DBA
ESSENTIALS
The key to advancing your career as a DBA is
continuing education.
Classes via Oracle University or third-party
schools are a great way to learn new skills.
Certification is very popular in IT and the best
way to prepare for Oracle certification is to
take Oracle University Classes.
Learning on your own is a critical skill for any
technical person because paid training is not
always available.
There are many lucrative opportunities for
experienced technical people if they are
willing to pursue them.
Growth of the DBA
People in the technology industry often ask How can I get ahead? This is often tied to How
can I make more money? These are fair questions because IT certainly is a business. However,
although many technology people are driven by money, most also do gain a level of personal
satisfaction by being good at what they do. Combined with the dynamic nature of IT, growing
and learning is more of a requirement than an option.
This chapter discusses some common characteristics Ive noticed among DBAs that I consider
successful. It surveys some of the ways DBAs can become better at what they do. If becoming
more skilled increases the salary base, even better. However, the main focus of this chapter is
growing from a technical standpoint.
Motivation
What drives a DBA or any technical person for that matter? The answers are as varied as the
people. However, I have noticed some traits common among successful DBAs and SAs that
Ive known.
They really like to understand how and why things work.
The desire to keep learning extends far beyond the classroom.
They want to make good money, but they know they wont get ultra-rich.
Obviously, motivating factors vary from person to person. However they reflect the nature of
the industry so people possessing these characteristics tend to do well as administrators. Notice
how learning and understanding the technology are central themes. Thats why this chapter
focuses on continuing education.
Continuing Your Education
It is one industry in which a specialized degree is not a requirement. Unlike most other profes-
sional occupations, there is no rule (official or implied) that says you must have a college
degree to practice. Some of the most successful people in IT dont even have college degrees.
In fact, the CEOs of several of the largest software companies are college dropouts. Could any-
one imagine this to be the case in the legal or medical professions?
What this means is that you should not feel inferior if you lack a traditional education in IT.
However, it does not mean that learning isnt important. In fact continuing education is often
the key to advancing yourself. It almost seems clich to say that change is constant, but in IT,
this really is true. Most DBAs realize this and want to stay on top. The following sections
outline some of the more common ways to stay abreast of the changes in this field.
Oracle DBA on Unix and Linux
512
Traditional Education
Many people leave school early to get into IT or have non-IT degrees. The point is they lack a
computer degree and feel that one would help them. Once someone is established as a DBA
with years of experience, the effort of earning a degree approaches the point of diminishing
returns. Regardless, some people do leave the industry for a full-time education or (more often)
take classes while working a full-time job.
You can get quality Oracle training at universities. In addition to the normal classes in pro-
gramming, design, and networking, many programs require some level of database training.
Initially, this is often taught in SQL using Microsoft Access. However, upper-level classes
often teach PL/SQL, data modeling, and database design. Some of the better institutions also
teach database administration.
Oracle University Classes
Oracle Corporation offers a very good series of instructor led classes. The scope of these
classes covers virtually everything related to databases. Very good training for SQL, PL/SQL,
Oracle Designer, Oracle Developer, Oracle Discoverer, Web and Internet products, data model-
ing, and database administration is available. These classes are continually being updated;
youll find complete course descriptions on the Oracle University (formerly Oracle Education)
Web page at http://oracle.com/education/.
The classes contain a mix of instructor-led lectures, discussions, and lab work. Most of the
classes take place in special training centers, located in almost every city. As a student you
have access to a workstation loaded with whatever software you are learning. You also are
issued a student kit containing the lecture and lab manuals. Pay particular attention to the
training manuals. These are very good manuals and will be useful once you return to your job.
Growth of the DBA
CHAPTER 20
20
G
R
O
W
T
H
O
F
T
H
E
D
B
A
513
Keep Your Manuals
If your company officially pays for training, the lab manuals are yours. If you later
leave your company I recommend taking them with you.
TIP
Each class takes between one and five days. However, most classes are four or five days. Most
of the standard classes, such as those related to SQL and database administration, are offered
regularly at any training center. However, if you want a class covering specialized products,
such as Parallel Server or iAS, you will probably have to travel to a major city. The only other
alternative is to have Oracle come to your organization and teach a class. If a large group of
students attend, Oracle will send an instructor to a site to teach a specific class.
Computer Based Training (CBT) CDs are also available. CBTs are interactive multimedia
presentations designed to teach a topic. Over the years these have improved dramatically from
plain text lectures and questions to fully graphical, audio training presentations. These CBTs
are a good way to get introductory information on a subject. However, the full-blown
instructor-led courses provide a more complete and in-depth education.
Third-Party Oracle Classes
Quality training is also available from third-party organizations. Particularly for those who just
want more training so they perform their jobs better, smaller schools are often better.
Depending on the company, youll pay about $600 for the lecture, a hands-on lab, and training
materials. Many private individuals opt for these types of classes to advance their IT careers
because they can be held at night. These types of classes are also popular with non-IT
individuals looking to see whether they want a change in careers.
One such company that conducts this type of training is Perpetual Technologies (http://
www.perptech.com/). They provide a full range of Oracle DBA, SQL, PL/SQL, and design
classes. Unlike many training organizations, they also place an emphasis on the Unix/Linux
operating system, which is very important. Classes in system administration and Korn shell
programming are also available (these are also valuable skills for an Oracle DBA to have).
Finally, training internships are also available so students can practice their skills in a work
environment.
Learning on Your Own
By far, most DBAs train themselves on the job when needing a new skill. Working DBAs
seldom have time to take a class for every new skill they need just to survive. Most DBAs
might get basic training on a new topic, such as performance tuning, and then use this basis to
teach themselves the on-the-job skill.
DBAs typically read Oracle manuals, published books, and Technet (http://
technet.oracle.com) and Metalink (http://metalink.oracle.com) Web pages to
gain new information. In fact, its not a bad idea to try to devote at least one hour a day reading
or practicing new skills. Too many systems suffer because administrators fail to understand or
implement their systems properly. Indeed, viable technical options to difficult problems wont
be considered if you dont know they exist. This means that management must understand that
computer administration is a technical position and their administrative staff needs the time to
maintain and expand their technical skills.
Oracle DBA on Unix and Linux
514
Growth of the DBA
CHAPTER 20
20
G
R
O
W
T
H
O
F
T
H
E
D
B
A
515
Goofing Off?
I once had a non-technical manager who frowned on his technical people reading
manuals or Oracle Web pages. He was convinced that if you were not typing rapidly
at the keyboard, you obviously were not working. After about one month of getting
dirty looks, the SA, a developer, and I let him know what we were doing and why.
We cited examples of how training and what we learned on our own had directly
benefited the company. After a while he started to understand the nature of an IT
shop, but the culture still wasnt conducive to professional development. Ultimately
we all left that company; the negative atmosphere we faced was a big reason for our
leaving.
Many DBAs build a test instance on a Unix or Linux box to practice what they have learned.
This is how most real learning occurs. If you cannot get a test box at work, get a Linux box at
home. Many people become DBAs because they are willing to work and learn on their own.
Obviously, you should not use production databases to test new skills. This is why a test box is
greatif you crash it or lose a database, nothing of value is lost.
Make notes to yourself and develop a collection of scripts you know and understand. There is
no reason to reinvent the wheel; when you do perform an interesting or complicated task, out-
line it. These notes are for yourself so the next time you are faced with a similar task you will
be better prepared. By creating these personal white papers you become more familiar with
what you did and increase your retention level. This makes you more valuable as an adminis-
trator because your experience stays with you. Also start creating a toolbox of scripts. These
can be shell or SQL scripts that perform virtually any task. DBAs who travel and consult often
rely on a common set of scripts they take with them. This improves efficiency and guarantees a
level of repeatability because the same scripts are used each time.
Emerging Technologies
After you have been trained and are working as a DBA, it is up to you to learn new technolo-
gies. In recent years, the roles of the Internet, LDAP, Java, and Web servers have become more
important to the DBA. There is a big push to Web-enable many preexisting systems, which of
course has an impact on the database. As Java supplements and replaces PL/SQL, you must
understand how, why, and where it is used. Oracle is continually phasing these technologies
into each new database release. The traditional tasks of the DBA are changing as the database
becomes more self-managed. However, the responsibilities of data protection and data avail-
ability will remain, its just they will be more Web-oriented. Progressive DBAs realized this
and are acting accordingly.
This section covered continuing education. A formal education in computers is helpful, but not
necessary. It is far more important what you do on the job than what you learned in school.
Knowing this, you can use structured training classes to learn new topics. Then, you can work
on your own to maintain and expand your skills. Once you have been trained, it is up to you
to stay on top of new technologies, because they will ultimately change the way you work.
Getting Certified
Certifications have been part of the IT industry for some time. Novell certifications have been
around for years; Microsoft has several certifications available; and now Cisco is expanding.
Oracle is no exception with its Oracle Certified Professional (OCP) program.
Available Certification Tracks
Until just recently, there were three categories of OCP: Database Operator, Database
Administrator, and Application Developer.
Database Operator is the simplest certification. It has one test focused on basic database
principles and OEM. Some people consider it the equivalent of a Junior DBA test.
Database Administrator is the main certification most people attempt. It has five tests covering
the following areas:
Introduction to SQL and PL/SQL
Database administration
Network administration
Backup and recovery
Performance tuning
By no mere accident, these correspond exactly to the classes offered by Oracle University.
Application Developer certifies that you can be a developer. This track is being modified for
the new Developer 6i toolset. The exact number of tests depends on the track you are taking.
Generally, it is composed of the following tests:
Introduction to SQL and PL/SQL
PL/SQL
Forms 1
Forms 2
As of this writing Oracle has expanded the program to include certifications for Java Developer
and Financial Applications. The Java certification is one or two exams depending on the level
Oracle DBA on Unix and Linux
516
of certification you want to obtain. The Financial Applications certification requires three tests,
but it looks like this certification is being retired.
Growth of the DBA
CHAPTER 20
20
G
R
O
W
T
H
O
F
T
H
E
D
B
A
517
The OCP Program Is Evolving
New OCP tracks are added regularly and the requirements can change. Be sure to
check the Oracle Certification (http://www.oracle.com/education/certification/)
page to view the latest requirements.
NOTE
The Introduction to SQL and PL/SQL test is the same for both the DBA and Developer
categories. Each test is slated towards a version of the appropriate Oracle productwhether it
be Oracle 7, Oracle 8, or Oracle 8i DBA. Rather than having to take all the tests of a specific
release, as it used to be, you now can mix the versions of the tests to a certain extent. You can
also take upgrade tests in order to go from one version to the next. For example, if you are an
Oracle 8-certified DBA, you do not have to take the same five tests for 8i certification. Simply
pass the Oracle 8i upgrade test and you will be certified for Oracle 8 and Oracle 8i.
Preparation
These tests do require preparation; most people cannot pass the exams without preparing.
These tests ask very specific, detailed questions about Oracle. Because these are multiple-
choice questions, there is no way to give a bogus essay answer and get partial credit. You can
normally eliminate one response, but you are still left with three or four other possible
solutions. You really need to know the material.
Another reason these tests are challenging is that they deal with areas you might not have any
hands-on experience with. You might be very successful using shell scripts to do many of the
tasks that Oracle has separate products to do also. However, the test focuses on the Oracle
products, not your scripts. You have to be familiar with each Oracle product whether you use it
or not.
So how do you prepare for these exams? By far the best way to prepare is to take the Oracle
University courses. I have found that if you take these classes, youll have everything you need
to pass the test. Just read the manuals from the class from cover to cover. Make sure you really
know this material; if so, youll do fine on the exam.
What about many of the third-party courses available? Personally speaking, I would skip them
and go straight to Oracle University. Why go to a third-party group focusing solely on a test
when you can get a good technical education plus the testing material from Oracle? One
characteristic I especially like about Oracle University classes is that they focus on teaching the
topic, not only on passing the test. In fact, most of the instructors Ive had barely even mention
the OCP and none structure the class around taking the test. However, by taking the class and
knowing the manual, youll be more than ready to take the test. This is a better way to prepare
yourself for employment as a DBA. It is also much more respected in the industry.
There are also many books on the market that claim to prepare you for the tests. Many times,
these books dont reflect the tests very well. There might be some exceptions out there, but
none that I have seen. You can get some good information in terms of learning more about
Oracle, but I think they pale in comparison to the real Oracle courses.
The only other source to consider is the official Oracle documentation set. As a DBA, you
should be familiar with these manuals already. If you cannot make it to Oracle University
courses, the documentationfree online from Oracle Technology Networkshould suffice.
The course material is tied closely to the documentation set. The only problem with the
documentation set is that you risk getting information overload, but that will probably benefit
you in the long term.
In terms of evaluating your readiness, there are practice tests available. Oracle offers short
sample tests that are accessed online. These are worthwhile and are a good predictor of
success. From my experience if you have studied and can pass the practice test with a 90% or
more, its time to consider taking the real test. Oracle also offers tests with more questions. I
have not used these, but people I know who have are satisfied with them.
Taking the Test
Each test costs $125 whether you pass or fail. If you fail and want to retake the test it costs
another $125. Many companies will reimburse their employees who pass the test, so you might
want to check with your employer. If you have Oracle training credits and dont have enough
for a class or CBT CD, sometimes you can use them to obtain testing vouchers.
You have to find a location that hosts the tests and then register for a day and time. I recom-
mend registering at least one week in advance to make sure space is available. Registration
links and phone numbers are available online from the Oracle certification Web site.
Most of the tests are between 40 and 60 questions and you have 90 minutes to complete them.
Expect between one and six questions per subject area. Although these tests are computer-
driven, they are not adaptive. That means the test will not adjust the difficulty of the questions
based on your strengths and weaknesses. At the end of the test, you will immediately receive
your score, whether you passed or failed, and the subtotals of each subject area.
Oracle DBA on Unix and Linux
518
Benefits of Certification
Certification adds a nice touch to any resume. Many companies give bonuses or raises for cer-
tification. Consultants sometimes have a higher billing rate when they are certified. However,
most IT people consider it no substitute for real experience and I have to agree with that. Also,
be aware of the fact that preparing for certification exams is a moneymaking opportunity for
many people. Whether they are selling books or teaching the Boot Camp training classes,
they are doing it for a profit. So keep that in mind before spending thousands of dollars to
prepare for one test.
Networking with Other DBAs
Administration of any type is often as much a human issue as it is a technical one. Many of the
ways administrators grow professionally is by working with and learning from other adminis-
trators. Doing so can meet two objectivesit can help you become more technically skilled
and find a better position.
Technical Benefits
One of the best ways to become more knowledgeable about Oracle is to talk with other DBAs.
No one person can stay abreast of every development regarding the database industry. It is by
talking with other DBAs (or SAs for that matter) that you can learn how technology is imple-
mented, what works well, and what doesnt work. This type of information usually isnt in a
manual. By learning from other DBAs, you can avoid reinventing the wheel to a certain
extent.
I usually try to work with as many DBAs as I can. By seeing what they are doing, getting their
insights, and sometimes swapping scripts, both people become a little wiser. Most administra-
tors Ive worked with are more than willing to impart some of their knowledge, but you should
be willing to return the favor at some point. Ive also never had a problem teaching more junior
DBAs either. It really is true that one of the best ways to learn a topic is to teach it. In these
cases, both parties benefit.
Try to meet as many IT people as possible outside your organization or company. This is how
you learn what other shops are doing. Learn how and why they have implemented a certain
database, operation system, and programming language and consider the challenges they have
faced. By doing this, you learn which technologies are doing well and which are not. This is
helpful later, when you are called to evaluate a new platform, database, or language.
Classes, Oracle conventions, and user group meetings are good places to meet other DBAs and
exchange ideas. I have yet to be at a class that didnt start off with a round of introductions.
Because you will likely be in training for a few days, you have plenty of time to meet other
Growth of the DBA
CHAPTER 20
20
G
R
O
W
T
H
O
F
T
H
E
D
B
A
519
DBAs who are often working locally and are usually facing similar issues. Conventions such as
Oracles Open World are also good to attend so you can meet other technical people, as well as
learn about newer technologies. Finally, user group conventions are good places to meet local
DBAs and learn what they are doing.
Professional Benefits
Another reason to network with other IT people, particularly DBAs and SAs, is to build your
potential job contacts. A high percentage of technology people owe their positions to someone
they know. Networking is how people find better jobs, especially among established IT people.
The biggest reasons for this phenomenon are as follows:
Word gets out about job openings before it ever reaches the want ads.
More accurate and honest depictions of the job are available.
You already have a reference from someone in that shop.
The middleman is cut out, which might result in higher salaries.
Usually, when a shop has a need for an administrator, the other (often overworked) administra-
tors are the first to know about it. Frequently, you will hear something like Were not actively
looking for someone yet, but my boss is thinking about hiring someone. At this early stage,
you have a leg up if you can get an interview; they often are prone to hire you because they
dont want to deal with a formal hiring process.
By knowing people at a shop, youll get an idea how it is to work there. Even before a job
opening is available, you can usually identify the technology used and how people are treated
at that shop. Whether or not its fair, some shops get a good reputation, whereas others are
labeled sweatshops. These reputations carry a great deal of weight; be sure to find out how the
company is labeled.
If someone you know is setting you up with an interview, its pretty safe to assume they think
you can do the job. Acting as a personal reference for someone can be risky if they dont turn
out as promised, but it is a very persuasive way to get someone hired.
Do not lose sight in a market in which IT people are in demand; there is money to be made by
meeting that demand. Finding and hiring any qualified IT person is expensive, time-consuming,
and often frustrating for employers. Currently, Oracle DBAs, Unix SAs, and Java programmers
are at the top of the list in terms of being hard to find and retain.
As a result, many companies turn to employment agencies, or headhunters, as they are usu-
ally called, to fill IT positions. This costs the company money and time because they have to
pay the headhunter for you plus they still have to perform interviews. On the other hand, you
also pay indirectly because a percentage of your salary goes to pay the headhunter. This is
Oracle DBA on Unix and Linux
520
reflected in a lower starting salary. Obviously, if you can directly contact the hiring company
before a headhunter becomes involved, both you and the employer come out on top.
Growth of the DBA
CHAPTER 20
20
G
R
O
W
T
H
O
F
T
H
E
D
B
A
521
Referral Incentives
Be aware that many companies have incentive programs for employees who help hire
other employees. IT people are highly sought after and they can bring a bonus of
several thousand dollars. This does not necessarily mean the job is bad, but just keep
in mind that your friend might also benefit from your employment there.
NOTE
Consulting/Contracting versus Salaried Employee
Many DBAs start off initially as employees at established companies. Many companies prefer
to train DBAs internally because its sometimes cheaper than hiring someone off the street.
Plus, the DBA they get in the end already knows their systems. This makes sense and can work
if both parties are truly committed to the program. However, once they are trained and have a
few months or years of experience, many DBAs look for higher-paying jobs.
Many DBAs are then faced with a decision of working for another company on salary or
consulting. This is a big issue that many people do not consider until they are faced with the
situation. Some of the pros and cons of consulting follow.
Pros:
Potentially much higher pay.
Exposure to many different shops and environments.
Great resume-building material.
Travel to different states and even countries.
Ability to sometimes avoid involvement in company politics.
Cons:
Potentially unstable employment.
Travel for extended periods of time.
Long hours and aggressive project deadlines.
Potential to work in hostile client environments.
Pay and benefits might be less than expected.
Obviously, these are generalities and might not apply to everyone. However, with the majority
of consultants Ive worked with and from what Ive experienced, these are common pros and
cons.
Most of the consultants I know are glad they are or have consulted. They usually cite the vari-
ety of interesting work and higher pay as top reasons why they consult. The biggest complaint
Ive heard, particularly by those with families, is the travel. I know of consultants who go on
projects out of state lasting over a year. Keep this in mind before signing up as a consultant.
Learning Systems Administration and Architecture
After a few years as a DBA, some people branch out into other related IT fields. One of these
is system administration. The duties are similar in terms of being responsible for complex
systems. Plus the knowledge of Unix allows an easier transfer of skills. In smaller shops it is
not uncommon for one person to be both the DBA and SA.
This transition goes both ways. Some of the best DBAs Ive worked with have their roots in
system administration. Needless to say, anyone who can claim a position as both the DBA and
SA will command a very high salary.
Approach becoming an SA the same way you did to becoming a DBA. Take classes if possi-
ble, study and practice both on the job and at home, and work with the SAs on the job. Ideally,
the DBA should be able to serve as a backup SA anyway, which can be good justification for
learning the job.
Tied closely with administration is designing system architectures. After a few years of experi-
ence implementing, managing, and tuning systems, many administrators have a feel for what
works and what doesnt. These skills tend to come more with experience than with classroom
training. The key is understanding the different pieces of a system and how they work together.
Once this and the project-management skills are obtained, the administrator can demand a high
salary in many different organizations.
Learning Java
Historically people usually grow from being developers (especially PL/SQL developers) into
the DBA position. So why might you go back to development? Actually, there are a couple of
reasons many people find this path appealing.
Some people do not like the stresses of an administrator position. It usually requires long hours
and can be stressful. This can burn some people out so they go back to being a developer.
Oracle DBA on Unix and Linux
522
Another reason, perhaps even more common, is the money. A good Java programmer in the
right job can make more than a DBA. Plus Java is new and exciting. Therefore it can draw
many people away from DBA positions. Also, as Oracle and Java become more entwined the
transition process becomes easier.
Regardless of whether you want to learn Java as a language, you need to know how it is used
in your system. You dont have to be a serious Java coder to understand where and why it is
deployed. Understanding the role of Java inside the database and how a Web server operates
are important in todays market. In the future, Java will likely be a mandatory skill for the
Oracle DBA.
Summary
This chapter looked at how a DBA can grow professionally and technically. Learning the tech-
nology involved is tough enough. Once you have learned those skills, you have to keep them
sharp and keep adding new skills. This is done via classes, manuals, books, Web sites, working
on your own, and learning with others. It is truly a never-ending task.
Fortunately those who work hard to learn the technology, get certified, and network with others
tend to do well financially. Oracle DBAs are at the top of list for the most sought-after IT staff.
Whether you are a consultant or a salaried employee, you should expect to do well, if not,
there are plenty of other jobs available. Most DBAs can also branch into other areas, including
system administration, system design, or Java development.
Growth of the DBA
CHAPTER 20
20
G
R
O
W
T
H
O
F
T
H
E
D
B
A
523
APPENDI X
A
Basic Unix Commands
This appendix identifies and describes Unix commands commonly used by the DBA. It does
not attempt to provide every possible option, but it does display commands in a useful context.
bdfbdf displays all the filesystems and the amount of disk space on an HP-UX server. Use
this command to determine what filesystems you have and how much disk space is available
on each.
catcat filename displays to the screen the contents of an entire file. The output of the file
will scroll past the screen if the file is large. Pipe this file with more to display the contents one
screen at a time (for example, cat long_file.txt | more). Also use with /dev/null to erase
the contents of log files (for example, cat /dev/null > alertdemo.log).
cdcd directory_name moves you to the specified directory. Issuing cd without a directory
specified takes you to the $HOME directory. The directory can be specified with an absolute
path (for example, cd /home/mikew/scripts) or with a relative path (for example, cd
scripts). To move up one directory, use cd ... and to move to a users home directory, use
cd ~username (for example, cd ~mikew).
chgrpchgrp newgroup filename changes the group for the file specified. For example,
chgrp dba test.sql changes the group of test.sql to dba.
chmodchmod 644 filename changes the permissions of the specified file. The first digit
represents permissions for the owner, the second digit represents permissions for members of
that group, and the final digit represents permissions for everyone else. Read permission = 4;
write permission = 2; and execute permission = 1. Therefore, in this case, the owner has read
and write permissions (4+2=6), members of the group have read permission (4), and everyone
else has read permission (4).
chownchown newowner filename changes the owner of the specified file. For example,
chown oracle test.sql changes the owner of test.sql to oracle.
clearclear clears the screen of all previous output and moves the prompt to the top of the
screen.
compresscompress filename compresses the file to approximately one third its original size
and adds a .Z extension to indicate it is compressed. You can expect DMP files to have a
higher compression ratio of approximately one fifth the original size.
cpcp filename destination copies the file to the specified destination. A copy of the file
will exist at both the source and the destination. You can use a -p option to preserve the
permissions and modification date of the file when you copy it to the new location.
crontabcrontab filename loads the file into a users crontab to be executed by cron.
crontab e allows you to edit the crontab directly and crontab l lists the users crontab.
The safest method is to use crontab l > oracle.crontab, edit this file to include your
changes, and then load it back into cron with crontab oracle.crontab.
Oracle DBA on Unix and Linux
526
datedate shows the current day, date, and time.
dfdf displays your filesystems and the amount of space available on each. It is common to
use this with the k option to display results in kilobytes (for example, df k).
diffdiff filename1 filename2 compares two filenames and displays the differences
between the two.
dmesgdmesg shows all the messages generated from the operating system boot. This is useful
when youre looking for problems with the server or when youre trying to find out more about
the system. It is common to pipe this command through more (for example, dmesg | more).
dudu -s * shows disk usage for every subdirectory below your current location. This is use-
ful for finding directories with large files to be purged.
echoecho text string or echo $ENV_VARIABLE echoes the contents of the text string or
the value of a variable to the screen. Echoing strings is common in shell scripts. Echoing
variables is useful for verifying your environment (for example, echo $ORACLE_SID or echo
$ORACLE_HOME).
envenv displays all your environment variables. It is common to pipe the output through
more (for example, env | more) so that it is more readable.
exitexit logs the current user off the system.
findfind / -name filename searches for the file in every directory starting at / and
working through each subdirectory. Any location can be given instead of /, with the current
location (.) being a common option. When the command is executed and the search attempts
to view a directory you dont have permissions for, you will receive an error but the search will
continue. To suppress these error messages add 2>/dev/null to the end of the command as
follows: find . -name login.sql 2>/dev/null.
ftpftp hostname opens an FTP (File Transfer Protocol) connect to the host or IP address
specified. You are prompted for the remote machines username and password. Use help to
identify more options and status to see your current parameters.
fuserfuser filename shows the processes accessing a specified file.
glanceglance invokes the HP-UX system-monitoring tool. Use this to check system
performance on HP servers.
grepgrep i string filename searches the file for occurrences of the string, with the i
making the search case-insensitive. For example, grep i ORA-00600 alertdemo.log
searches the alert log for any ORA-600 errors and displays them to the screen. This can also be
used with ps -ef to find Oracle background processes (for example, ps ef | grep ora).
groupsgroups displays all the groups you are a member of.
Basic Unix Commands
APPENDIX A
A
B
A
S
I
C
U
N
I
X
C
O
M
M
A
N
D
S
527
gunzipgunzip filename unzips/uncompresses a file compressed with gzip.
gzipgzip filename will compress a file and add a .gz extension. This is sometimes used
instead of compress.
headhead n filename displays the first n lines of a file.
idid shows your group ID, username, primary group, and other groups to which you belong.
Use this command to verify you are the oracle user and you are in group dba.
iostatiostat is a utility that monitors I/O activity.
ipcrmipcrm removes shared memory segments and semaphores after an instance crash. Use
ipcs to identify the exact segments and semaphores to remove. Use ipcrm m shared_mem-
ory_id to remove shared memory segments and ipcrm s semaphore_id to remove a
semaphore. On Linux, use ipcrm shm shared_memory_id and ipcrm sem semaphore_id.
ipcsipcs displays shared memory and semaphores. Use this command to identify how many
pieces the SGA is in. Also use it to identify share memory segments and semaphores to be
removed after an instance crash.
killkill PID terminates the process with the PID. PID is Process ID and is obtained from
ps ef. If this doesnt kill the process, use kill 9 PID.
lastlast username shows the last time the specified user logged in.
lnln s /location_of_actual_file/filename /where_file_should_appear creates a
soft link for a file. This makes it seem as if the file appears in one location even though it really
exists in another location. For example, ln s $ORACLE_BASE/admin/demo/pfile/
initdemo.ora $ORACLE_HOME/dbs/initdemo.ora creates a link so the initdemo.ora file
appears to exist in the $ORACLE_HOME/dbs directory. The s makes this a soft link so that a
ls l will denote the file is a link and provide its real location. Removing the link will not
delete the physical file. Removing the actual file will leave the link intact, but it will be invalid.
lsls altr lists all the files in a directory, their permissions, owners, groups, size in bytes,
and time of last modification in order of oldest to most recently modified. It also identifies
directories (d), soft links (l), and pipes (p).
mailxmailx [email protected] prepares to send an email to the user at the email
address specified (for example, joe@acme_test.com). Next, you will be prompted for a subject
and then need to press Enter. Next you write your message. To send the message, press CTRL-
D. This is handy when you cannot get to your normal email in order to send a quick message.
Oracle DBA on Unix and Linux
528
manman command displays the manual page of any Unix command.
mkdirmkdir directory_name creates the specified directory.
moremore filename displays the contents of a file, one screen at a time. To keep scrolling
one screen at a time, press the spacebar. To advance one line at a time, press Enter. To stop
viewing a file, press CTRL-C.
mvmv filename_destination moves a file from one location to another. The file can also be
renamed in the process.
nohupnohup command specifies the no-hangup option for a command. Basically, if you issue
a long-running command or start a program and your session terminates before the command
or program ends, your command/program will still continue processing until completion. This
is commonly used with the ampersand (&) to put the command/program in the background so
you can continue to issue more commands from the same prompt. For example, nohup exp
parfile=exp_customer.par & starts an Oracle export using a parfile and places the job in the
background. You can then log out of the machine, yet the export will continue to run.
pagepage filename displays the contents of a file one screen at a time. To keep scrolling
one screen at a time, press the spacebar. To advance one line at a time, press Enter. To stop
viewing a file, press CTRL-C.
passwdpasswd enables you to change your password.
pinepine invokes a Unix-based email system.
psps ef shows all the Unix processes running. The option elf shows additional
information. This is commonly used with grep to find Oracle background processes
(for example, ps ef | grep ora).
rmrm filename removes a specified file. Use extreme caution when using rm with the *
wildcard because it is very easy to accidentally delete files you did not intend to delete.
rmdirrmdir directoryname removes a specified directory if it is empty. If the directory
contains files, use rm r directoryname to remove it and any subdirectories and files.
rpmrpm Uvh packagename.rpm uses RedHat Package Manager to install packagename.rpm
on a Linux machine. To see which packages you have installed, issue rpm qa.
sarsar is System Activity Report and can show a variety of operating system statistics. This
is frequently used for monitoring the server and it has several options.
scriptscript filename.txt creates a log of everything that is displayed to the screen until
you press CTRL-D. This is similar to spooling output in SQL*Plus. This is good to run when
applying patches.
Basic Unix Commands
APPENDIX A
A
B
A
S
I
C
U
N
I
X
C
O
M
M
A
N
D
S
529
susu username prompts you for a password to log in as the specified user. The hyphen
indicates that the users .profile will be executed and new environment variables will be
established when you log in. If the hyphen is not specified, the user will inherit the environ-
ment of the previous user. There is normally not a good reason to log in as a user without set-
ting up the proper environment, so generally you should use the hyphen.
tailtail n filename displays the last n lines of a file. To continually see the end of a log
file thats being added to, use tail f filename; this will keep displaying the end of the file
until you press CTRL-C. The f option is commonly used to monitor export or import logs,
whereas the n option is often used for alert logs.
talktalk username tty requests an online chat session with the user with a specific tty.
You can obtain this information using the who command. This is a handy means of communi-
cating with another user logged in to the same server. The communication will continue until
you quit with a CTRL-C. To refresh the screen display, use CTRL-L.
tartar cvf -`find . print ` > filename.tar compresses a directory, its subdirecto-
ries, and all the files into one file called filename.tar. This TAR file can be compressed and
transported via cp or ftp to a different location. Once it has been moved to its location, the
directory, its subdirectories, and all the files can be recreated by issuing tar xvf
filename.tar in its new location. This is a common way to move directory trees from one
server to another. Oracle patches also are often in TAR files.
toptop invokes a Unix server monitoring utility. This is a handy utility to have as it gives a
good snapshot of system performance and load.
touchtouch filename attempts to create an empty file in your current directory. Use this to
determine whether you have write permissions on a directory. For example, after the oradata
directory has been created, touch a file there as the oracle user to confirm it has the necessary
permissions.
trusstruss -p PID traces all the system calls for a given process ID. This command is
handy when you have to see exactly what a process is doing at the Unix level.
umaskumask 022 sets the default file permission mask to 644 if the default was 666.
unameuname a displays the operating system type and version, the name of the server, and
the current time. This provides basic information about the server you are using.
uncompressuncompress filename.Z uncompresses the file. Make sure you have enough
space on your filesystem for the file once it is uncompressed.
uptimeuptime displays the current time, how long the server has been running since the last
reboot, the number of users on the server, and the load average for the present time, five min-
utes ago, and 15 minutes ago.
Oracle DBA on Unix and Linux
530
vmstatvmstat displays a variety of Unix server monitoring statistics. There are several
options with this command and it is very useful.
wallwall < enter your message> <CTRL-D> echoes your message to every user on the
server. Use this for announcements such as The database will be shutdown in five
minutes. Log off now! Once you type wall, your cursor will jump down a line. There, you
type your message. To end your message and send it to everyone, type CTRL-D.
wcwc l filename gives a word count of the number of lines in a file. Use it in conjunction
with grep to count the number of lines found. For example, to see the number of Oracle errors
in your alert log, issue this command grep -i ORA- | wc l. This will show you the number
of lines with ORA- in them.
whichwhich command determines which executable you are going to use when you issue
command. For example, which sqlplus might show you
/u01/app/oracle/product/8.1.6/bin/sqlplus.
whowho shows you the users logged on the system, their tty, and the time they logged in.
Basic Unix Commands
APPENDIX A
A
B
A
S
I
C
U
N
I
X
C
O
M
M
A
N
D
S
531
APPENDI X
B
vi Editor
The vi editor is the most commonly used editor on Unix and Linux machines. Although it is a
little tricky to learn initially, you need to know how to use vi because it is the standard editor
on most machines. This appendix lists the common vi commands. However, the best way to
learn vi is to practice editing files. Learning vi is a lot like learning how to type; it is difficult
and awkward at first, but after a while, it becomes instinctive.
Follow these general rules when using vi:
Do not edit with the CAPS LOCK key on.
You can precede most commands by a number to indicate the number of times to execute
a command. For example, 5dd erases five lines.
vi has two modes: Insert Command mode.
When youre typing text, you are in Insert mode. Before you can issue any commands or
move the cursor, you must enter Command mode by pressing the ESC key.
To leave the Command mode and begin inserting text, you must either press i for Insert
or a for Append. Insert allows you to enter text before your cursor location, whereas
Append allows you to enter text after your cursor location.
To invoke vi to create or edit a particular file, type the following:
vi filename
Cursor-Movement Commands
To move Press
Left h
Right l
Up k
Down j
To the end of file G
To line n nG
Entering Text
To perform this Press
Insert i
Append a
Oracle DBA on Unix and Linux
534
Editing Text
To perform this Press
Delete one character x
Delete one line dd
Copy n lines n yy
Paste p
Saving and Exiting
To perform this Type
Save a current file :w <ENTER>
Save with a different filename :w filename <ENTER>
Save and exit :wq <ENTER> or ZZ
Exit without save :q! <ENTER>
Miscellaneous Commands
To do this Type
Display current line number CTRL-G
Refresh the screen CTRL-L
Read an outside file into the document :r /path_to_file/filename <ENTER>
Search /search_string <ENTER>
Global search and replace :1,$s/search_string/
replacement_string/g
(The above reads, start at line 1 (:1),
search for search_string, replace it with
replacement_string, and do so globally
(g).)
Execute a Unix command from within the editor :! command <ENTER>
Repeat a command .
Undo a command u
vi Editor
APPENDIX B
B
V
I
E
D
I
T
O
R
535
APPENDI X
C
Scripts
Scripts
The following scripts are some of the ones that Ive used over the years. None of them is
terribly complex so you should be able to understand them without much problem. Most are
really just canned queries that save typing, therefore you will not find them nicely commented
or documented. Ive found that many of the ad hoc queries I make I end up needing again, so
why not put them in a script? I usually put them on a floppy, take them with me on-site, and
add to them as I go.
Feel free to modify these as you need, but make sure you understand them before using them.
Remember, never blindly run anyone elses script before you have had a chance to read them
yourself. Truly complex scripts are available via other sources and I recommend using those
when possible instead of reinventing the wheel and writing your own. However, I wouldnt
trust the integrity of my system to some mysterious script I picked up on the Internet or
anywhere else.
Above all, I hope these scripts prove to be useful and help spawn ideas for your own scripts.
login.sql
REM This file provides custom display settings with SQL*Plus.
REM Have it in the directory from where you start SQL*Plus.
set pagesize 25
col member format a60
col file_name format a60
col tablespace_name format a20
col owner format a15
col object_name format a30
col initial_extent format 999,999,999
col next_extent format 999,999,999
col bytes format 999,999,999,999
col sum(bytes) format 999,999,999,999
select name, created, log_mode from v$database;
show user;
show_session_short.sql
select s.username, osuser, status, server as Connect Type,
to_char(logon_time,fmHH:MI:SS AM) as Logon Time,
sid, s.serial#, p.spid as UNIX Proc
from v$session s, v$process p
where s.paddr = p.addr
and s.username is not null
order by status, s.username, s.program, logon_time
/
Oracle DBA on Unix and Linux
538
show_dba_rollback_segs.sql
select segment_name, owner, tablespace_name, initial_extent,
next_extent, min_extents, max_extents,
status, instance_num from dba_rollback_segs
/
show_filestat.sql
set linesize 180
col tablespace_name format a20
col file_name format a52
col PHYRDS format 999,999,999
col PHYWRTS format 999,999
col PHYBLKRD format 999,999,999
col PHYBLKWRT format 999,999
spool show_filestat.lst
select tablespace_name, file_name, PHYRDS, PHYWRTS, PHYBLKRD, PHYBLKWRT
from v$filestat, dba_data_files
where file_id = file#
order by PHYRDS, PHYWRTS desc
/
spool off
show_index_depth.sql
REM B*Tree indexes should not go past 4 levels, performance suffers.
REM Rebuild anything greater than 3, but remember it will lock the table from
dml
REM unless you are using 8i online rebuilds (which take space instead).
REM Also remember to run analyze before running this
REM
col owner format a15
accept user_name1 prompt Enter index owner to examine:
select owner, table_name, index_name, blevel, last_analyzed from dba_indexes
where upper(owner) = upper(&user_name1)
order by blevel
/
set heading off
select Note: blevel should not be greater than 3 from dual
/
set heading on
show_redo_logs.sql
set linesize 180
col member format a50
col bytes format 999,999,999,999
Scripts
APPENDIX C
C
S
C
R
I
P
T
S
539
select v$log.group#, members, member, v$log.status, bytes, archived
from v$log, v$logfile
where v$log.group# = v$logfile.group#;
show_rollback_contention.sql
set linesize 180
col name format a15
select a.name, b.extents, b.rssize, b.xacts Active X-actions, b.waits,
b.gets,
optsize, status
from v$rollname a, v$rollstat b
where a.usn = b.usn
/
show_segments.sql
REM Note the hard coded owner, you will have to fix this for your system
set linesize 180
col tablespace_name format a16
col segment_name format a30
col segment_type format a6
col initial_extent format 9,999,999,999
col next_extent format 9,999,999,999
col bytes format 99,999,999,999
spool verify_import-2000.lst
select tablespace_name, segment_name, segment_type, initial_extent,
next_extent, bytes, extents
from dba_segments
where owner = CUSTOMER
order by tablespace_name, segment_type, segment_name
/
spool off
show_tablespaces.sql
set linesize 132
set pagesize 65
set heading off
set feedback off
set verify off
col tablespace_name format a30
col file_name format a60
col bytes format 999,999,999,999,999
col status format a15
spool tablespaces.lst
select to_char(sysdate,MM-DD-YYYY HH:MM)from dual;
set heading on
select tablespace_name, file_name, bytes, status from dba_data_files
Oracle DBA on Unix and Linux
540
order by tablespace_name, file_name
/
spool off
compare_users.sql
REM Get two database users and show their roles.
REM
accept user_1 prompt Enter the first user:
accept user_2 prompt Enter the second:
select grantee, granted_role from dba_role_privs where
grantee in (upper(&user_1),upper(&user_2))
order by granted_role, grantee
/
create_analyze_script.sql
REM Note the hard coded owner. You need to modify this or use Dynamic SQL.
set heading off
set feedback off
set linesize 180
set pagesize 32767
spool analyze_customer_tables.sql
select analyze table CUSTOMER. || table_name || estimate statistics;
from dba_tables
where owner = CUSTOMER
/
spool off
set heading on
set feedback on
tail-alert
# The following is a handy shell script to check the end
# of the alert.log for a database identified by $ORACLE_SID
# I normally run this script several times a day and immediately
# whenever problems are reported.
# I usually give this script 755 permissions.
tail -150 $ORACLE_BASE/admin/$ORACLE_SID/bdump/alert*.log | more
Hot Backup Script
The following is a small piece of code that enables you to initiate hot backups. Use this as a
sample for your script. I used scripts to generate this dynamically, but it can be hard coded as
well. I also could have made use of Unix environment variables for the copy and compress
steps, but I wanted to keep it simple.
Scripts
APPENDIX C
C
S
C
R
I
P
T
S
541
This script first spools to create a log. Next it puts a tablespace in hot backup mode. It uses cp
to copy the file to a backup location. The -p option is probably not necessary. Next it uses
gzip to compress the file. The tablespace is then taken out of hot backup mode. At the end of
the script, I make a text copy and a binary copy of the control file. The timestamp for the
binary copy is dynamically generated. Finally, I force a log switch and end the spool.
Especially when writing backup scripts, you must test the scripts to make sure they work and
nothing becomes corrupt.
run_hots.sql
spool hot_backup_run.lst
alter tablespace TOOLS begin backup;
!cp -p /u02/app/oracle/oradata/rh1dev1/tools01.dbf
/ubackup/hot_backup_dump/rh1dev1
!gzip -f /ubackup/hot_backup_dump/rh1dev1/tools*.dbf
alter tablespace TOOLS end backup;
alter tablespace USERS begin backup;
!cp -p /u02/app/oracle/oradata/rh1dev1/users01.dbf
/ubackup/hot_backup_dump/rh1dev1
!gzip -f /ubackup/hot_backup_dump/rh1dev1/users*.dbf
alter tablespace USERS end backup;
alter database backup controlfile to trace;
alter database backup controlfile to
/ubackup/hot_backup_dump/rh1dev1/control.15062000135844;
alter system switch logfile;
spool off
exit
Oracle DBA on Unix and Linux
542
APPENDI X
D
Glossary
The following is a list of terms commonly used by Oracle DBAs in Unix and Linux shops.
alert.logA log file containing informational messages about the databases status, health,
and errors.
archivelog modeDatabase mode in which online redo logs are copied to a separate location
before they are reused. Later these logs can be reapplied to recover a damaged database.
archiver processThe background process that copies the online redo logs to the archive
dump file location.
background processAny process running in the Unix/Linux background. In Oracle terms,
this is one of the background processes supporting the database.
blockThe smallest unit of data managed by Oracle.
bounceTo stop and restart a database, server, or process.
checkpointAn occurrence whereby Oracle flushes the redo log buffer and updates every file
header with checkpoint and System Change Number information.
Checkpoint process (CKPT)The background process that updates file headers during a
checkpoint.
cold backupA complete copy of every data, control, and redo log file on an Oracle
database. The database must be shut down for the backup to be valid.
commitThe action of making DML changes permanent inside the database.
config.oraAn optional file called by the init.ora file that contains initialization parameters
for the database.
control fileA binary file containing metadata about the database. It is also a text file used to
manage SQL*Loader jobs.
core dumpThe result of a failed process. The contents of the memory and variables are
dumped to a text file. These files can be extremely large and can fill up a filesystem. Typically,
core dumps should be removed and the failed process investigated.
cronA Unix job-scheduling utility. This is commonly used to schedule batch jobs and
backups for both Oracle and other applications.
daemonA Unix background process.
Data Definition Language (DDL)A SQL statement that creates, modifies, or drops an
object inside the database. For example, ALTER TABLE or CREATE INDEX are DDL
statements. A DDL statement issues an implicit commit and it cannot be rolled back.
Oracle DBA on Unix and Linux
544
data dictionaryThe set of tables and views that contain metadata about the database.
data dictionary cacheA memory area in the shared pool containing data dictionary
information.
data fileA file belonging to a tablespace that contains data tables and/or indexes belonging
to a database.
Data Manipulation Language (DML)A SQL statement that inserts, updates, or deletes
table data. These statements can be committed or rolled back. If they are followed by a DDL
statement or the user session exits normally, they will be committed.
databaseA set of data, control, and redo log files identified by a SID.
Database AdministratorThe individual responsible for the creation, maintenance, tuning,
and backup and recovery of a database. Principle responsibilities are data protection and data
availability.
database buffer cacheA memory area within the SGA that holds copies of data blocks.
Database Writer process (DBWR)The background process that writes blocks from the
database buffer cache to the data files.
exportAn Oracle utility used to extract data and objects from an Oracle database into a
.dmp dump file.
extentA set of contiguous blocks inside the database.
hot backupA backup of the data files while the database is running.
importAn Oracle utility used to load data and objects from a .dmp dump file into an Oracle
database.
indexA structure within a database holding a pointer to a specific row of a data table.
Indexes increase data access and enforce uniqueness.
init.oraA mandatory text file containing database parameters read during database startup.
instanceThe combination of Oracle memory structures and background processes running
on a server.
Internet Application Server(iAS)The newest Oracle Web server product. It replaces Oracle
Application Server OAS.
java poolA memory pool inside the SGA used to hold Java objects.
Java Developers Kit (JDK)The collection of libraries and classes used to develop Java
programs.
Glossary
APPENDIX D
D
G
L
O
S
S
A
R
Y
545
Java Runtime Environment (JRE)This is the environment that Java programs run under
after they are developed with a JDK.
Java Virtual Machine (JVM)The Java engine inside an Oracle database.
kernelAn internal memory resident structure in a Unix or Linux operating system that man-
ages processes, memory, files, and disk I/O.
large poolA memory pool inside the SGA.
LinuxA relatively new Unix variant typically running on PCs with Intel processors. Linux
now often runs on server class systems with non-Intel chipsets.
listenerA process thats waiting for incoming requests from clients. These requests are then
routed to another process to be managed.
listener.oraThe configuration file containing parameters for an Oracle listener.
log switchThe point in time at which LGWR stops writing to one online redo log file and
begins writing to the next online redo log file. A checkpoint automatically occurs at this time.
Log Writer (LGWR)The process that writes from the redo log buffer to the online redo log
files.
man pagesOnline help for Unix commands. See the listing for man in the Unix command
appendix.
mirroringA method of writing data on two or more identical disks in an attempt to improve
fault tolerance.
mountA database state in which the init.ora file has been read, the instance (memory pools
and background processes) has been started, and the control file(s) have been opened and read.
multiplexA practice of having Oracle maintain redundant copies of either control files or
online redo log files. This provides fault tolerance, so if one file is damaged, its mirrored
copies will still exist.
NetOracle networking software in Oracle 9i.
Net8Oracle networking software in Oracle 8 and 8i.
noarchive log modeDatabase mode whereby online redo logs are not copied to a separate
location before they are reused.
nomountA database state in which the init.ora file has been read and the instance (memory
pools and background processes) has been started.
online redo log fileThe file written to by the Log Writer process.
Oracle DBA on Unix and Linux
546
Online Transaction Processing (OLTP)A classification of an application in which short,
frequent transactions are common.
Oracle Application Server (OAS)An older Oracle Web server product. It is being replaced
by iAS (Internet Application Server).
Oracle Certified Professional (OCP)An individual who has successfully passed the
required test(s) covering Oracle subjects such as database administration, operation, or
development.
Oracle Enterprise Manager (OEM)A GUI tool used to aid administrators in managing the
database.
Oracle Parallel Server (OPS)An Oracle product in which multiple database instances
simultaneously access one physical database. This product is called Real Application Clusters
in Oracle 9i.
Oracle Universal Installer (OUI)A Java-based Oracle utility used to install Oracle
software.
pagingAn effort by the kernel to free real memory by moving a portion of a non-active
process from real memory to disk. This happens normally on most systems, but if it occurs
excessively, performance will be impacted.
PL/SQLAn Oracle proprietary structured programming language based on SQL used to
access and manipulate data within an Oracle database.
Process monitor process (PMON)A background process responsible for cleaning up after
and freeing resources of abnormally terminated processes.
RAIDRedundant Array of Inexpensive/Independent Disks. A classification of several
methods of striping and mirroring disks.
Real Application Clusters (RAC)The new name for Oracle Parallel Server starting in
Oracle 9i. This is where two or more instances on a cluster simultaneously access the same
physical database located on a shared disk array.
redo log bufferA memory area containing a log of all the change activity within an Oracle
database.
redo log fileSee online redo log file.
rollbackUndo information generated for a statement. Also the action of undoing a DML
statement. Only DML statements can be rolled back; DDL statements cannot be rolled back.
rollback segmentAn Oracle structure used to hold rollback information.
Glossary
APPENDIX D
D
G
L
O
S
S
A
R
Y
547
rootThe all powerful superuser account on Unix and Linux systems. Be very careful when
working as this user.
segmentThe collection of Oracle extents belonging to a specific object.
semaphoreA Unix/Linux integer structure that is incremented or decremented as a means of
controlling access to a resource.
Server ManagerAn Oracle utility that submits database commands and SQL to the
database. This tool has been phased out in favor of SQL*Plus in Oracle 9i.
Shared Global Area (SGA)See System Global Area.
shared memoryA memory area in Unix/Linux that can be attached, read, and written to by
multiple processes. The SGA is a shared memory area.
shared poolA memory area in the SGA containing the shared SQL area and data dictionary
cache.
shared SQL areaA memory area in the shared pool containing parsed SQL statements so
they can be reused.
SID (System Identifier)An eight-character identifier used to identify an Oracle instance.
spfileA server parameter file is a binary copy of the init.ora file. It is an optional 9i feature.
SQL*LoaderAn Oracle utility that loads data from flat files into an Oracle database.
SQL*NetOracle networking software prior to Oracle 8.
sqlnet.oraA file containing Oracle network configuration parameters. Contrary to the name,
this file survives past SQL*Net.
SQL*PlusAn Oracle utility that submits database commands and SQL to the database.
stripingA method of writing data across two or more physical disks in an attempt to
improve performance.
Structured Query Language (SQL)A non-procedural language used to read, insert, update,
or delete data in a database. This is not Oracle proprietary, although there are some proprietary
extensions added to it.
swappingAn effort by the kernel to free real memory by moving an entire process from real
memory to disk. This happens in response to a shortage of memory; performance is negatively
impacted. This should be avoided.
System AdministratorThe individual responsible for the administration and management of
a Unix or Linux server.
Oracle DBA on Unix and Linux
548
System Global Area (SGA)Also known as Shared Global Area. This is the collection of the
different memory pools comprising a running database instance. These include the database
buffer cache, redo log buffer, shared pool (data dictionary cache and shared SQL area), large
pool, and the Java pool.
System Monitor process (SMON)A background process responsible for instance recovery,
cleaning up temporary segments, and coalescing free space in tablespaces for objects with
PCTINCREASE > 1.
tableA database structure used to store data.
tablespaceA logical collection of database objects stored in one or more data files.
tnsnames.oraA client-side Oracle networking text file containing a list of database names,
their host machine names or IP addresses, and port numbers so the client can attempt to estab-
lish a connection.
truncateA command to immediately delete all data in a table, free the used space, and reset
the high water mark. There is no rollback for this statement.
UnixA robust, multitasking, multi-user operating system commonly used on servers to host
critical applications such as databases and Web servers.
Glossary
APPENDIX D
D
G
L
O
S
S
A
R
Y
549
INDEX
SYMBOLS
! (exclamation point), 194
0 run level, 336
1 run level, 336
2 run level, 336
2-tier client/server architecture, 65-66
3 run level, 336
3-tier client/server architecture, 66-67
4 run level, 336
5 run level, 336
6 run level, 336
9i server, 485-486
dynamic memory parameters, 500-503
installing, 486-488
logging in, 488-489
miscellaneous new features and changes, 508
multiple block sizes, 500-503
Oracle-managed files, 494-500
creating redo logs with, 498-499
creating tablespaces with, 495-497
RAC (Real Application Clusters), 508
sample schemas, 506-508
security, 488-489
SPFILEs (server parameter files), 490-494
backing up, 493
creating, 490
updating, 492-493
viewing, 491
undo tablespaces, 503-506
A
a command, 534
-a option (ifconfig command), 92
/admin directory, 73-74
Administer utility
552
Administer utility (Oracle
Portal), 456
administration. See database
administration
administrators
DBAs (database administrators).
See DBAs
SAs (system administrators),
7, 22-23, 522
adump files, 74
alert log files, 164-165, 279
alert.log file, 60-61
alertSID.log file, 279
alert.log file, 60-61
alertSID.log file, 279
All Locks command
(TopSessions Lock Types
menu), 288
allocating resources
dynamic space allocation, 159
SGA (Shared Global Area),
42-45, 346-347
ALL_X view, 140
analyzing log files, 232-235
Apache HTTP listener, 469
application DBAs (database
administrators), 8
application code listings.
See listings
applications
Java programs
creating, 430-431
dropping, 433
loading, 431
publishing, 432
running, 432
multiple applications, 81
problem-solving, 280-281
testing, 399-400
applying. See installing
ARCH (archiver), 56
architecture, 30-34
architecture diagrams, 273-275
control files, 34-35
data files, 35
generic data files, 36-37
index files, 37-38
online redo logs, 40-41
rollback data files, 38-40
system data files, 36
temporary data files, 38
disk contention, 81-85
DSS (Decision Support
Systems), 77-78
files
parameter and log files,
60-61
software installation files,
61-62
hybrid systems, 79-81
location, 30-31
memory
Java pool, 48-49
large pool, 48
redo log buffer, 47
SGA (Shared Global Area),
42-45
shared pool, 46-47
OEM (Oracle Enterprise
Manager), 176-177
client tier, 177-178
middle tier, 178
server tier, 179
OFA (Optimal Fexible
Architecture)
/u01 directory, 73-75
benefits of, 72
conventions, 75-76
data files, 75-76
minimum requirements, 72
OLTP (Online Transaction
Processing), 76-77
Oracle Portal, 439-440
processes, 49
ARCn (archiver), 56
background processes, 52-53
CKPT (checkpoint), 55
DBWn (Database Writer),
53-54
Dnnn (dispatcher), 56
LGWR (Log Writer), 54
PMON (Process Monitor), 53
QMNnn (queue monitor), 56
RECO (recovery), 56
server processes, 50-52
SMON (System Monitor), 53
Snnn (shared server), 56
SNPnn (job queue)
processes, 56
system architecture, 64-65
three-tier, 66-67
two-tier, 65-66
transactions, 57-59
Unix
clusters, 338-339
files, 334
filesystems, 331-334
I/O subsystem, 335
kernel, 322-323
memory, 328-330
MPPs (Massively Parallel
Processors), 340
NUMAs (NonUniform
Memory Access), 340
processes, 323-327
shared-everything
architecture, 338
shared-nothing
architecture, 340
shutdown process, 337
SMP (symmetrical multi-
processor) machines, 338
startup process, 335-336
uniprocessor machines,
337-338
user interfaces
Net8, 32-33
Server Manager, 32
SQL*Plus, 31
Web architecture, 464-466
availability, 468
clients, 465
database tier, 465
middle tier, 465
scalability, 467-468
technological design, 467
changing
553
ARCHIVELOG mode
cold backups, 249-250
hot backups, 251-253
archiver (ARCn), 56
archiving business data, 217
ARCn (archiver), 56
asynchronous I/O
(input/output), 360
automatic database startup,
245-247
availability
data, 11-12
Web architecture, 468
awk command, 137
B
background dump (bdump)
files, 74
background of DBAs
(database administrators), 6
developers/programmers, 7
on-the-job training, 8
SA (system administration), 7
systems designers/
data modelers, 8
background processes, 52-53
backups, 238. See also recovery
business archives, 217
cold backups
ARCHIVELOG mode,
249-250
NOARCHIVELOG mode, 249
recoveries, 248
DBA (database administrator)
responsibilities, 15
fault tolerance, 243-244
automatic database startup,
245-247
multiplex control files, 244
multiplex online redo logs,
244-245
hot backups, 250-251
ARCHIVELOG mode,
251-253
hot backup mode, 253-255
hot backup script, 541-542
importance of, 238
legal requirements, 171
logical backups, 216-217, 239
media failure, 241-243
monitoring, 168-169
parameter files, 266
physical backups, 240
planning, 267-269
software, 266
SPFILEs (server parameter
files), 493
testing, 269
bad files, 228
base releases,
migrating to, 404
batch jobs
DSS (Decision Support
Systems), 78
rollback segments, 306-307
bdf command, 91, 332, 526
bdump (background dump)
files, 74
BEAs WebLogic server, 466
B/ESTAT script, 296-298
block locations, 334
Blocking/Waiting Locks
command (TopSessions Lock
Types menu), 288
books, Database Design, 152
boot messages, 276
Browse utility, 452-453
buffer cache, 43-45
BUFFER export parameter, 206
BUFFER import parameter, 212
buffers
performance tuning, 302-303
redo log buffer, 47
bugs. See patches;
problem-solving
Build utility (Oracle Portal),
453, 456
business knowledge, 19-20
C
cache
cache hit ratio, 302
data dictionary cache, 46, 304
database buffer cache, 43-45,
302-303
iAS (Internet Application
Server), 471-472
library cache, 46-47, 303-304
cache hit ratio, 302
capacity planning, 67-68
disk drives, 69
memory, 69
operating system, 68-69
server costs, 70
system maintenance, 70-71
technology and vendors, 71
cat command, 526
catalog.sql script, 382
catproc.sql script, 382
catrep.sql script, 382
CBT (Computer Based
Training), 514
cd command, 526
cdump (core dump) files, 74
central processing units.
See CPUs
certification. See also
continuing education
benefits of, 519
cost, 518
Database Administrator, 516
Database Operator, 516
Financial Applications, 516
Java Developer, 516
preparation, 517-518
test-taking tips, 518
Web site, 517
cfdisk command, 94
chaining (rows), 316-318
Change Management Pack, 194
changing. See also editing
file owners, 526
file permissions, 526
passwords, 129-131, 529
chat sessions
554
chat sessions, 530
checking. See finding
checkpoints (CKPTs), 55
chgrp command, 526
chmod command, 526
chown command, 526
CKPTs (checkpoints), 55
CLASSPATH variable, 100
cleaning up failed databases,
129
clear command, 129, 526
clearing screen, 129, 526
client/server architecture,
64-65
three-tier, 66-67
two-tier, 65-66
clients, 465
client/server architecture, 64-65
three-tier, 66-67
two-tier, 65-66
fat clients, 65-66
OEM (Oracle Enterprise
Manager), 177-182
thin clients, 65-66
closed databases, starting, 144
clusters, 338-339
code listings. See listings
cold backups
ARCHIVELOG mode, 249-250
NOARCHIVELOG mode, 249
recoveries, 248
college courses, 513
Command mode (vi), 534
command-line response time,
276
command-line utilities.
See commands
commands. See also scripts
! (exclamation point), 194
awk, 137
bdf, 91, 332, 526
cat, 526
cd, 526
cfdisk, 94
chgrp, 526
chmod, 526
chown, 526
clear, 129, 526
command-line response time,
276
compress, 223, 526
cp, 526
crontab, 526
date, 527
deployejb, 435
df, 91, 332, 527
diff, 527
dmesg, 90-92, 276, 527
du, 527
echo, 98, 527
env, 98, 527
exit, 194, 527
export, 204-205
business archives, 217
common mistakes, 221-222
compressed files, 223-225
corruption checks, 221
dump (.dmp) files,
204, 225-226
full database exports, 206
interactive exports, 206-207
logical backups, 216-217
migrations, 217-219,
401-402
parameter files, 208-210
pipes, 223-225
query-based exports, 211
rehosting, 402
row counts, 221
table level exports, 205
table rebuilds, 220
testing exports, 222
tuning parameters, 226-227
upgrades, 402
user level exports, 205-206
find, 527
fsck, 332
ftp, 527
fuser, 527
glance, 365, 527
grep, 412, 527
groups, 527
gunzip, 528
gzip, 528
head, 528
id, 528
ifconfig, 92, 370
import, 211-212
common mistakes, 221-222
compressed files, 223-225
corruption checks, 221
dump (.dmp) files, 204,
225-226
grants, 218
interactive imports, 212-213
migrations, 401-402
parameter files, 214-216
pipes, 223-225
rehosting, 402
row counts, 221
table rebuilds, 220
testing imports, 222
tuning parameters, 226-227
upgrades, 402
iostat, 362, 528
ipcrm, 528
ipcs, 352-353, 528
ipsrm, 353
kill, 528
last, 528
ln, 528
loadjava, 430
Lock Types menu
(TopSessions), 288
LogMiner, 232-235
ls, 528
lsnrctl, 187-188, 278
mailx, 528
man, 529
mig, 402-403
mkdir, 529
more, 529
mount, 331
mpstat, 367
mv, 529
Net8, 32-33
netasst, 133
netstat, 370-371
nohup, 529
CPUs
555
oemapp, 178
oerr, 165
oradebug, 350-352
page, 529
pagesize, 329
passwd, 529
pine, 529
ping, 275, 369-370
ps, 129, 278, 326-327, 363, 529
publish, 435
rm, 529
rmdir, 529
rpm, 90, 529
sar, 529
CPU usage statistics, 367
disk I/O monitoring, 361
script, 529
Server Manager, 32
showrev, 90
shutdown, 337
SQL*Loader, 227
conventional path loading,
229
direct path loading, 229-232
file types, 228
SQL*Plus, 60, 31
su, 530
swap, 355
sysresv, 349-353
tail, 279, 530
talk, 530
tar, 384, 530
tnsping, 369
top, 276, 364-365, 530
touch, 530
truss, 530
umask, 101-102, 530
umount, 333
uname, 88, 530
uncompress, 530
uptime, 276, 365-366, 530
useradd, 94
vi, 534
vmstat, 355-356, 531
CPU usage statistics, 366
disk I/O monitoring, 361
wall, 531
wc, 531
which, 531
who, 531
COMMIT import parameter, 215
communication, 20-21
professional benefits, 520-521
technical benefits, 519-520
compact disc filesystem, 333
compare_users.sql script, 541
comparing filenames, 527
compiling invalid objects,
127-129
compress command, 223, 526
COMPRESS export parameter,
207
compressed files,
importing/exporting, 223-225
compressing
directories, 530
files, 170
compress command, 526
gzip command, 528
tar command, 530
Computer Based Training
(CBT), 514
config.ora file, 60
Configuration Assistant
(OEM), 185
configuration files, 60-61
configuring systems, 92
disks and filesystems, 94-96
groups, 93-94
iAS (Internet Application
Server), 482-483
IIOP (Internet Inter-Orb
Protocol), 433-435
Java, 426
MTS (Multi-Threaded Servers),
433-435
Net8, 132-133
listener process, 135-137
listener.ora file, 134-135
tnsnames.ora file, 133-134
root passwords, 93
shared memory settings, 96-97
users, 94
connect internal feature, 94
connect strings, 32
connecting to databases, 134
CONSISTENT export
parameter, 209
console (OEM), 190-193
consulting/contracting, 521-522
contention, 81-85
file contention, 308-309
rollback segments, 307
contiguous extents, 159
continuing education, 21-22,
512. See also certification
CBT (Computer Based
Training), 514
colleges and universities, 513
emerging technologies, 515-516
independent learning, 514-515
Oracle University, 513-514
third-party Oracle classes, 514
contracting/consulting, 521-522
control files, 34-35
lost control files, recovering
from, 261-262
multiplexing, 244
SQL*Loader, 228
conventional path loading, 229
conventions (OFA), 75-76
copying files, 526
CORBA servers, 425, 435
core dump (cdump) files, 74
corruption
checking for, 221
FTP (File Transfer Protocol),
379-380
costs
certification exams, 518
servers, 70
counting rows, 221
cp command, 526
CPUs (central processing units)
checking speed of, 92
monitoring, 362-363
glance command, 365
mpstat command, 367
ps command, 363
CPUs
556
sar command, 367
top command, 364-365
uptime command, 365-366
vmstat command, 366
crashes, recovering from,
255-256
CREATE SESSION privilege,
150
CREATE USER statement, 149
create_analyze_script.sql
script, 541
creation scripts
advantages, 112-113
create_analyze_script.sql script,
541
customizing, 121-123
directory location, 113
generating, 113-120
running, 124
cron jobs
monitoring, 166-168
running, 166-167
crontab command, 526
crontab files, 167
.CTL file extension, 35
current memory blocks, 43
cursor-movement commands
(vi), 534
customers, 25
customizing. See editing
D
DAD (Database Access
Descriptor), 476
daemons, 329
data availability, 11-12
Data Definition Language
(DDL), 290
data dictionary, 36, 46, 304
data files, 35
adding, 162, 282
defined, 36
generic data files, 36-37
index files, 37-38
lost data files, recovering from,
256-258
moving, 162, 282-285
OFA (Optimal Flexible
Architecture), 75-76
offline data files, 279
renaming, 282-285
resizing, 161
rollback data files, 38-40
sizing, 282
SQL*Loader, 228
system data files, 36
temporary data files, 38
Data Gatherer, 190
Data Manipulation Language
(DML), 287-290
Data Migration Assistant
(ODMA), 403-404
database preparation
backups, 407
init.ora parameters, 405
MIGRATE user, 406
OUTLN user, 406
SYSTEM tablespace size,
405-406
migration process, 407-412
post-migration tasks, 412-415
data modelers, 8
data protection, 10-11
Database Access Descriptor
(DAD), 476
database administration, 9
data availability, 11-12
data protection, 10-11
responsibilities
application support, 14
backup and recovery, 15
Oracle consultant, 16-17
Oracle point of contact, 17
performance tuning, 14-15
process expert, 18
system activities, 12-14
troubleshooting, 15
skills needed, 18
application knowledge, 19
business knowledge, 19-20
communication, 20-21
continuing education, 21-22
database knowledge, 19
management, 21
problem-solving, 21
systems knowledge, 19
systems administration, 522
Database Administrator
certification, 516
database administrators.
See DBAs
database buffer cache, 43-45,
302-303, 471-472
Database Configuration
Assistant (DBCA), 113-120
control file location, 117
creating databases, 114-115,
118-120
naming databases, 115-117
starting, 113
Welcome screen, 113
database-creation logs, 125
database design
capacity planning, 67-68
disk drives, 69
memory, 69
operating system, 68-69
server costs, 70
system maintenance, 70-71
technologies and vendors, 71
Database Design, 152
disk contention, 81-85
DSS (Decision Support
Systems), 77-78
hybrid systems, 79-81
OFA (Optimal Fexible
Architecture)
/u01 directory, 73-75
benefits of, 72
conventions, 75-76
data files, 75-76
minimum requirements, 72
OLTP (Online Transaction
Processing), 76-77
system architecture, 64-65
three-tier, 66-67
two-tier, 65-66
databases
557
Database Design, 152
database objects, monitoring,
165-166
Database Operator
certification, 516
database servers.
See databases
database tier (Web
architecture), 465
database views, 140-141
Database Writer (DBWn),
53-54
databases, 30
backups, 238
business archives, 217
cold backups, 248-250
DBA (database administrator)
responsibilities, 15
fault tolerance, 243-247
hot backups, 250-255,
541-542
importance of, 238
legal requirements, 171
logical backups, 216-217,
239
media failure, 241-243
monitoring, 168-169
parameter files, 266
physical backups, 240
planning, 267-269
software, 266
SPFILEs (server parameter
files), 493
testing, 269
compared to instances, 33-34
connecting to, 134
creating, 123
cleanup, 129
compiling invalid objects,
127-129
creation scripts, 112-120,
124
database-creation logs, 125
security, 126
verifying database instances,
125-127
creation scripts
advantages, 112-113
create_analyze_script.sql
script, 541
customizing, 121-123
directory location, 113
generating, 113-120
running, 124
Database Configuration
Assistant, 113-120
control file location, 117
creating databases,
114-115, 118-120
naming databases, 115-117
starting, 113
Welcome screen, 113
designing
capacity planning, 67-71
disk contention, 81-85
Database Design, 152
DSS (Decision Support
Systems), 77-78
hybrid systems, 79-81
OFA (Optimal Fexible
Architecture), 71-76
OFA (Optimal Fexible
Architecture)minimum
requirements, 72
OLTP (Online Transaction
Processing), 76-77
system architecture, 64-67
disk contention, 81-85
DSS (Decision Support
Systems), 77-78
exporting data, 204-205
business archives, 217
common mistakes, 221-222
compressed files, 223-225
corruption checks, 221
dump (.dmp) files, 204,
225-226
full database exports, 206
interactive exports, 206-207
logical backups, 216-217
migrations, 217-219,
401-402
parameter files, 208-210
pipes, 223-225
query-based exports, 211
rehosting, 402
row counts, 221
table level exports, 205
table rebuilds, 220
testing exports, 222
tuning parameters, 226-227
upgrades, 402
user level exports, 205-206
fault tolerance, 243-244
automatic database startup,
245-247
multiplex control files, 244
multiplex online redo logs,
244-245
file types
control files, 34-35
data files, 35-40
online redo logs, 40-41
viewing, 35
files
oratab, 131
parameter and log files,
60-61
software installation files,
61-62
hybrid systems, 79-81
importing data, 211-212
common mistakes, 221-222
compressed files, 223-225
corruption checks, 221
dump (.dmp) files,
204, 225-226
grants, 218
interactive imports, 212-213
migrations, 401-402
parameter files, 214-216
pipes, 223-225
rehosting, 402
row counts, 221
table rebuilds, 220
testing imports, 222
tuning parameters, 226-227
upgrades, 402
databases
558
indexes
creating, 152-154
IOTs (Index Organized
Tables), 313-314
performance tuning,
318-320
JDBC (Java Database
Connectivity), 422
linking to init.ora file, 131-132
location, 30-31
locks, 286-287
DDL (Data Definition
Language), 290
defined, 286
DML (Data Manipulation
Language), 287-290
Lock Manager, 287
TopSessions, 287-290
maintenance
corruption checks, 221
row counts, 221
table rebuilds, 220
memory
Java pool, 48-49
large pool, 48
redo log buffer, 47
SGA (Shared Global Area),
42-45
shared pool, 46-47
migration, 395-396
compared to rehosting, 396
DBA skill level, 403-404
defined, 396-397
import/export commands,
401-402
mig command, 402-403
ODMA (Oracle Data
Migration Assistant),
403-415
performance issues, 403
planning, 398
preparation, 398-401
time requirements, 403
to base releases, 404
when to use, 397
modes
ARCHIVELOG, 249-253
NOARCHIVELOG, 249
monitoring, 165-166
naming, 115-117
OEM (Oracle Enterprise
Manager), 179
OFA (Optimal Fexible
Architecture)
/u01 directory, 73-75
benefits of, 72
conventions, 75-76
data files, 75-76
minimum requirements, 72
OLTP (Online Transaction
Processing), 76-77
Oracle 9i, 485-486
dynamic memory
parameters, 500-503
installing, 486-488
logging in, 488-489
miscellaneous new features
and changes, 508
multiple block sizes,
500-503
Oracle-managed files,
494-500
RAC (Real Application
Clusters), 508
sample schemas, 506-508
security, 488-489
SPFILEs (server parameter
files), 490-494
undo tablespaces, 503-506
passwords, 129-131
patches
defined, 374-375
downloading, 378
example, 382-385
installation CD patches, 378
installing, 378-382
preparation, 376-378
tips and recommendations,
391-392
when to use, 375-376
performance tuning
B/ESTAT script, 296-298
file contention, 308-309
goals and approaches,
294-295
indexes, 318-320
locally managed
tablespaces, 311-313
memory, 301-305
rollback segments, 305-308
STATSPACK script, 298-301
tables, 313-318
UTLBSTAT script, 296-298
wait events, 309-311
problem-solving
alertSID.log file, 279
database locks, 279
init.ora file, 280
invalid objects, 279
listener processes, 278
log switches, 279
offline data files, 279
offline tablespaces, 279
PMON (Process Monitor),
278
rollback segment errors,
279, 290-291
tablespace free space, 279
tnsnames.ora file, 278
user sessions, 279
processes, 49
ARCn (archiver), 56
background processes,
52-53
CKPT (checkpoint), 55
DBWn (Database Writer),
53-54
Dnnn (dispatcher), 56
LGWR (Log Writer), 54
PMON (Process Monitor),
53
QMNnn (queue monitor), 56
RECO (recovery), 56
server processes, 50-52
SMON (System Monitor), 53
Snnn (shared server), 56
DBAs
559
SNPnn (job queue)
processes, 56
recovery
cold backups, 248
crashes, 255-256
lost control files, 261-262
lost data files, 256-258
lost redo log files, 259-261
lost tablespaces, 258-259
multiple lost files, 262-266
planning, 267-269
testing, 269
rehosting, 402
repositories, 185-186
rows
counting, 221
row chaining, 316-318
row migration, 316-318
schemas, 216-217
shutting down, 145
SHUTDOWN ABORT
statement, 147-148
SHUTDOWN IMMEDIATE
statement, 147
SHUTDOWN statement,
146-147
SHUTDOWN
TRANSACTIONAL
statement, 147
starting
closed databases, 144
online database startup,
245-247
problem solving, 144
restricted session mode, 145
STARTUP RESTRICT state-
ment, 145
STARTUP statement, 143
states, 142-143
tables
backing up, 216
creating, 152-154
IOTs (Index Organized
Tables), 313-314
partitioned tables, 314-316
tablespaces
creating, 495-497
undo tablespaces, 503-506
testing, 398-399
transactions, 57-59
upgrades
defined, 374-375
example, 388-391
import/export commands,
402
installing, 386-388
ORACLE_HOME directory,
386-387
parameter files, 388
preparation, 385-386
tips and recommendations,
391-392
upgrade scripts, 387
when to perform, 375-376
user interfaces
Net8, 32-33
Server Manager, 32
SQL*Plus, 31
verifying, 125-127, 163-164
views, 140-141
obtaining descriptions of,
141
obtaining list of, 141
V$SESSION_EVENT,
310-311
V$SESSION_WAIT, 311
V$SYSTEM_EVENT, 310
WebDB, 418
date command, 527
dates, displaying, 527
DBA Studio
Instance Manager, 194-195
Schema Manager, 196
Security Manager, 196-197
Storage Manager, 197-198
DBAs (database administrators)
application DBAs, 8
background and training, 6
developers/programmers, 7
on-the-job training, 8
SA (system administration), 7
systems designers/
data modelers, 8
consulting/contracting, 521-522
continuing education, 21-22,
512
CBT (Computer Based
Training), 514
colleges and universities, 513
emerging technologies,
515-516
independent learning,
514-515
Oracle University, 513-514
third-party Oracle classes,
514
data availability, 11-12
data protection, 10-11
Java, 522-523
maintenance DBAs, 9
mindset, 26-27
motivation, 512
networking with other DBAs
professional benefits,
520-521
technical benefits, 519-520
OCP (Oracle Certified
Professional) program
benefits of, 519
cost, 518
Database Administrator, 516
Database Operator, 516
Financial Applications, 516
Java Developer, 516
preparation, 517-518
test-taking tips, 518
Web site, 517
responsibilities
application support, 14
backup and recovery, 15
Oracle consultant, 16-17
Oracle point of contact, 17
performance tuning, 14-15
process expert, 18
scope of, 6
system activities, 12-14
troubleshooting, 15
DBAs
560
roles within IT organizations
customers and end users, 25
management, 24
programmers and
developers, 24
SAs (system administrators),
22-23
roles in outside organizations, 26
salaried employees, 521-522
skills needed, 18
application knowledge, 19
business knowledge, 19-20
communication, 20-21
database knowledge, 19
management, 21
problem-solving, 21
systems knowledge, 19
systems DBAs, 9, 522
DBA_X view, 140
DBCA (Database Configuration
Assistant), 113-120
control file location, 117
creating databases, 114-115,
118-120
naming databases, 115-117
starting, 113
Welcome screen, 113
.DBF file extension, 36-37
dbshut script, 247
DBWn (Database Writer),
53-54
DB_CACHE_SIZE parameter,
500
DB_CREATE_FILE_DEST
parameter, 495
DB_CREATE_ONLINE_LOG_DEST
parameter, 495
dd command (vi), 535
DDL (Data Definition
Language), 290
Decision Support Systems
(DSS), 77-78
dedicated servers, 50
default passwords, 130
default permissions, 101
defining default permissions,
101
deleting
directories, 529
files, 529
semaphores, 348-349
ipcrm command, 353
ipcs command, 352-353
oradebug command,
350-352
sysresv command, 349-350
shared memory, 348-349
ipcrm command, 353
ipcs command, 352-353
oradebug command,
350-352
sysresv command, 349-350
shared memory segments, 528
deployejb utility, 435
desc statement, 141
designing databases
capacity planning, 67-68
disk drives, 69
memory, 69
operating system, 68-69
server costs, 70
system maintenance, 70-71
technologies and vendors, 71
Database Design, 152
disk contention, 81-85
DSS (Decision Support
Systems), 77-78
hybrid systems, 79-81
OFA (Optimal Fexible
Architecture)
/u01 directory, 73-75
benefits of, 72
conventions, 75-76
data files, 75-76
minimum requirements, 72
OLTP (Online Transaction
Processing), 76-77
system architecture, 64-65
three-tier, 66-67
two-tier, 65-66
determining. See finding
developers, 7, 24
df command, 91, 332, 527
diagnostic commands. See
commands
Diagnostics Pack
Performance Manager, 199-200
TopSessions, 198-199, 287-290
diagrams (architecture),
273-275
dictionary (data), 36, 46, 304
diff command, 527
DIRECT export parameter, 209
direct path loading, 229-232
directories. See also files
compressing, 530
creating, 529
deleting, 529
moving, 384
navigating, 526
ORACLE_HOME, 386-387
patches, 379
/u01
/admin subdirectory, 73-74
/local subdirectory, 74
/product subdirectory, 73
/var/opt/oracle, 96
dirty memory blocks, 43
discard files, 228
disk contention, 81-85
disk I/O (input/output),
monitoring, 356-357
asynchronous I/O, 360
iostat command, 362
RAID (Redundant Array of
Inexpensive Disks), 357-359
raw partitions, 359-360
sar command, 361
synchronous I/O, 360
vmstat command, 361
disk mirroring, 358
disk sorts, 305
disk striping, 358-359
disks
capacity planning, 69
checking size of, 91-92
disk contention, 81-85
fault tolerance, 243-244
automatic database startup,
245-247
events
561
multiplex control files, 244
multiplex online redo
log files, 244-245
I/O (input/output), monitoring,
356-357
asynchronous I/O, 360
iostat command, 362
RAID (Redundant Array of
Inexpensive Disks),
357-359
raw partitions, 359-360
sar command, 361
synchronous I/O, 360
vmstat command, 361
media failure, 241-243
mirroring, 358
size of, 359
sorts, 305
striping, 358-359
system configuration, 94-96
dispatcher (Dnnn), 56
DISPLAY variable, 100-101
displaying
alertSID.log file, 279
database-creation log files, 125
date/time, 527
environment variables, 527
file contents, 35
cat command, 526
more command, 529
page command, 529
filesystems
bdf command, 526
df command, 527
logged-in users, 531
manual pages, 529
privileges, 150
processes, 529
shared memory segments, 528
SPFILEs (server parameter
files), 491
swap partitions, 355
Unix processes, 327
word counts, 531
dmesg command, 90-92, 276,
527
DML (Data Manipulation
Language), 287-290
.dmp files. See dump files
Dnnn (dispatcher), 56
downloading patches, 378
drivers (JDBC), 422
dropping Java programs, 433
DSS (Decision Support
Systems), 77-78
du command, 527
dumb terminals, 65
dump (.dmp) files
adump, 74
bdump, 74
cdump, 74
defined, 204
editing, 225-226
udump, 74
dynamic memory parameters
(Oracle 9i server), 500-503
dynamic space allocation, 159,
306
dynamic SQL (Standard Query
Language), 128
E
echo command, 98, 527
editing. See also changing
database creation scripts,
121-123
dump (.dmp) files, 225-226
oratab files, 131
.profile files, 137-138
text, 534
editors, vi, 534
education. See continuing
education; training
EJB (Enterprise Java Beans),
421, 425
electronic monitoring and
notification, 171-172
emerging technologies,
515-516
employee retention, 71
end users, 25
Enterprise Java Beans (EJB),
421, 425
Enterprise Manager.
See OEM (Oracle
Enterprise Manager)
env command, 98, 527
environment variables
CLASSPATH, 100
DISPLAY, 100-101
displaying, 527
LD_LIBRARY_PATH, 99
NLS_LANG, 99
ORACLE_BASE, 99
ORACLE_HOME, 99
ORACLE_SID, 99
ORA_NLS33, 99
PATH, 100
environments
checking, 98
Oracle environment setup,
97-99
DISPLAY variable, 100-101
LD_LIBRARY_PATH
variable, 99
NLS_LANG variable, 99
ORACLE_BASE variable,
99
ORACLE_HOME
variable, 99
ORACLE_SID variable, 99
ORA_NLS33 variable, 99
PATH variable, 100
umask, 101-102
Web architecture, 464-466
availability, 468
clients, 465
database tier, 465
middle tier, 465
scalability, 467-468
technological design, 467
error messages.
See also problem solving
not connected, 124
public synonym...
does not exist, 124
Snapshot too old, 279, 290-291
events, wait events, 309-311
exams
562
exams (certification)
benefits of, 519
cost, 518
Database Administrator, 516
Database Operator, 516
Financial Applications, 516
Java Developer, 516
preparing for, 517-518
test-taking tips, 518
Web site, 517
exclamation point (!), 194
exec method, 326
exit command, 194, 527
export command, 204-205
business archives, 217
common mistakes, 221-222
compressed files, 223-225
corruption checks, 221
dump (.dmp) files, 204,
225-226
full database exports, 206
interactive exports, 206-207
logical backups, 216-217
migrations, 217-219, 401-402
parameter files, 208-210
pipes, 223-225
query-based exports, 211
rehosting, 402
row counts, 221
table level exports, 205
table rebuilds, 220
testing exports, 222
tuning parameters, 226-227
upgrades, 402
user level exports, 205-206
export parameters
BUFFER, 206
COMPRESS, 207
CONSISTENT, 209
DIRECT, 209
FEEDBACK, 209
FILE, 206-208
FULL, 207-209
LOG, 209
OWNER, 207-209
PARFILE, 208
ROWS, 207
TABLES, 207-209
tuning, 226-227
USERID, 206
exporting data, 204-205
business archives, 217
common mistakes, 221-222
compressed files, 223-225
corruption checks, 221
dump (.dmp) files, 204,
225-226
full database exports, 206
interactive exports, 206-207
logical backups, 216-217
migrations, 217-219, 401-402
monitoring exports, 169
parameter files, 208-210
pipes, 223-225
query-based exports, 211
rehosting, 402
row counts, 221
table level exports, 205
table rebuilds, 220
testing exports, 222
tuning parameters, 226-227
upgrades, 402
user level exports, 205-206
ext2 filesystem, 332
extents
contiguous, 159
initial extents, 123
monitoring, 308
F
failed databases,
cleaning up, 129
fat clients, 65-66
fault tolerance, 243-244
automatic database startup,
245-247
multiplex control files, 244
multiplex online redo logs,
244-245
RAID (Redundant Array of
Inexpensive Disks), 357-359
FEEDBACK export parameter,
209
FEEDBACK import parameter,
214
file contention, 308-309
FILE export parameter, 206,
208
file extensions
.CTL, 35
.DBF, 36-37
.dmp, 204
.IDX, 38
.RBO, 41
.RBS, 40
FILE import parameter, 212
file systems. See filesystems
File Transfer Protocol (FTP),
379-380
filenames, 527
files, 34. See also directories
compressed files, 223-225
compressing, 170
compress command, 526
gzip command, 528
tar command, 530
control files, 34-35
lost control files, 261-262
multiplexing, 244
copying, 526
corruption, 379-380
crontab files, 167
data files, 35
adding, 282
adding to tablespaces, 162
defined, 36
generic data files, 36-37
index files, 37-38
lost data files, 256-258
moving, 162, 282-285
OFA (Optimal Flexible
Architecture), 75-76
offline data files, 279
renaming, 282-285
resizing, 161
rollback data files, 38-40
sizing, 282
forms
563
system data files, 36
temporary data files, 38
deleting, 529
disk contention, 81
displaying contents of
cat command, 526
more command, 529
page command, 529
dump (.dmp) files
adump, 74
bdump, 74
cdump, 74
defined, 204
editing, 225-226
udump, 74
exporting, 169, 223-225
file contention, 308-309
file extensions
.CTL, 35
.DBF, 36-37
.dmp, 204
.IDX, 38
.RBO, 41
.RBS, 40
finding, 527
importing, 223-225
init.ora
database migrations, 405,
413
linking to, 131-132
troubleshooting, 280
listener.ora, 134-135
listing, 528
log files, 60
alert logs, 60-61, 164-165,
279
analyzing, 232-235
database-creation logs, 125
redo log files, 40-41, 47,
244-245, 259-261, 303
SQL*Loader, 228
lost files, recovering from
control files, 261-262
data files, 256-258
multiple lost files, 262-266
redo log files, 259-261
moving, 529
naming conventions, 75-76
Oracle-managed files, 494-500
creating redo logs with,
498-499
creating tablespaces with,
495-497
orainstRoot.sh, 103
oratab, 131
ownership, 526
parameter files
backups, 266
config.ora, 60
exporting data, 208-210
importing data, 214-216
init.ora, 60
upgrades, 388
permissions
changing, 526
default permissions, 101
pfile, 74
.profile, 137-138
restoring, 240
root.sh, 107
sem.h, 96
shmparam.h, 96
soft links, 528
software installation files
listener.ora, 62
oratab, 61
sqlnet.ora, 62
tnsnames.ora, 61
SPFILEs (server parameter
files), 490-494
backing up, 493
creating, 490
updating, 492-493
viewing, 491
SQL*Loader file types, 228
tnsnames.ora, 133-134, 278
uncompressing
gunzip command, 528
uncompress command, 530
Unix, 334
viewing, 35
word count, 531
filesystems
checking size of, 91-92
creating, 94-96
defined, 72
displaying
bdf command, 526
df command, 527
free space, 170-171
iFS (Internet File System), 333,
418, 471
problem-solving, 276
sharing, 84
Unix
ext2, 332
free space, 332
iso9660, 333
mount points, 331
mounting, 331-332
nfs, 332
problem solving, 333-334
ufs, 332
unmounting, 333
vxfs, 333
Financial Applications
certification, 516
find command, 527
finding
available disks and filesystems,
91-92
available memory, 90
available swap space, 90
CPU speed, 92
current environment, 98
files, 527
invalid objects, 154
operating system and version,
88-90
shared memory
ipcs command, 352-353
oradebug command,
350-352
sysresv command, 349-350
fixing problems.
See problem solving
fork method, 326
forms, Oracle Forms, 470
fragmentation
564
fragmentation, 159
free filesystem space,
170-171, 332
freelist parameter, 160
FROMUSER import parameter,
215
fsck command, 332
FTP (File Transfer Protocol),
379-380
ftp command, 527
full database exports, 206
FULL export parameter, 207,
209
full filesystems,
troubleshooting, 276
FULL import parameter, 213
fuser command, 527
G
G command (vi), 534
gathering information,
272-273
glance command, 365, 527
glossary, 544-549
granting privileges, 149-150
GRANTS import parameter, 213
grep command, 412, 527
groups
creating, 93-94
oinstall, 94
redo log groups, 41
groups command, 527
GUI (graphical user interface)
tools
OEM (Oracle Enterprise
Manager), 176
architecture, 176-179
Change Management Pack,
194
client installation, 179-182
clients, 177-178
Configuration Assistant, 185
console, 190-193
Data Gatherer, 190
databases, 179
DBA Studio, 194-198
Diagnostics Pack, 198-200
Intelligent Agents, 187-190
OMS (Oracle Management
Server), 178, 183-185
Oracle Tuning Pack, 200
repository creation, 185-186
SQL*Plus, 194
SQL*Plus Worksheet, 194
standalone mode, 193
TOAD, 200-201
gunzip command, 528
gzip command, 528
H
h command (vi), 534
hanging problems,
troubleshooting, 333-334
hard disks. See disks
hardware
clusters, 338-339
hard disks. See disks
MPPs (Massively Parallel
Processors), 340
NUMAs (NonUniform
Memory Access), 340
SMP (symmetrical multi-
processor) machines, 338
uniprocessor machines, 337-338
hash partitioning, 315
head command, 528
help
manual pages, 529
MetaLink, 108
Oracle Support, 108-109
Technet, 108
hexadecimal format, 97
hierarchy of object storage,
157-160
history of iAS (Internet
Application Server), 469
hit ratio (cache), 302
hot backup mode, 253-255
hot backup script, 541-542
hot backups, 250-251.
See also recovery
ARCHIVELOG mode, 251-253
hot backup mode, 253-255
hot backup script, 541-542
HTTP listener, 469
hybrid systems, 79-81
I
i command (vi), 534
I/O (input/output)
disk I/O, monitoring, 356-357
asynchronous I/O, 360
iostat command, 362
RAID (Redundant Array of
Inexpensive Disks),
357-359
raw partitions, 359-360
sar command, 361
synchronous I/O, 360
vmstat command, 361
Unix I/O subsystem, 335
iAS (Internet Application
Server), 463-464, 468
alternatives to, 466
components, 469-470
configuring, 482-483
database cache, 471-472
history of, 469
iFS (Internet File System), 471
installing, 472-482
DAD (Database Access
Descriptor), 476
disk space requirements, 472
Global Database Name, 477
help, 475
HTTP Server configuration,
475
installation CDs, 473
installation types, 474
JDK location, 477
Oracle Portal configuration,
475
Oracle Portal Configuration
Assistant, 482
installing
565
ORACLE_HOME
directory, 472
portal-to-go repository
information, 478-479
source and destination loca-
tion, 473
welcome screen, 473
JSP (Java Server Page)
support, 471
modules, 470
Oracle 8i JVM, 471
Oracle Discover, 470
Oracle Forms, 470
Oracle Portal, 418, 460, 471
Administer utility, 456
architecture, 439-440
benefits of, 438-439
Browse utility, 452-453
Build utility, 453, 456
installing, 440-450
listener, 446, 450-451
login procedure, 451-452
Monitor utility, 457-459
Sites utility, 459
Oracle Reports, 470
PSP (Pl/SQL Server Page)
support, 471
Web cache, 471-472
ICG (Oracle Installation and
Configuration Guide), 88
id command, 528
Idle state (Unix processes), 325
.IDX file extension, 38
ifconfig command, 92, 370
iFS (Internet File System), 333,
418, 471
IGNORE import parameter, 213
IIOP (Internet Inter-Orb
Protocol), 433-435
import command, 211-212
common mistakes, 221-222
compressed files, 223-225
corruption checks, 221
dump (.dmp) files, 204, 225-226
grants, 218
interactive imports, 212-213
migrations, 401-402
parameter files, 214-216
pipes, 223-225
rehosting, 402
row counts, 221
table rebuilds, 220
testing imports, 222
tuning parameters, 226-227
upgrades, 402
import parameters
BUFFER, 212
COMMIT, 215
FEEDBACK, 214
FILE, 212
FROMUSER, 215
FULL, 213
GRANTS, 213
IGNORE, 213
INDEXFILE, 215
LOG, 214
PARFILE, 214
ROWS, 213
TOUSER, 215
tuning, 226-227
USERID, 212
importing data, 211-212
common mistakes, 221-222
compressed files, 223-225
corruption checks, 221
dump (.dmp) files, 204, 225-226
grants, 218
interactive imports, 212-213
migrations, 401-402
parameter files, 214-216
pipes, 223-225
rehosting, 402
row counts, 221
table rebuilds, 220
testing imports, 222
tuning parameters, 226-227
upgrades, 402
independent learning, 514-515
Index Organized Tables (IOTs),
313-314
index tablespaces, 258-259
indexes, 37-38
creating, 152-154
index tablespaces, 258-259
IOTs (Index Organized Tables),
313-314
performance tuning, 318-320
INDEXFILE import parameter,
215
industry trends, 20
information gathering, 272-273
init.ora file, 60
database migrations, 405, 413
linking to, 131-132
troubleshooting, 280
initial extents, 123
initialized data, 325
inodes, 334
input/output. See I/O
Insert mode (vi), 534
Installation and Configuration
Guide (ICG), 88
installation files
listener.ora, 62
oratab, 61
sqlnet.ora, 62
tnsnames.ora, 61
installing
iAS (Internet Application
Server), 472-482
DAD (Database Access
Descriptor), 476
disk space requirements, 472
Global Database Name, 477
help, 475
HTTP Server
configuration, 475
installation CDs, 473
installation types, 474
JDK location, 477
Oracle Portal
configuration, 475, 482
ORACLE_HOME directory,
472
portal-to-go repository
information, 478-479
installing
566
source and destination
location, 473
welcome screen, 473
Java, 427-429
OEM (Oracle Enterprise
Manager), 179
clients, 179-182
OMS (Oracle Management
Server), 183-185
repositories, 185-186
Oracle
installation files, 61-62
installation process,
102-107
Oracle environment setup,
97-102
Oracle Installation and
Configuration Guide
(ICG), 88
patches, 109
pre-installation setup, 88-92
system configuration, 92-97
verifying installation,
107-108
Oracle 9i, 486-488
Oracle Portal
listener, 446-447
ORACLE_HOME variable,
440-441
root.sh script, 448
system requirements, 440
text-based installer,
441-447
user roles, 449-450
patches, 109
backups, 380
example, 382-385
installation CD patches,
378
installation process, 381
patches directory, 379
post-patch steps, 381-382
preparation, 376-378
README files, 378
tips and recommendations,
391-392
STATSPACK, 298-299
upgrades, 386-388
example, 388-391
ORACLE_HOME directory,
386-387
parameter files, 388
preparation, 385-386
tips and recommendations,
391-392
upgrade scripts, 387
Instance Manager, 194-195
instances, 33-34, 125-127
Intelligent Agents
passwords, 188-190
starting, 187
verifying, 188
interactive exports, 206-207
interactive imports, 212-213
interfaces (user)
Net8, 32-33
Server Manager, 32
SQL*Plus, 31
Internet Application Server.
See iAS
Internet File System (iFS), 333,
418, 471
Internet Inter-Orb Protocol
(IIOP), 433-435
Intimate Shared Memory
(ISM), 347-348
invalid objects
checking for, 154
compiling, 127-129
monitoring, 165-166
troubleshooting, 279
iostat command, 362, 528
IOTs (Index Organized Tables),
313-314
ipcrm command, 353, 528
ipcs command, 352-353, 528
ISM (Intimate Shared
Memory), 347-348
iso9660 filesystem, 333
J-K
j command (vi), 534
Java, 417-418, 522-523
checking installation of, 382
compared to PL/SQL, 424-425
configuration parameters, 426
CORBA servers, 435
IIOP (Internet Inter-Orb
Protocol), 433-435
installing, 427-429
Java Beans
defined, 421
EJB (Enterprise Java
Beans), 421, 425
loading, 435
JavaScript, 421
JDBC (Java Database
Connectivity), 422
JDeveloper, 419
JSPs (Java Server Pages), 421
JVM (Java Virtual Machine),
421-424, 471
MTS (Multi-Threaded Servers),
433-435
Oracle support for, 418-421
programs
creating, 430-431
dropping, 433
loading, 431
publishing, 432
running, 432
servlets, 421
SQLJ, 423
uninstalling, 429-430
Web site, 420
Java Beans
defined, 421
EJB (Enterprise Java Beans),
421, 425
loading, 435
Java Database Connectivity
(JDBC), 422
Java Developer certification,
516
listings
567
JAVA_MAX_SESSIONSPACE_
SIZE parameter, 426
Java pool, 48-49
JAVA_POOL_SIZE parameter,
48, 426
Java Server Pages (JSPs), 421,
471
JAVA_SOFT_SESSIONSPACE_
LIMIT parameter, 426
Java Virtual Machine (JVM),
421-424, 471
JavaBeans. See Java Beans
JavaScript, 421
JDBC (Java Database
Connectivity), 422
JDeveloper, 419
job queue (SNPnn)
processes, 56
jobs
batch jobs
DSS (Decision Support
Systems), 78
rollback segments, 306-307
cron jobs, 166-168
problem-solving, 276
JSPs (Java Server Pages),
421, 471
JVM (Java Virtual Machine),
421-424, 471
k command (vi), 534
kernel (Unix), 322-324
kill command, 528
killing user sessions, 146, 367
KPRB server drivers, 422
L
l command (vi), 534
languages
Java, 417-418, 522-523
compared to PL/SQL,
424-425
configuration parameters,
426
CORBA servers, 425, 435
IIOP (Internet Inter-
Orb Protocol), 433-435
installing, 427-429
Java Beans, 421, 425, 435
JDBC (Java Database
Connectivity), 422
JSPs (Java Server Pages),
421
JVM (Java Virtual
Machine), 421-424, 471
MTS (Multi-Threaded
Servers), 433-435
Oracle support for, 418-421
programs, 430-433
servlets, 421
SQLJ, 423
uninstalling, 429-430
Web site, 420
JavaScript, 421
large pool, 48
LARGE_POOL_SIZE
parameter, 500
last command, 528
LD_LIBRARY_PATH variable, 99
Least Recently Used
(LRU) list, 44
Least Recently Used Write
(LRUW) list, 45
levels (RAID), 358-359
LGWR (Log Writer), 54
library cache, 46-47, 303-304
links
init.ora file, 131-132
soft links, 528
Linux servers, monitoring,
342-343
CPUs, 362-363
glance command, 365
mpstat command, 367
ps command, 363
sar command, 367
top command, 364-365
uptime command, 365-366
vmstat command, 366
disk I/O (input/output), 356-357
asynchronous I/O, 360
iostat command, 362
RAID (Redundant Array
of Inexpensive Disks),
357-359
raw partitions, 359-360
sar command, 361
synchronous I/O, 360
vmstat command, 361
importance of, 342
memory, 354
swap command, 355
thresholds, 356
vmstat command, 355-356
network performance, 368-369
ifconfig command, 370
netstat command, 370-371
ping command, 369-370
tnsping command, 369
shared memory
finding, 349-353
ISM (Intimate Shared
Memory), 347-348
removing, 348-353
semaphores, 345-346
SGA allocation, 346-347
SHMMAX parameter, 344
SHMMIN parameter, 345
SHMMNI parameter, 345
SHMSEG parameter, 345
list partitioning, 315
listeners
iAS (Internet Application
Server), 469
Oracle Portal
installing, 446
starting and stopping,
450-451
listener processes, 135-137, 278
listener.ora file, 62, 134-135
listing files, 528
listings
compare_users.sql, 541
create_analyze_script.sql, 541
login.sql, 538
run_hots.sql, 542
listings
568
show_dba_rollback_segs.sql,
539
show_filestat.sql, 539
show_index_depth.sql, 539
show_redo_logs.sql, 539
show_rollback_contention.sql,
540
show_segments.sql, 540
show_session_short.sql, 538
show_tablespaces.sql, 540-541
tail-alert, 541
ln command, 528
loading data. See also export
command; import command
CORBA servers, 435
EJB (Enterprise Java Beans),
435
Java programs, 431
SQL*Loader, 227
bad files, 228
control files, 228
conventional path loading,
229
data files, 228
direct path loading, 229-232
discard files, 228
log files, 228
loadjava utility, 430
/local directory, 74
local databases,
connecting to, 134
locally managed tablespaces,
162, 311-313
Lock Manager, 287
Lock Types menu commands
(TopSessions), 288
locks, 286-287
DDL (Data Definition
Language), 290
defined, 286
DML (Data Manipulation
Language), 287-290
Lock Manager, 287
TopSessions, 287-290
LOG export parameter, 209
log files
alert logs, 60-61, 164-165, 279
analyzing, 232-235
database-creation logs, 125
redo log files, 40-41
buffer, 303
creating, 498-499
lost redo log files, 259-261
multiplexing, 244-245
redo log buffer, 47
SQL*Loader, 228
LOG import parameter, 214
log switches, 41, 279
Log Writer (LGWR), 54
logged-in users, displaying, 531
logging in
login.sql script, 538
OMS (Oracle Management
Server), 185
Oracle 9i server, 488-489
Oracle Portal, 451-452
logging off users, 527
logical backups, 239
entire schemas, 216-217
individual tables, 216
login.sql script, 538
LogMiner, 232-235
logs. See log files
LOG_BUFFER parameter,
47, 303
LOG_CHECKPOINT_INTERVAL
parameter, 55
LOG_CHECKPOINT_TIMEOUT
parameter, 55
LOG_CHECKPOINT_TO_ALERT
parameter, 55
lost files, recovering from
control files, 261-262
data files, 256-258
multiple lost files, 262-266
redo log files, 259-261
lost tablespaces, recovering
from, 258-259
LRU (Least Recently Used)
list, 44
LRUW (Least Recently Used
Write) list, 45
ls command, 528
lsnrctl command, 187-188, 278
M
mailx command, 528
maintenance
capacity-planning issues, 70-71
corruption checks, 221
row counts, 221
table rebuilds, 220
maintenance DBAs (database
administrators), 9
man command, 529
management, 21
memory management, 328-330
roles, 24
space management
dynamic space allocation,
159
fragmentation, 159
storage hierarchy, 157-160
storage parameters, 159-160
tablespaces, 160-163
users
creating, 149
privileges, 149-150
quotas, 151-152
roles, 151
management tools, 176
OEM (Oracle Enterprise
Manager), 176
architecture, 176-179
Change Management Pack,
194
client installation, 179-182
clients, 177-178
Configuration Assistant, 185
console, 190-193
Data Gatherer, 190
databases, 179
DBA Studio, 194-198
Diagnostics Pack, 198-200
migration
569
Intelligent Agents, 187-190
OMS (Oracle Management
Server), 178, 183-185
Oracle Tuning Pack, 200
repository creation, 185-186
SQL*Plus, 194
SQL*Plus Worksheet, 194
standalone mode, 193
TOAD, 200-201
managers
Instance Manager, 194-195
OEM (Oracle Enterprise
Manager)
architecture, 176-179
Change Management Pack,
194
client installation, 179-182
clients, 177-178
console, 190-193
Data Gatherer, 190
databases, 179
DBA Studio, 194-198
Diagnostics Pack, 198-200
Intelligent Agents, 187-190
OMS (Oracle Management
Server), 178, 183-185
Oracle Tuning Pack, 200
repository creation, 185-186
SQL*Plus, 194
SQL*Plus Worksheet, 194
standalone mode, 193
Performance Manager, 199-200
Schema Manager, 196
Security Manager, 196-197
Storage Manager, 197-198
manual pages, 529
Massively Parallel Processors
(MPPs), 340
MAXEXTENTS parameter, 279
maxtextents parameter, 160
media failure
defined, 241
fault tolerance, 243-244
automatic database startup,
245-247
multiplex control files, 244
multiplex online redo logs,
244-245
impact on database, 241-243
memory, 42
cache, 43-45
cache hit ratio, 302
data dictionary cache, 304
database buffer cache,
302-303
iAS (Internet Application
Server), 471-472
library cache, 303-304
capacity planning, 69
checking, 90
monitoring, 354
swap command, 355
thresholds, 356
vmstat command, 355-356
performance tuning, 301
data dictionary cache, 304
database buffer cache,
302-303
disk sorts, 305
library cache, 303-304
ratios, 302
redo log buffer, 303
pool
Java pool, 48-49
large pool, 48
sizing, 501
SGA (Shared Global Area), 42-45
shared memory
configuring, 96-97
data dictionary cache, 46
displaying, 528
finding, 349-353
ISM (Intimate Shared
Memory), 347-348
library cache, 46-47
monitoring, 344-345
redo log buffer, 47
removing, 348-353, 528
semaphores, 345-346
SGA (Shared Global Area),
42-45, 346-347
Unix
NUMAs (NonUniform
Memory Access), 340
pages, 329
paging, 329-330
swap area, 328
swapping, 329-330
thrashing, 329
virtual memory, 328
messages
boot messages, 276
error messages
not connected, 124
public synonym...
does not exist, 124
snapshot too old, 279,
290-291
MetaLink, 108, 378, 514
methods. See also commands
exec, 326
fork, 326
middle tier (Web architecture),
465
mig command, 402-403
MIGRATE user, 406
migration, 395-396
to base releases, 404
compared to rehosting, 396
DBA skill level, 403-404
defined, 396-397
import/export commands,
401-402
mig command, 402-403
ODMA (Oracle Data Migration
Assistant), 403-404
database preparation,
405-407
migration process, 407-412
post-migration tasks,
412-415
performance issues, 403
planning, 398
preparation
application testing, 399-400
database testing, 398-399
migration testing, 400-401
planning phase, 398
migration
570
schema-level exports, 217-219
testing, 400-401
time requirements, 403
when to use, 397
mindset of DBAs (database
administrators), 26-27
minextents parameter, 160,
306
mirroring disks, 358
missing processes, 276
mkdir command, 529
modes
databases
ARCHIVELOG, 249-253
NOARCHIVELOG, 249
restricted session mode, 145
vi editor, 534
modules (iAS), 470
mod_jserv module, 470
mod_perl module, 470
mod_plsql module, 470
Monitor utility, 457-459
monitoring system,
163, 342-343
alert logs, 164-165
backups, 168-169
CPUs (central processing
units), 362-363
glance command, 365
mpstat command, 367
ps command, 363
sar command, 367
top command, 364-365
uptime command, 365-366
vmstat command, 366
cron jobs, 166-168
disk I/O (input/output), 356-357
asynchronous I/O, 360
iostat command, 362
RAID (Redundant Array
of Inexpensive Disks),
357-359
raw partitions, 359-360
sar command, 361
synchronous I/O, 360
vmstat command, 361
electronic monitoring and noti-
fication, 171-172
exports, 169
filesystem space, 170-171
importance of, 342
invalid objects, 165-166
memory, 354
swap command, 355
thresholds, 356
vmstat command, 355-356
network performance, 368-369
ifconfig command, 370
netstat command, 370-371
ping command, 369-370
tnsping command, 369
rollback segment usage
contention, 307
extends, 308
wraps, 308
shared memory
finding, 349-353
ISM (Intimate Shared
Memory), 347-348
removing, 349-353
semaphores, 345-346
SGA allocation, 346-347
SHMMAX parameter, 344
SHMMIN parameter, 345
SHMMNI parameter, 345
SHMSEG parameter, 345
vp, 348-349
tablespace allocations, 165-166
verifying databases and
connectivity, 163-164
more command, 529
Most Recently Used (MRU) list,
44
motivation of DBAs (database
administrators), 512
mount command, 331
mount points. See filesytems
mount state, 143
mounting filesystems, 331-332
moving
data files, 162, 282-285
directories, 384
files, 529
MPPs (Massively Parallel
Processors), 340
mpstat command, 367
MRU (Most Recently Used)
list, 44
MTS (Multi-Threaded Servers),
50-52, 423, 433-435
multiple applications, 81
multiple block sizes, 500-503
multiple lost files, recovering
from, 262-266
multiple ORACLE_HOME
directories, 387
multiple schemas, running, 157
multiplexing, 41, 244-245
multitasking, 323
mv command, 529
N
names
data files, 282-285
databases, 115-117
file extensions
.CTL, 35
.DBF, 36-37
.dmp, 204
.IDX, 38
.RBO, 41
.RBS, 40
OFA (Optimal Flexible
Architecture) conventions,
75-76
tablespaces, 219
navigating directories, 526
Net8, 32-33
Net8 Assistant, 132-133
listener process, 135-137
listener.ora file, 134-135
tnsnames.ora file, 133-134
netasst command, 133
netstat command, 370-371
network filesystem (nfs), 332
networks
configuring, 132
listener process, 135-137
offline tablespaces
571
listener.ora file, 134-135
tnsnames.ora file, 133-134
monitoring, 368-369
ifconfig command, 370
netstat command, 370-371
ping command, 369-370
tnsping command, 369
network information, checking, 92
new features (Oracle 9i),
485-486
dynamic memory parameters,
500-503
logging in, 488-489
miscellaneous features, 508
multiple block sizes, 500-503
Oracle-managed files, 494-500
creating redo logs with,
498-499
creating tablespaces with,
495-497
RAC (Real Application
Clusters), 508
sample schemas, 506-508
security, 488-489
SPFILEs (server parameter
files), 490-494
backing up, 493
creating, 490
updating, 492-493
viewing, 491
undo tablespaces, 503-506
nfs filesystem, 332
NLS_LANG variable, 99
NOARCHIVELOG mode
(cold backups), 249
nohup command, 529
NOLOGGING option, 47
nomount state, 143
non-technical capacity-
planning issues
server costs, 70
system maintenance, 70-71
technologies and vendors, 71
non-technical responsibilities
of database administration
Oracle consultant, 16-17
Oracle point of contact, 17
process expert, 18
NonUniform Memory Access
(NUMAs), 340
not connected
(error message), 124
NUMAs (NonUniform Memory
Access), 340
O
OAS (Oracle Application
Server), 418, 469
objects
identifying, 155-157
invalid objects
checking for, 154
compiling, 127-129
monitoring, 165-166
troubleshooting, 279
privileges, 150
storage hierarchy, 157-160
storage parameters, 159-160
OCI drivers (JDBC), 422
OCP (Oracle Certified
Professional) program
benefits of, 519
cost, 518
Database Administrator, 516
Database Operator, 516
Financial Applications, 516
Java Developer, 516
preparation, 517-518
test-taking tips, 518
Web site, 517
ODMA (Oracle Data Migration
Assistant), 403-404
database preparation
backups, 407
init.ora parameters, 405
MIGRATE user, 406
OUTLN user, 406
SYSTEM tablespace size,
405-406
migration process, 407-412
post-migration tasks, 412-415
OEM (Oracle Enterprise
Manager)
architecture, 176-177
client tier, 177-178
middle tier, 178
server tier, 179
Change Management Pack, 194
client installation, 179-182
clients, 177-178
Configuration Assistant, 185
console, 190-193
Data Gatherer, 190
databases, 179
DBA Studio
Instance Manager, 194-195
Schema Manager, 196
Security Manager, 196-197
Storage Manager, 197-198
Diagnostics Pack
Performance Manager,
199-200
TopSessions, 198-199
Intelligent Agents
passwords, 188-190
starting, 187
verifying, 188
OMS (Oracle Management
Server), 178, 183-185
Oracle Tuning Pack, 200
repository creation, 185-186
SQL*Plus, 194
SQL*Plus Worksheet, 194
standalone mode, 193
oemapp command, 178
oerr command, 165
OFA (Optimal Fexible
Architecture)
/u01 directory
/admin subdirectory, 73-74
/local subdirectory, 74
/product subdirectory,
72-73
benefits of, 71-72
minimum requirements, 72
offline data files, 279
offline tablespaces, 163, 279
oinstall group
572
oinstall group, 94
OLTP (Online Transaction
Processing), 50, 76-77,
305-306
OMS (Oracle Management
Server), 178, 183-185
online backups.
See hot backups
online chat sessions,
requesting, 530
online redo log files, 40-41
analyzing, 232-235
multiplexing, 244-245
redo log buffer, 47
Online Transaction Processing
(OLTP), 50, 76-77
open state (databases), 143
operating systems
capacity planning, 68-69
determining, 88-90
OPS (Oracle Parallel Server),
80, 508
Optimal Fexible Architecture.
See OFA
optimizing performance.
See performance tuning
ORA-01432 error, 124
ORA-01555 error, 279, 290-291
Oracle 8i JVM, 471
Oracle 9i server, 485-486
dynamic memory parameters,
500-503
installing, 486-488
logging in, 488-489
miscellaneous new features and
changes, 508
multiple block sizes, 500-503
Oracle-managed files, 494-500
creating redo logs with,
498-499
creating tablespaces with,
495-497
RAC (Real Application
Clusters), 508
sample schemas, 506-508
security, 488-489
SPFILEs (server parameter
files), 490-494
backing up, 493
creating, 490
updating, 492-493
viewing, 491
undo tablespaces, 503-506
Oracle Application Server
(OAS), 418
Oracle Certified Professional
program. See OCP program
Oracle Data Migration
Assistant. See ODMA
Oracle Diagnostics Pack, 198
Performance Manager, 199-200
TopSessions, 198-199, 287-290
Oracle Discover, 470
Oracle Enterprise Manager.
See OEM (Oracle Enterprise
Manager)
Oracle environment setup,
97-99
DISPLAY variable, 100-101
LD_LIBRARY_PATH
variable, 99
NLS_LANG variable, 99
ORACLE_BASE variable, 99
ORACLE_HOME variable, 99
ORACLE_SID variable, 99
ORA_NLS33 variable, 99
PATH variable, 100
umask, 101-102
Oracle Forms, 470
Oracle installation
installation process
database file location, 105
installation options, 104
orainstRoot.sh file, 103
root.sh file, 107
summary page, 105
Unix group, 103
welcome screen, 102
Oracle environment setup,
97-99
DISPLAY variable, 100-101
LD_LIBRARY_PATH
variable, 99
NLS_LANG variable, 99
ORACLE_BASE variable, 99
ORACLE_HOME
variable, 99
ORACLE_SID variable, 99
ORA_NLS33 variable, 99
PATH variable, 100
umask, 101-102
Oracle Installation and
Configuration Guide (ICG), 88
patches, 109
pre-installation setup
CPUs, 92
disks and filesytems, 91-92
memory, 90
network information, 92
operating system and
version, 88-90
swap space, 90
system configuration, 92
disks and filesystems, 94-96
groups, 93-94
root passwords, 93
shared memory settings,
96-97
users, 94
verifying, 107-108
Oracle Installation and
Configuration Guide (ICG), 88
Oracle Management Server
(OMS), 178
Oracle Parallel Server (OPS),
80, 508
Oracle Portal, 418, 460, 471
Administer utility, 456
architecture, 439-440
benefits of, 438-439
Browse utility, 452-453
Build utility, 453, 456
installing
listener, 446-447
ORACLE_HOME variable,
440-441
root.sh script, 448
PARFILE import parameter
573
system requirements, 440
text-based installer, 441-447
user roles, 449-450
listener
installing, 446
starting and stopping,
450-451
login procedure, 451-452
Monitor utility, 457-459
Sites utility, 459
Oracle Reports, 470
Oracle servers. See databases
Oracle Support, 108-109
Oracle Tuning Pack, 200
Oracle Universal Installer.
See OUI
Oracle University, 513-514
Oracle-managed files, 494-500
creating redo logs with, 498-499
creating tablespaces with,
495-497
ORACLE_BASE variable, 99
ORACLE_HOME directory,
386-387
ORACLE_HOME variable, 99
ORACLE_SID variable, 99
oradebug command, 350-352
orainstRoot.sh file, 103
oratab file, 61, 131
ORA_NLS33 variable, 99
OUI (Oracle Universal Installer)
database file location, 105
installation options, 104
orainstRoot.sh file, 103
root.sh file, 107
summary page, 105
Unix group, 103
welcome screen, 102
OUTLN user, 406
output. See I/O (input/output)
outside organizations, role of
DBAs in, 26
overflow areas, 314
OWNER export parameter,
207, 209
ownership of files, 526
P
p command (vi), 535
page command, 529
page daemon, 329
pages (Unix), 329
pagesize command, 329
paging, 171-172, 329-330
Parallel Server (Oracle), 80, 508
parameter files
backups, 266
config.ora, 60
exporting data, 208-210
importing data, 214-216
init.ora, 60
upgrades, 388
parameters
DB_CACHE_SIZE, 500
DB_CREATE_FILE_DEST, 495
DB_CREATE_ONLINE_
LOG_DEST, 495
export parameters
BUFFER, 206
COMPRESS, 207
CONSISTENT, 209
DIRECT, 209
FEEDBACK, 209
FILE, 206, 208
FULL, 207, 209
LOG, 209
OWNER, 207, 209
PARFILE, 208
ROWS, 207
TABLES, 207, 209
tuning, 226-227
USERID, 206
hexadecimal format, 97
import parameters
BUFFER, 212
COMMIT, 215
FEEDBACK, 214
FILE, 212
FROMUSER, 215
FULL, 213
GRANTS, 213
IGNORE, 213
INDEXFILE, 215
LOG, 214
PARFILE, 214
ROWS, 213
TOUSER, 215
tuning, 226-227
USERID, 212
JAVA_MAX_SESSIONSPACE_
SIZE, 426
JAVA_POOL_SIZE, 48, 426
JAVA_SOFT_SESSIONSPACE_
LIMIT, 426
LARGE_POOL_SIZE, 500
LOG_BUFFER, 47, 303
LOG_CHECKPOINT_
INTERVAL, 55
LOG_CHECKPOINT_
TIMEOUT, 55
LOG_CHECKPOINT_TO_
ALERT, 55
MAXEXTENTS, 279
MINEXTENTS, 306
Oracle 9i server
dynamic memory
parameters, 500-503
SPFILEs (server parameter
files), 490-494
PROCESSES, 500
SEMMNS, 345-346
SEMMSL, 345
SHARED_POOL_SIZE,
303-304, 500
SHMMAX, 344
SHMMIN, 345
SHMMNI, 345
SHMSEG, 345
SORT_AREA_SIZE, 305
UNDO_MANAGEMENT, 503
UNDO_RETENTION, 506
UNDO_SUPPRESS_
ERRORS, 506
parent processes, 326
PARFILE export parameter, 208
PARFILE import parameter, 214
parfiles
574
parfiles (parameter files)
exporting data, 208-210
importing data, 214-216
upgrades, 388
partitioned tables, 314-316
partitions
hash partitioning, 315
list partitioning, 315
partitioned tables, 314-316
range partitioning, 315
raw partitions, 161, 359-360
swap partitions, 355
passwd command, 529
password statement (SQL), 129
passwords
changing, 129-131, 529
Intelligent Agents, 188-190
prompting for, 530
root passwords, 93
patches
applying, 109
checking, 90
defined, 374-375
downloading, 378
example, 382-385
installation CD patches, 378
installing
backups, 380
installation process, 381
patches directory, 379
post-patch steps, 381-382
README files, 378
preparation, 376-378
tips and recommendations,
391-392
when to use, 375-376
patches directory, 379
path loading
conventional, 229
direct, 229-232
PATH variable, 100
pctfree parameter, 160
pctincrease parameter, 160
pctused parameter, 160
Performance Manager, 199-200
performance tuning, 294.
See also problem solving
B/ESTAT script, 296-298
DBA (database administrator)
responsibilities, 14-15
file contention, 308-309
goals and approaches, 294-295
import and export parameters,
226-227
indexes, 318-320
locally managed tablespaces,
311-313
memory, 301
data dictionary cache, 304
database buffer cache,
302-303
disk sorts, 305
library cache, 303-304
ratios, 302
redo log buffer, 303
patches
applying, 109
checking, 90
defined, 374-375
downloading, 378
example, 382-385
installation CD patches, 378
installing, 378-382
preparation, 376-378
tips and recommendations,
391-392
when to use, 375-376
rollback segments, 305-306
batch jobs, 306-307
contention, 307
extends, 308
wraps, 308
STATSPACK script
gathering statistics, 299-300
generating reports, 300-301
installing, 298-299
tables
IOTs (Index Organized
Tables), 313-314
partitioned tables, 314-316
row chaining, 316-318
row migration, 316-318
UTLBSTAT script, 296-298
wait events, 309-311
permissions
changing, 526
default permissions, 101
Perpetual Technologies, 17, 514
pfile files, 74
PGA (Program Global Area), 48
physical backups, 240
pine command, 529
ping command, 275, 369-370
pinned memory blocks, 43
pipes, 223-225
PL/SQL, 424-425
PL/SQL Server Pages (PSPs),
471
planning databases
backups, 267-269
capacity planning, 67-68
disk drives, 69
memory, 69
operating system, 68-69
server costs, 70
system maintenance, 70-71
technologies and vendors,
71
migrations, 398
OFA (Optimal Fexible
Architecture), 71-72
benefits of, 72
minimum requirements, 72
/u01 directory, 73
recovery, 267-269
system architecture, 64-65
three-tier, 66-67
two-tier, 65-66
Plew, Ron, 152
PMON (Process Monitor),
53, 278
policies (paging), 172
pools (memory)
Java pool, 48-49
large pool, 48
shared pool, 46-47
sizing, 501
processes
575
Portal (Oracle), 418, 460, 471
Administer utility, 456
architecture, 439-440
benefits of, 438-439
Browse utility, 452-453
Build utility, 453, 456
installing
listener, 446-447
ORACLE_HOME variable,
440-441
root.sh script, 448
system requirements, 440
text-based installer, 441-447
user roles, 449-450
listener
installing, 446
starting and stopping,
450-451
login procedure, 451-452
Monitor utility, 457-459
Sites utility, 459
pre-installation setup
CPUs (central processing units),
92
disks and filesystems, 91-92
memory, 90
network information, 92
operating system and version,
88-90
swap space, 90
preparing for certification
exams, 517-518
principles of database
administration, 9
data availability, 11-12
data protection, 10-11
priorities (processes), 324
privileges
CREATE SESSION, 150
granting, 149-150
object privileges, 150
viewing, 150
problem solving, 21, 272.
See also performance tuning
applications, 280-281
architecture diagrams, 273-275
data files, 281
adding, 282
moving, 282-285
renaming, 282-285
sizing, 282
databases
alertSID.log file, 279
database locks, 279
init.ora file, 280
invalid objects, 279
listener processes, 278
log switches, 279
offline data files, 279
offline tablespaces, 279
PMON (Process Monitor),
278
rollback segment errors,
279, 290-291
startup, 144
tablespace free space, 279
tnsnames.ora file, 278
user sessions, 279
DBA (database administrator)
responsibilities, 15
disk contention, 81-85
error messages
not connected, 124
public synonym...does not
exist, 124
Snapshot too old, 279,
290-291
export command, 221-222
filesystems, 333-334
import command, 221-222
information gathering, 272-273
locks, 286-287
DDL (Data Definition
Language), 290
defined, 286
DML (Data Manipulation
Language), 287-290
Lock Manager, 287
TopSessions, 287-290
patches
applying, 109
checking, 90
defined, 374-375
downloading, 378
example, 382-385
installation CD patches, 378
installing, 378-382
preparation, 376-378
tips and recommendations,
391-392
when to use, 375-376
servers
boot messages, 276
command-line response
time, 276
full filesystems, 276
locked files, 276
missing processes, 276
ping command, 275
resource-intensive jobs, 276
uptime command, 276
Process Monitor (PMON),
53, 278
process tables, 324
processes, 49
ARCn (archiver), 56
background processes, 52-53
CKPT (checkpoint), 55
DBWn (Database Writer), 53-54
displaying, 529
Dnnn (dispatcher), 56
LGWR (Log Writer), 54
listener, 135-137, 278
PMON (Process Monitor),
53, 278
problem-solving, 276
QMNnn (queue monitor), 56
RECO (recovery), 56
server processes, 50-52
SMON (System Monitor), 53
Snnn (shared server), 56
SNPnn (job queue) processes, 56
terminating, 528
Unix, 323
creating, 326
initialized data, 325
multitasking, 323
parent processes, 326
processes
576
priorities, 324
process tables, 324
RT (Real Time), 324
scheduler process, 324
stack, 325
states, 325
SYS (System), 324
text area, 325
TS (Time Share), 324
viewing, 327
PROCESSES parameter, 500
/product directory, 73
.profile files, 137-138
Program Global Area (PGA), 48
programmers, 7, 24
program listings. See listings
programs. See applications;
scripts
prompting for passwords, 530
protecting data, 10-11
protocols
FTP (File Transfer Protocol),
379-380
IIOP (Internet Inter-Orb
Protocol), 433-435
ps command, 129, 278,
326-327, 363, 529
PSPs (PL/SQL Server Pages), 471
public synonym to be
dropped does not exist
(error message), 124
publish utility, 435
publishing Java programs, 432
Q-R
q! command (vi), 535
QMNnn (queue monitor), 56
query-based exports, 211
Quest TOAD, 200-201
queue monitor (QMNnn)
processes, 56
quotas (user), 151-152
RAC (Real Application
Clusters), 508
RAID (Redundant Array of
Inexpensive Disks), 357-359
range partitioning, 315
ratios (memory pools), 302
raw partitions, 161, 359-360
.RBO file extension, 41
.RBS file extension, 40
read-only tablespaces, 163
Real Application Clusters
(RAC), 508
Real Time (RT) processes, 324
rebuilding tables, 220
RECO (recovery) process, 56
recovery, 238
cold backups, 248
crashes, 255-256
DBA (database administrator)
responsibilities, 15
lost control files, 261-262
lost data files, 256-258
lost redo log files, 259-261
lost tablespaces, 258-259
multiple lost files, 262-266
planning, 267-269
testing, 269
recovery (RECO) process, 56
redo log files, 40-41
analyzing, 232-235
creating, 498-499
groups, 41
multiplexing, 244-245
redo log buffer, 47, 303
Redundant Array of
Inexpensive Disks (RAID),
357-359
referral incentives, 521
rehosting
compared to migration, 396
import/export command, 402
renaming data files, 282-285
reports
B/ESTAT script, 296-298
Oracle Discover, 470
Oracle Reports, 470
sar (System Activity Report),
361
STATSPACK, 300-301
UTLBSTAT script, 296-298
repositories, 185-186
requesting online chat
sessions, 530
resizing. See sizing
response time, 276
restoring files, 240. See also
recovery
restricted session mode, 145
rm command, 529
rmdir command, 529
roles (user), 151, 449-450
rollback data files, 38-40
rollback segments
performance tuning, 305-306
batch jobs, 306-307
contention, 307
extends, 308
wraps, 308
troubleshooting errors, 279,
290-291
rolling back transactions, 38
root passwords, 93
root.sh file, 107
row chaining, 316-318
row migration, 316-318
rows
counting, 221
locking, 286-287
DDL (Data Definition
Language), 290
defined, 286
DML (Data Manipulation
Language), 287-290
Lock Manager, 287
TopSessions, 287-290
row chaining, 316-318
row migration, 316-318
ROWS export parameter, 207
ROWS import parameter, 213
rpm command, 90, 529
RT (Real Time) processes, 324
run levels, 336
servers
577
Run state, 325
running
B/ESTAT, 297-298
cron, 166-167
database creation scripts, 124
Java programs, 432
multiple schemas, 157
UTLBSTAT, 297-298
run_hots.sql script, 542
S
S run level, 336
salaried employees, 521-522
sar command, 529
CPU usage statistics, 367
disk I/O monitoring, 361
SAs (system administrators),
7, 22-23
scalability of Web architecture,
467-468
sched (scheduler) process, 324
Schema Manager, 196
schemas
backing up, 216-217
migrating, 217-219
Oracle 9i server sample
schemas, 506-508
Schema Manager, 196
SCNs (System Change
Numbers), 34
scope of DBA (database
administrator)
responsibilities, 6
screen, clearing, 129, 526
script command, 529
scripts. See also commands
B/ESTAT, 296-298
catalog.sql, 382
catproc.sql, 382
catrep.sql, 382
compare_users.sql, 541
create_analyze_script.sql, 541
database creation scripts
advantages, 112-113
customizing, 121-123
directory location, 113
generating, 113, 115-120
running, 124
dbshut, 247
login.sql, 538
run_hots.sql, 542
show_dba_rollback_segs.sql, 539
show_filestat.sql, 539
show_index_depth.sql, 539
show_redo_logs.sql, 539
show_rollback_contention.sql,
540
show_segments.sql, 540
show_session_short.sql, 538
show_tablespaces.sql, 540-541
STATSPACK
gathering statistics, 299-
300
generating reports, 300-301
installing, 298-299
tail-alert, 541
upgrade scripts, 387
UTLBSTAT, 296-298
UTLESTAT, 296-298
searching files, 527
second extended filesystem
(ext2), 332
security
backups
cold backups, 248-250
fault tolerance, 243-247
hot backups, 250-255
importance of, 238
logical backups,
216-217, 239
media failure, 241-243
physical backups, 240
business archives, 217
data availability, 11-12
data protection, 10-11
file permissions
changing, 526
default permissions, 101
Oracle 9i server, 488-489
passwords
changing, 129-131
Intelligent Agents, 188-190
prompting for, 530
privileges, 149-150
quotas, 151-152
recovery, 238
cold backups, 248
crashes, 255-256
DBA (database
administrator)
responsibilities, 15
lost control files, 261-262
lost data files, 256-258
lost redo log files, 259-261
lost tablespaces, 258-259
multiple lost files, 262-266
planning, 267-269
testing, 269
root passwords, 93
Security Manager, 196-197
SYSTEM account, 126
user roles, 151
Security Manager, 196-197
sem.h file, 96
semaphores
monitoring, 345-346
removing, 348-349
ipcrm command, 353
ipcs command, 352-353
oradebug command, 350-352
sysresv command, 349-350
SEMMNS parameter, 345-346
SEMMSL parameter, 345
sequences, 152-154
Server Manager, 32
server parameter files.
See SPFILEs
server processe, 50-52
servers, 50
client/server architecture, 64-65
three-tier, 66-67
two-tier, 65-66
CORBA servers, 425, 435
costs, 70
dedicated servers, 50
servers
578
iAS. See iAS (Internet
Application Server)
MTS (Multi-Threaded Servers),
50-52, 423, 433-435
OAS (Oracle Application
Server), 418, 469
OMS (Oracle Management
Server), 178, 183-185
OPS (Oracle Parallel Server),
80, 508
Oracle servers. See databases
pre-installation setup
CPUs (central processing
units), 92
disks and filesytems, 91-92
memory, 90
network information, 92
operating system and
version, 88-90
swap space, 90
problem-solving, 275-276
system configuration, 92
disks and filesystems, 94-96
groups, 93-94
root passwords, 93
shared memory settings,
96-97
users, 94
Unix, monitoring, 342-343
CPUs, 362-367
disk I/O, 356-361
importance of, 342
memory, 354-356
network performance,
368-371
shared memory, 344-353
WebLogic, 466
servlets, 421
SGA (Shared Global Area),
42-45, 346-347
shared filesystems, 84
shared memory
configuring, 96-97
data dictionary cache, 46
displaying, 528
finding
ipcs command, 352-353
oradebug command, 350-
352
sysresv command, 349-350
ISM (Intimate Shared
Memory), 347-348
library cache, 46-47
monitoring
semaphores, 345-346
SHMMAX parameter, 344
SHMMIN parameter, 345
SHMMNI parameter, 345
SHMSEG parameter, 345
removing, 348-349, 528
oradebug command,
350-353
sysresv command, 349-350
SGA (Shared Global Area),
42-45, 346-347
sizing, 501
shared server (Snnn)
processes, 56
shared-everything architecture,
338
shared-nothing architecture,
340
SHARED_POOL_SIZE
parameter, 303-304, 500
shell programming, 97
shelling out, 194
SHMMAX parameter, 344
SHMMIN parameter, 345
SHMMNI parameter, 345
shmparam.h file, 96
SHMSEG parameter, 345
shop, 6
SHOW PARAMETER
command, 60
showrev command, 90
show_dba_rollback_segs.sql
script, 539
show_filestat.sql script, 539
show_index_depth.sql script,
539
show_redo_logs.sql script, 539
show_rollback_contention.sql
script, 540
show_segments.sql script, 540
show_session_short.sql script,
538
show_tablespaces.sql script,
540-541
shutdown process, 337
SHUTDOWN ABORT
statement, 147-148
shutdown command, 337
SHUTDOWN IMMEDIATE
statement, 147
shutdown state, 143
SHUTDOWN statement,
146-147
SHUTDOWN TRANSACTIONAL
statement, 147
shutting down databases,
143-145
SHUTDOWN ABORT
statement, 147-148
SHUTDOWN IMMEDIATE
statement, 147
SHUTDOWN statement,
146-147
SHUTDOWN
TRANSACTIONAL
statement, 147
Sites utility, 459
size of disks, 359
sizing
data files, 161, 282
shared pool, 501
systems. See capacity planning
Sleep state, 325
SMON (System Monitor), 53
SMP (symmetrical multi-
processor) machines, 338
Snapshot too old (error
message), 279, 290-291
Snnn (shared server)
processes, 56
SNPnn (job queue) processes,
56
statistics
579
soft links
creating, 528
init.ora file, 131-132
software installation files, 61-62
solving problems.
See problem solving
sorts, 305
SORT_AREA_SIZE parameter,
305
space management
dynamic space allocation, 159
fragmentation, 159
storage hierarchy, 157-160
storage parameters, 159-160
tablespaces, 160
adding data files to, 162
creating, 161
locally managed tablespaces,
162
offline tablespaces, 163
read-only tablespaces, 163
SPFILEs (server parameter
files), 490-494
backing up, 493
creating, 490
updating, 492-493
viewing, 491
SQL (Standard Query
Language)
DDL (Data Definition
Language), 290
DML (Data Manipulation
Language), 287-290
dynamic SQL, 128
PL/SQL, 424-425
scripts
compare_users.sql, 541
create_analyze_script.sql, 541
login.sql, 538
run_hots.sql, 542
show_dba_rollback_segs.sql,
539
show_filestat.sql, 539
show_index_depth.sql, 539
show_redo_logs.sql, 539
show_rollback_
contention.sql, 540
show_segments.sql, 540
show_session_short.sql, 538
show_tablespaces.sql,
540-541
tail-alert, 541
SQL*Loader, 227
conventional path loading,
229
direct path loading, 229-232
file types, 228
SQL*PLUS, 31, 194
CREATE USER statement,
149
SHOW PARAMETER
statement, 60
SHUTDOWN ABORT
statement, 147-148
SHUTDOWN IMMEDIATE
statement, 147
SHUTDOWN statement,
146-147
SHUTDOWN
TRANSACTIONAL
statement, 147
STARTUP RESTRICT state-
ment, 145
STARTUP statement, 143
SQL*Plus Worksheet, 194
SQL*Loader, 227
conventional path loading, 229
direct path loading, 229-232
file types, 228
SQL*PLUS, 31, 194
CREATE USER statement, 149
SHOW PARAMETER
statement, 60
SHUTDOWN ABORT
statement, 147-148
SHUTDOWN IMMEDIATE
statement, 147
SHUTDOWN statement,
146-147
SHUTDOWN
TRANSACTIONAL
statement, 147
STARTUP RESTRICT
statement, 145
STARTUP statement, 143
SQL*Plus Worksheet, 194
sqlnet.ora file, 62
stack, 325
standalone mode (OEM), 193
starting
Data Gatherer, 190
Database Configuration
Assistant, 113
databases
closed databases, 144
online database startup,
245-247
problem solving, 144
restricted session mode, 145
STARTUP RESTRICT state-
ment, 145
STARTUP statement, 143
Intelligent Agents, 187
Oracle Portal listener, 450-451
Unix
run levels, 336
sequence of events, 335-336
STARTUP RESTRICT statement,
145
STARTUP statement, 143
stateful beans, 421
stateless beans, 421
statements (SQL)
CREATE USER, 149
desc, 141
password, 129
SHOW PARAMETER, 60
SHUTDOWN, 146-147
SHUTDOWN ABORT, 147-148
SHUTDOWN IMMEDIATE, 147
SHUTDOWN
TRANSACTIONAL, 147
STARTUP, 143
STARTUP RESTRICT, 145
states, 142-143, 325
statistics.
See also monitoring system
CPU usage, 366-367
statistics
580
gathering
B/ESTAT script, 296-298
STATSPACK script, 298-301
UTLBSTAT script, 296-298
sar (System Activity Report),
361
STATSPACK script
gathering statistics, 299-300
generating reports, 300-301
installing, 298-299
Stevens, Ryan, 152
Stop state, 325
stopping
Data Gatherer, 190
Oracle Portal listener, 450-451
storage hierarchy, 157-160
Storage Manager, 197-198
storage parameters, 159-160
strings, connect strings, 32
striping disks, 358
Studio (DBA), 194
Instance Manager, 194-195
Schema Manager, 196
Security Manager, 196-197
Storage Manager, 197-198
source code listings.
See listings
su command, 530
Sun clusters, 338-339
support. See help
swap area, 328
swap command, 355
swap partitions
checking, 90
viewing, 355
swapping, 329-330
symmetrical multiprocessor
(SMP) machines, 338
synchronous I/O, 360
synonyns, 155-157
syntax listings. See listings
SYS (System) processes, 324
sysresv command, 349-353
System (SYS) processes, 324
SYSTEM account, 126
System Activity Report (sar),
361
system administrators (SAs),
7, 22-23
system architecture, 64-65
three-tier, 66-67
two-tier, 65-66
System Change Numbers
(SCNs), 34
system configuration, 92
disks and filesystems, 94-96
groups, 93-94
root passwords, 93
shared memory settings, 96-97
users, 94
system data files, 36
system maintenance, 70-71
System Monitor (SMON), 53
system monitoring.
See monitoring system
SYSTEM tablespace, 405-406
systems DBAs (database
administrators), 9, 522
systems designers, 8
T
tables
backing up, 216
creating, 152-154
exporting, 205
IOTs (Index Organized Tables),
313-314
locking, 286-287
DDL (Data Definition
Language), 290
defined, 286
DML (Data Manipulation
Language), 287-290
Lock Manager, 287
TopSessions, 287-290
partitioned tables, 314-316
performance tuning
IOTs (Index Organized
Tables), 313-314
partitioned tables, 314-316
row chaining, 316-318
row migration, 316-318
process tables (Unix), 324
rebuilding, 220
rows
counting, 221
row chaining, 316-318
row migration, 316-318
TABLES export parameter,
207, 209
tablespaces
adding data files to, 162
allocations, 165-166
creating, 161, 495-497
data files. See data files
free space, 279
locally managed tablespaces,
162, 311-313
lost tablespaces, 258-259
names, 219
offline tablespaces, 163, 279
read-only tablespaces, 163
SYSTEM, 405-406
undo tablespaces, 503-506
tail command, 279, 530
tail-alert script, 541
talk command, 530
tar command, 384, 530
Technet, 108
Technet Web site, 514
technical capacity-planning
issues
disk drives, 69
memory, 69
operating system, 68-69
technical problems
applications, 280-281
data files, 281
adding, 282
moving, 282-285
renaming, 282-285
sizing, 282
databases
alertSID.log file, 279
database locks, 279
Unix
581
init.ora file, 280
invalid objects, 279
listener processes, 278
log switches, 279
offline data files, 279
offline tablespaces, 279
PMON (Process Monitor),
278
rollback segment errors,
279, 290-291
tablespace free space, 279
tnsnames.ora file, 278
user sessions, 279
locks, 286-287
DDL (Data Definition
Language), 290
defined, 286
DML (Data Manipulation
Language), 287-290
Lock Manager, 287
TopSessions, 287-290
servers
boot messages, 276
command-line response
time, 276
full filesystems, 276
missing processes, 276
ping command, 275
resource-intensive jobs, 276
uptime command, 276
technical responsibilities of
database administration
application support, 14
backup and recovery, 15
performance tuning, 14-15
system activities, 12-14
troubleshooting, 15
technical support. See help
temp (temporary) data files, 38
temporary tablespaces,
258-259
terminals, dumb, 65
terminating. See stopping
testing
applications, 399-400
backups, 269
databases, 398-399
exports, 222
imports, 222
migrations, 400-401
recovery, 269
tests. See exams
text, editing, 534
text area (Unix processes), 325
text editors, vi, 534
thin clients, 65-66
thin drivers, 422
third-party Oracle classes, 514
thrashing, 329
threads, 328
three-tier client/server
architecture, 66-67
thresholds, 356
Time Share (TS) processes, 324
time/date, displaying, 527
tnsnames.ora file, 61,
133-134, 278
tnsping command, 369
TOAD, 200-201
tools. See commands; scripts
top command, 276,
364-365, 530
TopSessions, 198-199, 287-290
touch command, 530
TOUSER import parameter,
215
traditional education, 513
training, 512.
See also certification
CBT (Computer Based
Training), 514
colleges and universities, 513
continuing education, 21-22
emerging technologies, 515-516
independent learning, 514-515
on-the-job training, 8
Oracle University, 513-514
third-party Oracle classes, 514
transactions
DSS (Decision Support
Systems), 77-78
example, 57-59
OLTP (Online Transaction
Processing), 50, 76-77
rollback, 38
troubleshooting.
See problem-solving
truss command, 530
TS (Time Share) processes, 324
Tuning Pack, 200
tuning performance.
See performance tuning
two-tier client/server
architecture
clients, 65-66
servers, 66
Typical installation (Oracle), 104
U
/u01 directory
/admin subdirectory, 73-74
/local subdirectory, 74
/product subdirectory, 73
udump (user dump) files, 74
ufs filesystem, 332
UGA (User Global Area), 49
umask command, 101-102, 530
umount command, 333
uname command, 88, 530
uncompress command, 530
uncompressing files
gunzip command, 528
uncompress command, 530
undo tablespaces, 503-506
UNDO_MANAGEMENT
parameter, 503
UNDO_RETENTION parameter,
506
UNDO_SUPPRESS_ERRORS
parameter, 506
uninstalling Java, 429-430
uniprocessor machines, 337-338
university courses, 513
Unix, 322
clusters, 338-339
files, 334
Unix
582
filesystems
ext2, 332
free space, 332
iso9660, 333
mount points, 331
mounting, 331-332
nfs, 332
problem solving, 333-334
ufs, 332
unmounting, 333
vxfs, 333
I/O subsystem, 335
kernel, 322-323
memory
pages, 329
paging, 329-330
swap area, 328
swapping, 329-330
thrashing, 329
virtual memory, 328
monitoring, 342-343
CPUs, 362-367
disk I/O, 356-361
importance of, 342
memory, 354-356
network performance,
368-371
shared memory, 344-353
MPPs (Massively Parallel
Processors), 340
NUMAs (NonUniform Memory
Access), 340
processes, 323
creating, 326
initialized data, 325
multitasking, 323
parent processes, 326
priorities, 324
process tables, 324
RT (Real Time), 324
scheduler process, 324
stack, 325
states, 325
SYS (System), 324
text area, 325
TS (Time Share), 324
viewing, 327
shared-everything architecture,
338
shared-nothing architecture,
340
shutdown process, 337
SMP (symmetrical multiproces-
sor) machines, 338
startup process
run levels, 336
sequence of events, 335-336
uniprocessor machines, 337-338
unmounting filesystems, 333
updating SPFILEs (server
parameter files), 492-493
upgrades
defined, 374-375
example, 388-391
import/export commands, 402
installing, 386-388
ORACLE_HOME directory,
386-387
parameter files, 388
preparation, 385-386
tips and recommendations, 391-
392
upgrade scripts, 387
when to perform, 375-376
uptime command, 276,
365-366, 530
user dump (udump) files, 74
User Global Area (UGA), 49
user interfaces
Net8, 32-33
Server Manager, 32
SQL*Plus, 31
user-level exports, 205-206
useradd command, 94
USERID export parameter, 206
USERID import parameter, 212
users, 25
creating, 94, 149
groups
creating, 93-94
oinstall, 94
killing, 146, 367
logged-in users, displaying, 531
logging off, 527
MIGRATE, 406
OUTLN, 406
privileges, 149-150
quotas, 151-152
roles, 151, 449-450
USER_X view, 140
utilities. See commands; scripts
UTLBSTAT script, 296-298
UTLESTAT script, 296-298
V
V$ view, 140
V$SESSION_EVENT view,
310-311
V$SESSION_WAIT view, 311
V$SYSTEM_EVENT view, 310
/var/opt/oracle directory, 96
variables, environment
CLASSPATH, 100
DISPLAY, 100-101
displaying, 527
LD_LIBRARY_PATH, 99
NLS_LANG, 99
ORACLE_BASE, 99
ORACLE_HOME, 99
ORACLE_SID, 99
ORA_NLS33, 99
PATH, 100
vendors, capacity-planning
issues, 71
verifying
database instances, 125-127
databases and connectivity,
163-164
Intelligent Agents, 188
Oracle installation, 107-108
Veritas filesystem (vxfs), 333
vi editor, 534
viewing. See displaying
views, 140-141
obtaining descriptions of, 141
obtaining list of, 141
V$SESSION_EVENT, 310-311
Zombie state
583
V$SESSION_WAIT, 311
V$SYSTEM_EVENT, 310
virtual memory, 328
vmstat command, 355-356, 531
CPU usage statistics, 366
disk I/O monitoring, 361
vxfs (Veritas) filesystem, 333
W
w command, 535
wait events, 309-310
V$SESSION_EVENT view,
310-311
V$SESSION_WAIT view, 311
V$SYSTEM_EVENT view, 310
wall command, 531
wc command, 531
Web architecture, 464-466
availability, 468
clients, 465
database tier, 465
middle tier, 465
scalability, 467-468
technological design, 467
Web cache (iAS), 471-472
Web servers. See servers
Web sites
Java, 420
MetaLink, 378, 514
OCP (Oracle Certified
Professional) program, 517
Oracle University, 513
Perpetual Technologies, 17, 514
Technet, 514
WebDB. See Oracle Portal
WebLogic server, 466
which command, 531
who command, 531
word count, displaying, 531
wq command, 535
wraps (rollback segments), 308
X-Z
x command, 535
yy command, 535
Zombie state, 325