everythingOracle.bizhat.com

 

'Everything you wanted
to know about Oracle'

Training References Syntax Tell A Friend Contact Us

 

 

DBA Fundamentals

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
<< Previous

Chapter # 08

Next >>


 

Configure the database to the archive mode

 

Introduction

As a DBA, you are responsible to recover any failures to a point of failure and also to perform your backup while online. Your organization is a 24x7 shop and you are not able to shutdown the database. Therefore, the database has to be in an archive mode. Your job�s responsibilities dictate that you should at least be informed of the following basic fundamental subjects:

 

Archiving the database

Maintaining the Online Redo Log files

Maintaining the checkpoints

Using the NOARCHIVELOG mode

Using the ARCHIVELOG mode

Using the DBA_USERS view

Using the V$LOG dictionary view

The STATUS column

Using the LOG_CHECKPOINT_INTERVAL parameter

Using the LOG_CHECKPOINT_TIMEOUT parameter

Using the LOG_CHECKPOINTS_TO_ALERT parameter

Commands:

ARCHIVE LOG LIST

SHUTDOWN IMMEDIATE

STARTUP MOUNT PFILE=init.ora

ALTER DATABASE ARCHIVELOG

ALTER DATABASE OPEN

ALTER SYSTEM SWITCH LOGFILE

ALTER SYSTEM CHECKPOINT

SHOW PARAMETER checkpoint

ALTER SYSTEM SET log_checkpoint_timeout = 7200

 

Hands-on

In this exercise you will learn how to Archive the database while the database is in the NOARCHIVELOG MODE and also learn how to maintain the online Redo Log files and checkpoints.
 

Connect to a database
Let's first, connect to SQL*Plus as the system/manager user.
SQL> CONNECT system/manager@yourhost AS SYSDBA
 

Check archive mode
Check to see, if you are in the archive mode or not.
SQL> ARCHIVE LOG LIST
 


Change a database to archive mode

First you should change the following parameters in the parameter file.

log_archive_dest = /u01/app/oracle/admin/<database_name>/arch

log_archive_start = true

log_archive_format = log%s.arc

Shutdown the database and then start the instance and mount but do not open the database. To change the database mode to the NOARCHIVELOG or the ARCHIVELOG modes, you must shutdown and then startup the database with the MOUNT option. When you change the database mode, make sure to take a complete offline backup of the database. You will learn more about how to take a complete OFFLINE backup during the backup and recovery Hands-On exercises.

SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP MOUNT

PFILE=%ORACLE_HOME%.ora

/

Now, change the archiving status of the database.
SQL> ALTER DATABASE ARCHIVELOG
/
Notice that this command will modify the contents of the control files. You can change it back by using the ALTER DATABASE NOARCHIVELOG statement.
 

Open a database
Open the SCHOOL database.
SQL> ALTER DATABASE OPEN
/
 

Check a database is open

Just query the DBA_USERS view to verify that the database is open.
SQL> SELECT count(1)
FROM dba_users
/
 

Check an archive log mode
Check the archive log list again.
SQL> ARCHIVE LOG LIST
Notice that the database mode was changed. It is very important that after changing the database mode, to shutdown the database and then, take a complete OFFLINE backup.
 

Check Log file status
Query the V$LOG dictionary view and take notes on the STATUS column where the online redo log file is CURRENT.
SQL> SELECT * FROM v$log
/
 

Switch an Online Redo Log
To change the Online Redo Log file, use the ALTER SYSTEM SWITCH command. Now, switch the Online Redo Log file to the next Online Redo Log file.
SQL> ALTER SYSTEM SWITCH LOGFILE
/
 


Check log status

Query the V$LOG directory view again and take notes on the STATUS column.
SQL> SELECT * FROM v$log
/
Notice that the CURRENT value, is on a different group number. Remember that anytime the Online Redo Log file switches the CHECKPOINT PROCESS it tells the DB Writer to write all of the dirty blocks in the database.
 

View checkpoint parameters
Show all the checkpoint parameters.

SQL> SHOW PARAMETER checkpoint
Notice that the LOG_CHECKPOINT_INTERVAL is zero. That means, you have a checkpoint whenever the Online Redo Log file switches. The default LOG_CHECKPOINT_TIMEOUT is 1800, and it means that if the Redo Log file did not fill up within 30 minutes, the checkpoint will tell the DB Writer to write all of the dirty blocks in the database. If the LOG_CHECKPOINTS_TO_ALERT value is true, then any occurrence of checkpoint will be written in the database alert file.
 

Checkpoint Manually
Now, let's try to force a checkpoint to happen manually.
SQL> ALTER SYSTEM CHECKPOINT
/
 

Checkpoint every � hours
Set the checkpoint timeout to a 2-hour time interval.
SQL> ALTER SYSTEM SET log_checkpoint_timeout = 7200
 

Questions:

Q: How do you configure a database to an archive mode?

Q: What are the benefits of changing a database mode to the archive mode?

Q: How do you maintain an Oracle Online redo log file?

Q: How do you monitor and maintain the checkpoint process?

Q: Describe the database NOARCHIVELOG mode.

Q: Describe the DBA_USERS view.

Q: Describe the V$LOG dictionary view.

Q: What does the STATUS column indicate in the V$LOG view?

Q: Describe the following parameters:

LOG_CHECKPOINT_INTERVAL parameter

LOG_CHECKPOINT_TIMEOUT parameter

LOG_CHECKPOINTS_TO_ALERT parameter

Q: Describe the ARCHIVE LOG LIST command.

Q: What does the following statement do?

SQL> STARTUP MOUNT

PFILE=%ORACLE_HOME%.ora

/
Q: How do you switch an online redo log file?

Q: How do you perform a checkpoint manually?

Q: How do you perform a checkpoint automatically?

     Reviews and Templates for FrontPage
     

Copyright � everythingOracle.bizhat.com 2006 All Rights Reserved.