everythingOracle.bizhat.com

 

'Everything you wanted
to know about Oracle'

Training References Syntax Tell A Friend Contact Us

 

 

The Oracle 10g Database New Features

 

 

Automatic Storage Management (ASM) in the Oracle 10g database

 

ASM provides a vertical integration of the file system and the volume manager that is specifically built for Oracle database files. Its key features and benefits are:

  • Stripes files rather than logical volumes

  • Online disk reconfiguration and dynamic rebalancing

  • Adjustable rebalancing speed

  • Provides redundancy on a file basis

  • Supports only Oracle database files

  • Custer-aware

  • Automatically installed

 

ASM instance do not have a data dictionary and it is restricted to few SQL commands and Dynamic Performance view. The following are some example of SQL commands.

 

Commands:

SQL> STARTUP/SHUTDOWN

SQL> ALTER DISKGROUP MOUNT/DISMOUNT

SQL> ALTER DISKGROUP ONLINE/OFFLINE DISK

SQL> ALTER DISKGROUP REBALANCE

SQL> ALTER DISKGROUP CHECK

 

Views:

V$ASM_TEMPLATE

V$ASM_DISKGROUP

V$ASM_CLIENT

V$ASM_FILE

V$ASM_ALIAS

V$ASM_DISK

V$ASM_OPERATION

 

The following are examples of creating and deleting disk groups.

Creating a diskgroup:

SQL> CREATE DISKGROUP dgora1 NORMAL REDUNDANCY

            FAILGROUP controller1 DISK

                        �/dev/rdsk/c0t0d0s2� NAME mydisk SIZE 200G FORCE,

                        �/dev/rdsk/c0t1d0s2�,

                        �/dev/rdsk/c0t2d0s2�

            FAILGROUP controller2 DISK

                        �/dev/rdsk/c1t0d0s2�,

                        �/dev/rdsk/c1t1d0s2�,

                        �/dev/rdsk/c1t2d0s2�;

 

Dropping a diskgroup:

SQL> DROP DISKGROUP dgora1 INCLUDING CONTENTS;

 

The following are examples of how to add disks to an existing disk group.

SQL> ALTER DISKGROUP dgora1

                        ADD FAILGROUP controller1

                        �/dev/rdsk/c0t3d0s2� NAME a5;

 

To remove a disk:

SQL> ALTER DISKGROUP dgora1 DROP DISK a5;

 

To undo the removed disk do the following SQL statement. This only works if the status of drop is pending or the drop function was not completed yet.

SQL> ALTER DISKGROUP dgora1 UNDROP DISKS;

 

Hands_On # 1:

Assuming you started your ASM instance.

 

$ ORACLE_SID=+ASM; export ORACLE_SID

$ sqlplus /nolog

SQL> CONNECT / AS SYSDBA

SQL> STARTUP

 

Display a list of your diskgroups.

SQL> SELECT name FROM v$asm_diskgroup;

 

Display a list of associated ASM disks.

SQL> COL name FORMAT a20

SQL> COL failgroup FORMAT a20

SQL> SELECT name, failgroup, bytes_read, bytes_written

            FROM v$asm_disk

            /

 

Display a list of associated ASM files.

SQL> SELECT group_number, file_number, bytes, type, striped

            FROM v$asm_file

            /

 

Open another session with different instance:

$ ORACLE_SID=school; export ORACLE_SID

$ $ sqlplus /nolog

SQL> CONNECT / AS SYSDBA

 

Display a list of all your datafiles.

SQL> COL file_name FORMAT a40

SQL> SELECT file_name, tablespace_name

            FROM dba_data_files

            /

 

Create a tablespace that is stored in the ASM disk group dgora1.

SQL> CREATE TABLESPACE mytablespace2

            DATAFILE �+dgora1� SIZE 100m

            /

 

Display a list of all your datafiles. What do see?

SQL> COL file_name FORMAT a40

SQL> SELECT file_name, tablespace_name

            FROM dba_data_files

            /

Now, you should have one more line.

 

Go back on your ASM instance and display a list of associated ASM files.

SQL> SELECT group_number, file_number, bytes, type, striped

            FROM v$asm_file

            /

The result should be different than before. You added one more datafile to it.

 

Add one addition disk to your system.

SQL> HOST dd if=/dev/zero of=/u02/oradata/school/diska abs=1024k count=200

SQL> SELECT name, failgroup, bytes_read, bytes_written

            FROM v$asm_disk

            /

SQL> ALTER DISKGROUP dgora1

            ADD DISK �/u02/oradata/school/diska�

            /

 

Execute the following query until you get �no rows selected.�

SQL> SELECT operation, est_minutes

            FROM v$asm_operation

            /

 

Again, display a list of associated ASM disks.

SQL> SELECT name, failgroup, bytes_read, bytes_written

            FROM v$asm_disk

            /

Now, you should see one more disk was added to disk group.

 

     Reviews and Templates for FrontPage
     

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