everythingOracle.bizhat.com

 

'Everything you wanted
to know about Oracle'

Training References Syntax Tell A Friend Contact Us

 

 

The Oracle 10g Database New Features

 

 

More features that are important to note in the Oracle 10g database

 

Dynamic Performance Views:

Use the V$FAST_START_TRANSACTIONS view to monitor (in real-time) normal transaction rollback and transaction recovery by SMON.

SQL> SELECT * FROM v$fast_start_ transactions;

 

Use the V$FAST_START_SERVERS view to display historical information about transaction recovery.

SQL> SELECT * FROM v$fast_start_servers;

 

Use the DBA_ENABLED_TRACES view to display enabled and disabled trace.

SQL> SELECT * FROM dba_enabled_traces;

 

Session-Based Tracing:

Now, you can consolidate the output tracing to a single output using the TRCSESS command line and then use the TKPROF tool to read it.

$ trcsess output=oracle.trc clientid=oracle

 

The DBMS_MONITOR statistics package

In the Oracle 10g database, you can control additional tracing and statistics gathering based on client identifier:

SQL> BEGIN

            dbms_monitor.client_id_stat_enable (your_client_id);

           END;

            /

$ trcsess output=oracle.trc clientid=oracle

 

Client Connection

If your platform is using native TCP/IP, then you don�t need to have tnsnames.ora or sqlnet.ora configured in the client machine.

SQL> CONNECT oracle/learning@//host_name:port/service_name

The default port number is 1521

SQL> CONNECT oracle/learning@//myserver/school    -- Assuming that myserver is the name of your database server and school is your service name.

 

Flushing the BUFFER CACHE memory

You should never do this unless you know the ramifications. It is useful on the test environment to determine the effects of changes in queries or application.

SQL> ALTER SYSTEM FLUSH BUFFER_CACHE;

 

Regular Expression Support

It is a method for simple and complex patterns for searching and manipulating. Its functions are:

REGEXP_LIKE,

REGEXP_REPLACE,

REGEXP_INSTR, and

REGEXP_SUBSTR

Example:

Query a list of all employees� name that hired between 1996 and 1999.

SQL> SELECT ename FROM emp

            WHERE REGEXP(TO_CHAR(hire_date, �YYYY�), �^199[6-9]$�);

You used �^� to indicate that the beginning of the line has to be 199, and [-] with $ to specify range of valid characters.

 

Case-insensitive sorting

In the Oracle 10g database, you can use the ALTER SESSION command to change NLS_SORT for your session to use case-insensitive binary sorting.

 

Connect as ORACLE, and insert a record with employee�s name lower case.

SQL> CONNECT oracle/learning

SQL> INSERT INTO emp

            VALUES (9991, �scott�,�CLERK�, 7698,

            TO_DATE(�04-DEC-87�), 765.5, null, 30);

SQL> COMMIT;

 

Query the employees� name.

SQL> SELECT ename FROM emp;

 

Now, change the NLS_SORT parameter to case-insensitive binary.

SQL> ALTER SESSION SET NLS_SORT = binary_ci;

 

Query the employees� name again.

SQL> SELECT ename FROM emp;

Check the scott employee�s name before and after the ALTER SESSION command.

 

Quote Operator q

Now, you can eliminate previous additional quotation string. See the following example:

SQL> UPDATE customers

            SET comments =

            q�X In this example, �X� is used as the quotation mark delimiter. X�;

            WHERE ID = 100;

SQL> COMMIT;

 

The UTL_MAIL package

You can send e-mail to a user. In order to use the package, you should have already run the utlmail.sql and prvtmail.plb scripts located in the $ORACLE_HOME/rdbms/admin directory.

 

Connect as sysdba and run the above scripts.

SQL> CONNECT / AS SYSDBA

SQL> @$ORACLE_HOME/rdbms/admin/utlmail.sql

SQL> @$ORACLE_HOME/rdbms/admin/prvtmail.plb

 

Write a PL/SQL block to test a value of a binding variable. If it is less than 10, then email a message that we are going to have a shortage of books.

SQL> VARIABLE number_of_items NUMBER

SQL> VARIABLE my_message VARCHAR2

SQL> BEGIN

            :number_of_items := 8;

            :my_message := �There is a shortage of books. They are: �

                         || :number_of_items );

            IF :number_of_items < 10 THEN

                        -- email the responsible person

                        utl_mail.send (

                        SENDER       => �[email protected]�,

                        RECIPIENTS            => �[email protected]�,

                        SUBJECT    => �Make orders�,

                        MESSAGE    => :my_message);

            END IF;

          END;

          /

 

     Reviews and Templates for FrontPage
     

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