everythingOracle.bizhat.com

 

'Everything you wanted
to know about Oracle'

Training References Syntax Tell A Friend Contact Us

 

 

Oracle Syntax


 

SELECT Syntax statement

SELECT [hint][DISTINCT] select_list

   FROM table_list

   [WHERE conditions]

   [GROUP BY group_by_list]

   [HAVING search_conditions]

   [ORDER BY order_list [ASC | DESC] ]

   [FOR UPDATE for_update_options]

 

select_list
column1, column2, column3

table.column1, table.column2

table.column1 C_1_Alias, table.column2 C_2_Alias

schema.table.column1 Col_1_Alias, schema.table.column2 c_2_Alias

schema.table.*

*

expr1, expr2

 

(subquery [WITH READ ONLY | WITH CHECK OPTION [CONSTRAINT constraint]])

 

In the select_lists above, 'table' may be replaced with view or snapshot.
Using the * expression will return all columns. If a Column_Alias is specified this will appear at the top of any column headings in the query output.

 

FROM table_list
Contains a list of the tables from which the result set data is retrieved.

[schema.]{table | view | snapshot}[@dblink] [t_alias]

When selecting from a table you can also specify Partition and/or Sample clauses e.g. [schema.]table [PARTITION (partition)] [SAMPLE (sample_percent)]

 

WHERE search_conditions
A filter that defines the conditions each row in the source table(s) must meet to qualify for the SELECT. Only rows that meet the conditions will be included in the result set. The WHERE clause can also contain inner and outer join specifications (SQL1989 standard). e.g.

WHERE tableA.column = tableB.column

WHERE tableA.column = tableB.column(+)

WHERE tableA.column(+) = tableB.column

 

GROUP BY group_by_list
The GROUP BY clause partitions the result set into groups.
The group_by_list may be one or more columns or expressions and may optionally include the CUBE / ROLLUP keywords for creating crosstab results.

 

Heirarchical Queries
Any query that does *not* include a GROUP BY clause may include a CONNECT BY heirarchy clause:

[START WITH condition] CONNECT BY condition

HAVING search_conditions
An additional filter - the HAVING clause acts as an additional filter to the grouped result rows - as opposed to the WHERE clause that applies to individual rows. The HAVING clause is most commonly used in conjunction with a GROUP BY clause.

ORDER BY order_list [ ASC | DESC ] [ NULLS { FIRST | LAST } ]
The ORDER BY clause defines the order in which the rows in the result set are sorted. order_list specifies the result set columns that make up the sort list. The ASC and DESC keywords are used to specify if the rows are sorted ascending (1...9 a...z) or descending (9...1 z...a).

You can sort by any column even if that column is not actually in the main SELECT clause. If you do not include an ORDER BY clause then the order of the result set rows will be unpredictable (random or quasi random).

FOR UPDATE options - this locks the selected rows (Oracle will normally wait for a lock unless you spacify NOWAIT)

FOR UPDATE [OF [ [schema.]{table|view}.] column] [NOWAIT]

 

Writing a SELECT statement

The clauses (SELECT ... FROM ... WHERE ... HAVING ... ORDER BY ... ) must be in this order.

 

SELECT command { UNION | UNION ALL | INTERSECT | MINUS } SELECT command ]  

 

 

 

INSERT Syntax Statement

INSERT [hint] INTO [schema.] table [@dblink] [t_alias] (column, column,...)

      VALUES (expression)

 

INSERT [hint] INTO [schema.] table

      [[SUB]PARTITION (ptn_name)] [t_alias] (column, column,...)

         VALUES (expression)

 

INSERT [hint] INTO subquery

      WITH [READ ONLY | CHECK OPTION [CONSTRAINT constraint] ]

         [t_alias] (column, column,...)

            VALUES (expression)

 

VALUES(expression) can be expanded to

 

   VALUES ([expr, expr...] [subquery])

     [RETURNING expr, expr... INTO host_variable|plsql_variable]

 

 

UPDATE Syntax Statement

UPDATE [hint] [schema.]table [@dblink] [alias]

     [ WITH {READ ONLY | CHECK OPTION [CONSTRAINT constraint]} ]

         SET col_expr(s)

           [WHERE condition]

              [ RETURNING (expr,...) INTO (data_item,...) ]

 

UPDATE [hint] [schema.]table [[SUB]PARTITION partition] [alias]

     [ WITH {READ ONLY | CHECK OPTION [CONSTRAINT constraint]} ]

         SET col_expr(s)

           [WHERE condition]

              [ RETURNING (expr,...) INTO (data_item,...) ]

 

UPDATE [hint] [schema.]view [@dblink] [alias]

     [ WITH {READ ONLY | CHECK OPTION [CONSTRAINT constraint]} ]

         SET col_expr(s) [WHERE condition]

 

UPDATE [hint] [schema.]snapshot [@dblink] [alias]

     [ WITH {READ ONLY | CHECK OPTION [CONSTRAINT constraint]} ]

         SET col_expr(s) [WHERE condition]

 

col_expr:

   column = expression

   column = (subquery)

   (column, column,...) = (subquery)

   VALUE  (table_alias) = expression

   VALUE  (table_alias) = (subquery)

 

To update multiple columns, separate col_expr with commas. The terms "snapshot" and "materialized view" are synonymous.

 

 

DELETE Syntax Statement

DELETE [FROM] [schema.] table [@dblink] [alias]

      WHERE (condition)

         [RETURNING expr INTO DATA_ITEM]

 

DELETE [FROM] [schema.] table [SUB]PARTITION partition [alias]

      WHERE (condition)

         [RETURNING expr INTO DATA_ITEM]

 

DELETE [FROM] [schema.] view [@dblink] [alias]

      WHERE (condition)

         [RETURNING expr INTO DATA_ITEM]

 

DELETE [FROM] subquery [WITH READ ONLY] [alias]

      WHERE (condition)

         [RETURNING expr INTO DATA_ITEM]

 

DELETE [FROM] subquery [WITH CHECK OPTION] [CONSTRAINT constraint] [alias]

      WHERE (condition)

         [RETURNING expr INTO DATA_ITEM]

 

Example:

The following example returns column es_salary from the deleted rows and stores the result in bind array :1

 

DELETE FROM employee

WHERE emp_no = 1075 AND commission = 50

RETURNING salary INTO :1;

 


 

ALTER DATABASE Syntax Statement

ALTER DATABASE

Open an existing database, and /or modify associated files.

ALTER DATABASE database_name options

options can be any combination of the following:

open / mount options:

   MOUNT

   MOUNT STANDBY DATABASE

   MOUNT CLONE DATABASE

   MOUNT PARALLEL

   MOUNT STANDBY DATABASE

   CONVERT

   OPEN [READ ONLY]

   OPEN [READ WRITE] RESETLOGS|NORESETLOGS

   ACTIVATE STANDBY DATABASE

   [NATIONAL] CHARACTER SET char_set

 

archivelog options:

   ARCHIVELOG

   NOARCHIVELOG

 

backup and recovery options:

   BACKUP CONTROLFILE TO 'filename' [REUSE]

   BACKUP CONTROLFILE TO TRACE

   BACKUP CONTROLFILE TO TRACE RESETLOGS

   CREATE STANDBY CONTROLFILE AS 'filename' [REUSE]

   RENAME FILE 'data_file_name' TO 'data_file_name'

   RENAME FILE 'redolog_file_name' TO 'redolog_file_name'

   RECOVER recover_clause

   DATAFILE 'filename' END BACKUP

 

Datafile options:

   CREATE DATAFILE 'filename' AS filespec

   DATAFILE 'filename' ONLINE

   DATAFILE 'filename' OFFLINE [DROP]

   DATAFILE 'filename' RESIZE int K | M

   DATAFILE 'filename' AUTOEXTEND OFF

   DATAFILE 'filename' AUTOEXTEND ON [NEXT int K | M] [MAXSIZE int K | M]

   DATAFILE 'filename' END BACKUP

   TEMPFILE 'filename' ONLINE

   TEMPFILE 'filename' OFFLINE

   TEMPFILE 'filename' DROP

   TEMPFILE 'filename' RESIZE int K | M

   TEMPFILE 'filename' AUTOEXTEND OFF

   TEMPFILE 'filename' AUTOEXTEND ON [NEXT int K | M] [MAXSIZE int K | M]

 

redo log options:

   ADD LOGFILE [THREAD int] [GROUP int] filespec

   ADD LOGFILE MEMBER 'filename' [REUSE] TO GROUP int

   ADD LOGFILE MEMBER 'filename' [REUSE] TO 'filename'

   DROP LOGFILE GROUP int

   DROP LOGFILE ('filename')

   DROP LOGFILE MEMBER 'filename'

   CLEAR [UNARCHIVED] LOGFILE GROUP int [UNRECOVERABLE DATAFILE]

   CLEAR [UNARCHIVED] LOGFILE ('filename') [UNRECOVERABLE DATAFILE]

 

Parallel server options:

   CREATE STANDBY CONTROLFILE AS 'filename' [REUSE]

   SET DBLOW = 'text'

   SET DBHIGH = 'text'

   SET DBMAC = ON | OFF

   ENABLE [PUBLIC] THREAD int

   DISABLE THREAD int

 

Backwards compatibility options:

   RENAME GLOBAL_NAME TO database [domain]

   RESET COMPATIBILITY

 

database_name is defined when the database is created - it is normally set to the same as the database SID.

Some of the commands above can only be used when the database is in a particular state:

MOUNT, CONVERT
 - Require that the db is Not Mounted.


ARCHIVELOG, NOARCHIVLOG, RECOVER - Require that the db is Mounted but not open (must be mount exclusive - not mount parallel).

ENABLE, DISABLE, RENAME GLOBAL_NAME, RESET, SET - Require that the db is Open.

All other options will work with the db mounted, open or closed as long as none of the files involved are 'in use'

 

 

ALTER RESOURCE COST Syntax Statement

ALTER RESOURCE COST option(s)

 

options are any combination of

 

   CPU_PER_SESSION int

   CONNECT_TIME int

   LOGICAL_READS_PER_SESSION int

   PRIVATE_SGA int

int is the integer weight applied to each option

The units being costed are
CPU = 1/100 sec
connect_time = 1/100 sec
SGA = bytes

 

ALTER SESSION Syntax Statement

ALTER SESSION ADVISE {COMMIT | ROLLBACK | NOTHING}

ALTER SESSION CLOSE DATABASE LINK link_name

ALTER SESSION {ENABLE | DISABLE} COMMIT IN PROCEDURE

ALTER SESSION {ENABLE | DISABLE | FORCE} PARALLEL {DML|DDL|QUERY} [PARALLEL int]

ALTER SESSION SET option(s)

 

options:

   CONSTRAINT[S] {IMMEDIATE|DEFERRED|DEFAULT}

   CREATE_STORED_OUTLINES = {TRUE | FALSE| 'category_name' }

   CURRENT_SCHEMA = schema

   CURSOR_SHARING = {FORCE | EXACT}

 

   DB_BLOCK_CHECKING = {TRUE | FALSE}

   DB_FILE_MULTIBLOCK_READ_COUNT = int

 

   FAST_START_IO_TARGET = int

   FLAGGER = {ENTRY | INTERMEDIATE | FULL | OFF}

 

   GLOBAL_NAMES = {TRUE | FALSE}

 

   HASH_AREA_SIZE = int

   HASH_JOIN_ENABLED = {TRUE | FALSE}

   HASH_MULTIBLOCK_IO_COUNT = int

 

   INSTANCE = int

   ISOLATION_LEVEL = {SERIALIZABLE | READ_COMMITTED}

 

   LABEL = {'text' | DBLOW | DBHIGH | OSLABEL}

   LOG_ARCHIVE_DEST_n (read the Oracle8i Reference for more on this)

   LOG_ARCHIVE_DEST_STATE_n = {ENABLE | DEFER}

   LOG_ARCHIVE_MIN_SUCCEED_DEST = int

 

   MAX_DUMP_FILE_SIZE = { size | UNLIMITED }

 

   NLS_CALENDAR = 'text'

   NLS_COMP = 'text'

   NLS_CURRENCY = 'text'

   NLS_DATE_FORMAT = 'fmt'

   NLS_DATE_LANGUAGE = language

   NLS_DUAL_CURRENCY = 'text'

   NLS_ISO_CURRENCY = territory

   NLS_LANGUAGE = language

   NLS_NUMERIC_CHARACTERS = 'text'

   NLS_SORT = {sort | BINARY}

   NLS_TERRITORY = territory

 

   OBJECT_CACHE_MAX_SIZE_PERCENT = int

   OBJECT_CACHE_OPTIMAL_SIZE = int

   OPTIMIZER_INDEX_CACHING = int

   OPTIMIZER_INDEX_COST_ADJ = int

   OPTIMIZER_MAX_PERMUTATIONS = int

   OPTIMIZER_MODE = {ALL_ROWS | FIRST_ROWS | RULE | CHOOSE}

   OPTIMIZER_PERCENT_PARALLEL = int

 

   PARALLEL_BROADCAST_ENABLED = {TRUE | FALSE}

   PARALLEL_INSTANCE_GROUP = ' text '

   PARALLEL_MIN_PERCENT = int

   PARTITION_VIEW_ENABLED = {TRUE | FALSE}

   PLSQL_V2_COMPATIBILITY = {TRUE | FALSE}

 

   QUERY_REWRITE_ENABLED = {TRUE | FALSE}

   QUERY_REWRITE_INTEGRITY = {enforced | trusted | stale_tolerated}

 

   REMOTE_DEPENDENCIES_MODE = {TIMESTAMP | SIGNATURE}

 

   SESSION_CACHED_CURSORS = int

   SKIP_UNUSABLE_INDEXES = {TRUE | FALSE}

   SORT_AREA_RETAINED_SIZE = int

   SORT_AREA_SIZE = integer

   SORT_MULTIBLOCK_READ_COUNT = int

   SQL_TRACE = {TRUE | FALSE}

   STAR_TRANSFORMATION_ENABLED = {TRUE | FALSE}

 

   TIMED_STATISTICS = {TRUE | FALSE}

 

   USE_STORED_OUTLINES = {TRUE | FALSE| 'category_name' }

 

 

Version 7 Options - now obsolete in v8

   CLOSE_CACHED_OPEN_CURSORS = {TRUE | FALSE}

   NLS_ISO_CURRENCY = territory

   MLS_LABEL_FORMAT = 'fmt'

   OPTIMISER_GOAL - is now OPTIMISER_MODE

   SCHEMA=schema_name

 

 

ALTER SYSTEM Syntax Statement

ALTER SYSTEM ARCHIVE LOG archive_log_clause

ALTER SYSTEM CHECKPOINT [GLOBAL | LOCAL]

ALTER SYSTEM CHECK DATAFILES [GLOBAL | LOCAL]

ALTER SYSTEM FLUSH SHARED POOL

ALTER SYSTEM SWITCH LOGFILE

ALTER SYSTEM {ENABLE | DISABLE} DISTRIBUTED RECOVERY

ALTER SYSTEM {ENABLE | DISABLE} RESTRICTED SESSION

ALTER SYSTEM {SUSPEND | RESUME}

ALTER SYSTEM SHUTDOWN [IMMEDIATE] dispatcher_name

ALTER SYSTEM KILL SESSION 'int1, int2' [POST TRANSACTION] [IMMEDIATE]

ALTER SYSTEM DISCONNECT SESSION 'int1, int2' [IMMEDIATE]

ALTER SYSTEM SET option(s)

 

options:

   AQ_TM_PROCESSES = int

 

   BACKGROUND_DUMP_DEST = 'text'

   BACKUP_TAPE_IO_SLAVES = {TRUE | FALSE} DEFERRED

 

   CONTROL_FILE_RECORD_KEEP_TIME = int

   CORE_DUMP_DEST = 'text'

   CREATE_STORED_OUTLINES = {TRUE | FALSE | 'category_name' } [NOOVERRIDE]

   CURSOR_SHARING = {force|exact}

 

   DB_BLOCK_CHECKING = {TRUE | FALSE} DEFERRED

   DB_BLOCK_CHECKSUM = {TRUE | FALSE}

   DB_BLOCK_MAX_DIRTY_TARGET = int

   DB_FILE_DIRECT_IO_COUNT = int DEFERRED

   DB_FILE_MULTIBLOCK_READ_COUNT = int

 

   FAST_START_IO_TARGET = int

   FAST_START_PARALLEL_ROLLBACK = {FALSE | LOW | HIGH}

   FIXED_DATE = { 'DD_MM_YY' | 'YYYY_MI_DD_HH24_MI-SS' }

 

   GC_DEFER_TIME = int

   GLOBAL_NAMES = {TRUE | FALSE}

 

   HASH_MULTIBLOCK_IO_COUNT = int

   HS_AUTOREGISTER = {TRUE | FALSE}

 

   JOB_QUEUE_PROCESSES = int

 

   LICENSE_MAX_SESSIONS = int

   LICENSE_MAX_USERS = int

   LICENSE_SESSIONS_WARNING = int

   LOG_ARCHIVE_DEST = string

   LOG_ARCHIVE_DEST_n = {null_string |

      {LOCATION=local_pathname | SERVICE=tnsnames_service}

          [MANDATORY | OPTIONAL] [REOPEN[=integer]]}

   LOG_ARCHIVE_DEST_STATE_n = {ENABLE | DEFER}

   LOG_ARCHIVE_DUPLEX_DEST = string

   LOG_ARCHIVE_MAX_PROCESSES = int

   LOG_ARCHIVE_MIN_SUCCEED_DEST = int

   LOG_ARCHIVE_TRACE = int

   LOG_CHECKPOINT_INTERVAL = int

   LOG_CHECKPOINT_TIMEOUT = int

 

   MAX_DUMP_FILE_SIZE = { size | 'unlimited'} [DEFERRED]

   MTS_DISPATCHERS = dispatcher_clause

   MTS_SERVERS = int

 

   OBJECT_CACHE_MAX_SIZE_PERCENT = int DEFERRED

   OBJECT_CACHE_OPTIMAL_SIZE = int DEFERRED

   OPTIMIZER_MAX_PERMUTATIONS = int NOOVERRIDE

 

   PARALLEL_ADAPTIVE_MULTI_USER  = {TRUE | FALSE}

   PARALLEL_INSTANCE_GROUP = 'text'

   PARALLEL_THREADS_PER_CPU = int

   PLSQL_V2_COMPATIBILITY = {TRUE | FALSE} [DEFERRED]

 

   QUERY_REWRITE_ENABLED = {TRUE | FALSE} [DEFERRED | NOOVERRIDE]

   QUERY_REWRITE_INTEGRITY = {ENFORCED | TRUSTED | STALE_TOLERATED}

 

   REMOTE_DEPENDENCIES_MODE = {TIMESTAMP | SIGNATURE}

   RESOURCE_LIMIT = {TRUE | FALSE}

   RESOURCE_MANAGER_PLAN = plan_name

 

   SORT_AREA_RETAINED_SIZE = int DEFERRED

   SORT_AREA_SIZE = int DEFERRED

   SORT_MULTIBLOCK_READ_COUNT = int DEFERRED

   STANDBY_ARCHIVE_DEST = string

 

   TIMED_STATISTICS = {TRUE | FALSE}

   TIMED_OS_STATISTICS = int

   TRANSACTION_AUDITING = {TRUE | FALSE} DEFERRED

 

   USE_STORED_OUTLINES = {TRUE | FALSE| 'category_name' } [NOOVERRIDE]

   USER _DUMP_DEST = 'directory_name'

 

Oracle 7 options now obsolete in v8

   CACHE_INSTANCES = int

   SCAN_INSTANCES = int

 

 

ALTER TABLE Syntax Statement

Change the properties of an existing table.

ALTER TABLE [schema.]table RENAME TO new_table_name

 

ALTER TABLE [schema.]table

      [ [NO]MINIMISE RECORDS PER BLOCK ]

          [PARALLEL parallel_clause]

             [ENABLE enable_clause | DISABLE disable_clause]

                 [{ENABLE|DISABLE} TABLE LOCK]

                    [{ENABLE|DISABLE} ALL TRIGGERS]

 

   ALTER TABLE [schema.]table

      iot_overflow_clause

          [PARALLEL parallel_clause]

             [ENABLE enable_clause | DISABLE disable_clause]

                 [{ENABLE|DISABLE} TABLE LOCK]

                    [{ENABLE|DISABLE} ALL TRIGGERS]

 

   ALTER TABLE [schema.]table

      partitioning_clause

          [PARALLEL parallel_clause]

             [ENABLE enable_clause | DISABLE disable_clause]

                 [{ENABLE|DISABLE} TABLE LOCK]

                    [{ENABLE|DISABLE} ALL TRIGGERS]

 

   ALTER TABLE [schema.]table

      tbl_defs,...

          [PARALLEL parallel_clause]

             [ENABLE enable_clause | DISABLE disable_clause]

                 [{ENABLE|DISABLE} TABLE LOCK]

                    [{ENABLE|DISABLE} ALL TRIGGERS]

 

tbl_defs:

   ADD [column datatype] [DEFAULT expr] [column_constraint(s)]

     [table_constraint] [table_ref_constraint]

 

   MODIFY [column datatype] [DEFAULT expr] [column_constraint(s)]

 

   MODIFY [table_constraint]

 

   drop_column_clause

 

   DROP drop_constraint_clause

 

   [PCTFREE int][PCTUSED int][INITTRANS int]

      [MAXTRANS int][STORAGE storage_clause]

 

   extent_options

 

   MOVE [ONLINE] storage_options INDEX index_organized_tbl_clause

      [LOB_storage_clause][varray_clause]

 

   LOGGING|NOLOGGING

 

   MODIFY NESTED TABLE collection_item RETURN AS {LOCATOR|VALUE }

 

   MODIFY LOB [LOB_storage_clause]

 

   MODIFY VARRAY [varray_clause]

 

   CACHE | NOCACHE

 

   MONITORING | NOMONITORING

 

storage_options:

   PCTFREE int

   PCTUSED int

   INITTRANS int

   MAXTRANS int

   STORAGE storage_clause

   TABLESPACE tablespace

   [LOGGING|NOLOGGING]

 

extent_options:

   ALLOCATE EXTENT [( [size int K | M ]

      [DATAFILE 'filename' ] [INSTANCE int] )]

   DEALLOCATE UNUSED [KEEP int K | M ]

 

index_organized_tbl_clause:

   storage_option(s) [PCTTHRESHOLD int]

     [COMPRESS int|NOCOMPRESS]

         [ [INCLUDING column_name] OVERFLOW [storage_option(s)] ]

 

iot_overflow_clause:

   {PCTTHRESHOLD int | INCLUDING column} |

       OVERFLOW overflow_storage_clause

          ADD OVERFLOW [storage_options] [(PARTITION storage_options)]

 

overflow_storage_clause:

   PCTFREE int

   PCTUSED int

   INITTRANS int

   MAXTRANS int

   extent_options

   STORAGE storage_clause

   [LOGGING|NOLOGGING]

 

nested_storage_clause:

   NESTED TABLE nested_item STORE AS storage_table

      [RETURN AS {LOCATOR|VALUE }]

 

drop_column_clause:

   SET UNUSED (column,...)

      [CASCADE CONSTRAINTS][INVALIDATE]

 

   DROP COLUMN (column,...)

      [CASCADE CONSTRAINTS][INVALIDATE] CHECKPOINT int

 

   DROP {UNUSED COLUMNS|COLUMNS CONTINUE} [CHECKPOINT int]

 

 

ANALYZE syntax Statement

Update CBO (Cost Based Optimiser) statistics.

ANALYZE TABLE tablename COMPUTE | ESTIMATE | DELETE STATISTICS ptnOption options

 

ANALYZE INDEX indexname COMPUTE | ESTIMATE | DELETE STATISTICS ptnOption options

 

ANALYZE CLUSTER clustername COMPUTE | ESTIMATE | DELETE STATISTICS options

 

ptnOption

   PARTITION (partion)

   SUBPARTITION (subpartition)

 

options

   VALIDATE STRUCTURE [CASCADE] [INTO tablename]

   LIST CHAINED ROWS [INTO tablename]

   COMPUTE|ESTIMATE STATISTICS FOR TABLE

   COMPUTE|ESTIMATE STATISTICS FOR ALL COLUMNS

   COMPUTE|ESTIMATE STATISTICS FOR ALL INDEXED COLUMNS

   COMPUTE|ESTIMATE STATISTICS FOR COLUMNS [SIZE int] column [SIZE int]

 

   When Estimating statistics you can optionally specify

    ... ESTIMATE STATISTICS SAMPLE n ROWS

    ... ESTIMATE STATISTICS SAMPLE n PERCENT

Validate structure will perform an integrity check - and will therefore lock the table/index/cluster while it is running.

If the INTO clause is used to store a list of chained rows in a table - the default tablename is CHAINED_ROWS

 

ASSOCIATE STATISTICS

ASSOCIATE STATISTICS  WITH

      COLUMNS [schema.]table_column,...

         USING [schema.]statistics_type;

 

ASSOCIATE STATISTICS  WITH

      object [schema.]object_name,...

         cost_usage_clause;

 

Where object is any of

  

   FUNCTIONS

   PACKAGES

   TYPES

   INDEXES

   INDEXTYPES

 

cost_usage_clauses:

   USING [schema.]statistics_type

   DEFAULT COST (cpu_cost, io_cost, network_cost)

   DEFAULT SELECTIVITY default_selectivity

 

 

AUDIT syntax Statement

Audit an SQL statement or accesss to a specific database object.

AUDIT ALL | ALL PRIVILEGES | sql_statement | system_priv [options]

options

   BY user

   BY proxy [ON BEHALF OF ANY|user]

   BY ACCESS|SESSION [WHENEVER [NOT] SUCCESSFUL]

 

Auditing Objects

   To audit an object use the modified syntax

 

AUDIT action on schema.object BY ACCESS|SESSION [WHENEVER [NOT] SUCCESSFUL]

 

AUDIT action on DEFAULT BY ACCESS|SESSION [WHENEVER [NOT] SUCCESSFUL]

 

AUDIT action on DIRECTORY dir_name BY ACCESS|SESSION [WHENEVER [NOT] SUCCESSFUL]

 

   Where actions is any of

   ALTER, AUDIT, COMMENT, DELETE, EXECUTE, GRANT,

   INDEX, INSERT, LOCK, RENAME, SELECT, UPDATE

 

You must first enable auditing with the init.ora parameter AUDIT_TRAIL = YES

 

CREATE INDEX Syntax Statement

CREATE [UNIQUE|BITMAP] INDEX [schema.]index

      ON [schema.]TABLE [tbl_alias]

         (col [ASC | DESC]) index_clause index_attribs

 

CREATE [UNIQUE|BITMAP] INDEX [schema.]index

      ON [schema.]TABLE [tbl_alias]

         (col_expression [ASC | DESC]) index_clause index_attribs

 

CREATE [UNIQUE|BITMAP] INDEX [schema.]index

      ON CLUSTER [schema.]cluster index_attribs

index_clauses:

INDEXTYPE IS indextype[PARAMETERS ('string')]

 

LOCAL STORE IN {tablespace_name|DEFAULT}

 

LOCAL (PARTITION [partition

       [LOGGING|NOLOGGING]

       [TABLESPACE {tablespace_name|DEFAULT}]

       [PCTFREE int]

       [PCTUSED int]

       [INITRANS int]

       [MAXTRANS int]

       [STORAGE storage_clause]

       [STORE IN {tablespace_name|DEFAULT]

       [SUBPARTITION [subpartition [TABLESPACE tablespace_name]]]])

 

GLOBAL PARTITION BY RANGE (col_list)

   ( PARTITION partition VALUES LESS THAN (value_list)

       [LOGGING|NOLOGGING]

       [TABLESPACE {tablespace_name|DEFAULT}]

       [PCTFREE int]

       [PCTUSED int]

       [INITRANS int]

       [MAXTRANS int]

       [STORAGE storage_clause] )

 

index_attribs:
any combination of the following

    NOSORT|REVERSE

    COMPRESS int

    NOCOMPRESS

    COMPUTE STATISTICS

    [NO]LOGGING

    ONLINE

    TABLESPACE {tablespace_name|DEFAULT}

    PCTFREE int

    PCTUSED int

    INITRANS int

    MAXTRANS int

    STORAGE storage_clause

    PARALLEL parallel_clause

 

 

CREATE DATABASE LINK

CREATE [SHARED][PUBLIC] DATABASE LINK link_name

     [CONNECT TO CURRENT_USER ]

        [USING 'connect_string']

 

CREATE [SHARED][PUBLIC] DATABASE LINK link_name

      [CONNECT TO user IDENTIFIED BY password]

      [AUTHENTICATED BY user IDENTIFIED BY password]

         [USING 'connect_string']

 

 

CREATE MATERIALIZED VIEW Syntax Statement

CREATE MATERIALIZED VIEW [schema.]materialized_view options

      [USING INDEX index_options]

         [REFRESH [refresh_options]]

            [FOR UPDATE] [{ENABLE|DISABLE} QUERY REWRITE]

 

CREATE MATERIALIZED VIEW [schema.]materialized_view

      ON PREBUILT TABLE [{WITH | WITHOUT} REDUCED PRECISION]

         [USING INDEX index_options]

            [REFRESH [refresh_options]]

               [FOR UPDATE] [{ENABLE|DISABLE} QUERY REWRITE]

options:

   CLUSTER cluster (column,...) [Partitioning clause]

      [PARALLEL int | NOPARALLEL] [BUILD {IMMEDIATE|DEFERRED}]

or

   storage_options [LOB/Modify LOB Storage clause] [CACHE | NOCACHE]

      [Partitioning clause] [PARALLEL int | NOPARALLEL] [BUILD {IMMEDIATE|DEFERRED}]

 

   Where storage_options can be any of:

   PCTFREE int

   PCTUSED int

   INITRANS int

   MAXTRANS int

   STORAGE storage_clause

   TABLESPACE tablespace

   LOGGING | NOLOGGING

 

index_options

   INITRANS int

   MAXTRANS int

   STORAGE storage_clause

   TABLESPACE tablespace

 

refresh_options:

   FAST | COMPLETE | FORCE

   ON [DEMAND | COMMIT]

   {NEXT | START WITH} date

   WITH {PRIMARY KEY | rowid}

   USING DEFAULT {MASTER|LOCAL} ROLLBACK SEGMENT

   USING {MASTER|LOCAL} ROLLBACK SEGMENT rb_segment

 

 

CREATE MATERIALIZED VIEW LOG

CREATE MATERIALIZED VIEW LOG  ON [schema.]table options

      [PARALLEL int | NOPARALLEL]

          Partitioning_options

             WITH filter_option(s)

                [{INCLUDING|EXCLUDING} NEW VALUES];

options:

   PCTFREE int

   PCTUSED int

   INITRANS int

   MAXTRANS int

   STORAGE storage_clause

   TABLESPACE tablespace

   LOGGING | NOLOGGING

   [CACHE | NOCACHE]

 

filter_options:

   [{PRIMARY KEY | rowid}] (filter_column,...)

  

   multiple filter_options can be separated with commas

 

 

CREATE SYNONYM Syntax Statement

CREATE [PUBLIC] SYNONYM [schema.]synonym FOR [schema.]object [@dblink]

You should be aware of the performance hit when accessing data through a synony

 

 

CREATE TABLE Syntax Statement

CREATE [GLOBAL TEMPORARY] TABLE [schema.]table (tbl_defs,...)

  [ON COMMIT {DELETE|PRESERVE} ROWS]

  [storage_options | CLUSTER cluster_name (col1, col2,... )

  | ORGANIZATION {HEAP [storage_options] | INDEX idx_organized_tbl_clause}]

  [LOB_storage_clause][varray_clause][nested_storage_clause]

             partitioning_options

             [[NO]CACHE] [[NO]MONITORING] [PARALLEL parallel_clause]

             [ENABLE enable_clause | DISABLE disable_clause]

             [AS subquery]

 

tbl_defs:

   column datatype [DEFAULT expr] [column_constraint(s)]

   table_constraint

   table_ref_constraint

 

storage_options:

   PCTFREE int

   PCTUSED int

   INITTRANS int

   MAXTRANS int

   STORAGE storage_clause

   TABLESPACE tablespace

   [LOGGING|NOLOGGING]

 

idx_organized_tbl_clause:

   storage_option(s) [PCTTHRESHOLD int]

     [COMPRESS int|NOCOMPRESS]

         [ [INCLUDING column_name] OVERFLOW [storage_option(s)] ]

 

nested_storage_clause:

   NESTED TABLE nested_item STORE AS storage_table

      [RETURN AS {LOCATOR|VALUE } ]

 

 

CREATE TABLESPACE Syntax Statement

CREATE TABLESPACE tablespace_name

      DATAFILE Datafile_Options Storage_Options ;

 

Datafile_Options:

 

    'filespec' [AUTOEXTEND OFF]

    'filespec' [AUTOEXTEND ON [NEXT int K | M] [MAXSIZE int K | M]]

    The Autoextend Maxsize clause will default to UNLIMITED if no value is specified.

 

Storage_Options:

    DEFAULT STORAGE storage_clause

    MINIMUM EXTENT int {K|M}

    LOGGING | NOLOGGING

    ONLINE | OFFLINE

    PERMANENT | TEMPORARY

    EXTENT MANAGEMENT {DICTIONARY |

       LOCAL {AUTOALLOCATE | UNIFORM [SIZE int K | M]} }

 

 

CREATE TRIGGER Syntax Statement

CREATE [OR REPLACE] TRIGGER [schema.]trigger

      {BEFORE event | AFTER event | INSTEAD OF event}

         referencing_clause WHEN (condition) pl_sql_block

event can be one or more of the following (separate multiple events with OR)

   DELETE event_ref

   INSERT event_ref

   UPDATE event_ref

   UPDATE OF column, column... event_ref

   ddl_statement ON [schema.] {table|view}

   ddl_statement ON DATABASE

   SERVERERROR

   LOGON

   LOGOFF

   STARTUP

   SHUTDOWN

 

event_ref:

   ON [schema.]table

   ON [schema.]view

   ON [NESTED TABLE nested_table_column OF] [schema.]view

 

referencing_clause:

   FOR EACH ROW

   REFERENCING OLD [AS] old [FOR EACH ROW]

   REFERENCING NEW [AS] new [FOR EACH ROW]

   REFERENCING PARENT [AS] parent [FOR EACH ROW]

 

 

CREATE VIEW Syntax Statement

CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW

     [schema.]view [(alias,...)]

         AS subquery options

 

CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW

     [OF [schema.] type_name

        [WITH OBJECT IDENTIFIER {DEFAULT|(attribute,...)}]

            AS subquery options

 

options:

   WITH READ ONLY

   WITH CHECK OPTION [CONSTRAINT constraint]

 

 

CREATE FUNCTION Syntax Statement

CREATE [OR REPLACE] FUNCTION [schema.]function [arguments_clause]

 RETURN datatype [invoke_clause]

  AS plsql_function_body

 

CREATE [OR REPLACE] FUNCTION [schema.]function [arguments_clause]

 RETURN datatype [invoke_clause]

  AS LANGUAGE JAVA NAME 'string'

 

CREATE [OR REPLACE] FUNCTION [schema.]function [arguments_clause]

 RETURN datatype [invoke_clause]

  AS LANGUAGE C [NAME name] LIBRARY lib_name [WITH CONTEXT][PARAMETERS params]

 

arguments_clause:

   (argument [IN|OUT|IN OUT] [NOCOPY datatype])

 

invoke_clause:

any combination of...

   AUTHID CURRENT_USER

   AUTHID DEFINER

   DETERMINISTIC

   PARALLEL_ENABLE

 

 

CREATE PROCEDURE Syntax Statement

CREATE [OR REPLACE] PROCEDURE [schema.]procedure_name (options)

      invoker_rights AS plsql_sub_program_body

 

CREATE [OR REPLACE] PROCEDURE [schema.]procedure_name (options)

      invoker_rights AS LANGUAGE JAVA NAME ('string')

 

CREATE [OR REPLACE] PROCEDURE [schema.]procedure_name (options)

      invoker_rights AS LANGUAGE C NAME name LIBRARY lib_name [WITH CONTEXT][PARAMETERS (parameters)]

 

options:

      argument IN [NOCOPY] datatype

      argument OUT [NOCOPY] datatype

      argument IN OUT [NOCOPY] datatype

     (The procedure can have several arguments separated with commas)

 

invoker_rights:

      AUTHID CURRENT_USER

      AUTHID DEFINER

AUTHID DEFINER will execute with the privileges of the procedure schema/owner.

NOCOPY will instruct Oracle to pass the argument as fast as possible. This can significantly enhance performance when passing a large value.

 

 

CREATE ROLE Syntax Statement

CREATE ROLE role_name [NOT IDENTIFIED]

CREATE ROLE role_name [IDENTIFIED BY password]

CREATE ROLE role_name [IDENTIFIED EXTERNALLY]

CREATE ROLE role_name [IDENTIFIED GLOBALLY]

 

Example

--Create the role

CREATE ROLE MY_ORACLE_ROLE

 

--Assign all object rights from the current user schema (user_objects)

 

spool GrantRights.sql

SELECT DECODE  (object_type,

'TABLE','GRANT SELECT, INSERT, UPDATE, DELETE , REFERENCES ON'||&OWNER||'.', 'VIEW','GRANT SELECT ON '||&OWNER||'.',

'SEQUENCE','GRANT SELECT ON '||&OWNER||'.',

'PROCEDURE','GRANT EXECUTE ON '||&OWNER||'.',

'PACKAGE','GRANT EXECUTE ON '||&OWNER||'.',

'FUNCTION','GRANT EXECUTE ON'||&OWNER||'.' )||object_name||' TO MY_ORACLE_ROLE ;' from user_objects

WHERE OBJECT_TYPE IN ( 'TABLE', 'VIEW', 'SEQUENCE', 'PROCEDURE', 'PACKAGE','FUNCTION') ORDER BY OBJECT_TYPE

/

spool off

@GrantRights.sql

 

 

CREATE CONTROLFILE Syntax Statement

CREATE CONTROLFILE [REUSE] [SET] DATABASE database

     LOGFILE [GROUP int] filespec

        [RESETLOGS | NORESETLOGS]

           DATAFILE filespec options

 

   options

   MAXDATAFILES int

   MAXLOGFILES int

   MAXLOGMEMBERS int

   MAXLOGHISTORY int

   MAXINSTANCES int

   ARCHIVELOG | NOARCHIVELOG

Several LOGFILE or DATAFILEs can be specified at once if separated with commas.

 

 

CREATE DATABASE Syntax Statement

CREATE DATABASE database_name options

 

options can be any combination of the following:

   DATAFILE filespec AUTOEXTEND OFF

   DATAFILE filespec AUTOEXTEND ON [NEXT int K | M] [MAXSIZE int K | M]

   LOGFILE [GROUP int] filespec

   MAXDATAFILES int

   MAXLOGFILES int

   MAXLOGMEMBERS int

   MAXLOGHISTORY int

   MAXINSTANCES int

   CONTROLFILE REUSE

   CHARACTER SET charset

 

Example

-- Create a database with the SID of TEST and char set WE8ISO8859P1

 

CREATE DATABASE TEST

LOGFILE 'E:\Oracle\TEST\LOGS\LOG1TEST.ORA' SIZE 2M,

'E:\Oracle\TEST\LOGS\LOG2TEST.ORA' SIZE 200M,

'E:\Oracle\TEST\LOGS\LOG3TEST.ORA' SIZE 200M,

'E:\Oracle\TEST\LOGS\LOG4TEST.ORA' SIZE 200M,

'E:\Oracle\TEST\LOGS\LOG5TEST.ORA' SIZE 200M

MAXDATAFILES 100

DATAFILE 'E:\Oracle\TEST\DATA\SYS1TEST.ORA' SIZE 500 M

NOARCHIVELOG

CHARACTER SET WE8ISO8859P1;

 

 

 

CREATE DIMENSION Syntax Statement

CREATE DIMENSION [schema.]dimension level_clause(s)

      [heirarchy_clause(s) attribute_clause(s)];

The command should include at least one heirarchy clause or attribute clause.

level_clause:

   LEVEL level IS (table.column,...)

 

heirarchy_clause:

   HEIRARCHY heirarchy (child_level CHILD OF parent_level,... [join_clause])

 

attribute_clause:

   ATTRIBUTE level DETERMINES (dependent_column,...)

 

join_clause:

   JOIN KEY (child_key_column,...) REFERENCES parent_level

 

 

CREATE DIRECTORY Syntax Statement

CREATE [OR REPLACE] DIRECTORY directory AS 'pathname';

 

 

 

CREATE JAVA Syntax Statement

CREATE [OR REPLACE] [AND {RESOLVE|COMPILE}] [NOFORCE]

      JAVA [RE]SOURCE NAMED [schema.]primary_name

         [AUTHID {CURRENT_USER |DEFINER}]

             [RESOLVER (( match_string, schema_name )...)]

                source_option;

 

CREATE [OR REPLACE] [AND {RESOLVE|COMPILE}] [NOFORCE]

      JAVA CLASS [SCHEMA schema]

         [AUTHID {CURRENT_USER |DEFINER}]

             [RESOLVER (( match_string, schema_name )...)]

                source_option;

 

source_options:

   USING BFILE (directory, 'class_filename')

   USING {CLOB|BLOB|BFILE} subquery

   USING 'key_for_blob'

   AS source_text

 

 

CREATE LIBRARY Syntax Statement

CREATE [OR REPLACE] LIBRARY [schema.]library_name AS 'filespec';

 

 

 

CREATE OUTLINE Syntax Statement

CREATE [OR REPLACE] OUTLINE [schema.]operator

      [FOR CATEGORY category]

          ON statement;

 

 

 

CREATE PACKAGE Syntax Statement

CREATE [OR REPLACE] PACKAGE [schema.]package_name [invoker_rights] AS package

 

invoker_rights

      AUTHID CURRENT_USER

      AUTHID DEFINER

AUTHID DEFINER will execute with the privileges of the package schema/owner.

 

 

CREATE PACKAGE BODY Syntax Statement

CREATE [OR REPLACE] PACKAGE BODY [schema.]package_name IS package_body

   CREATE [OR REPLACE] PACKAGE BODY [schema.]package_name AS package_body

 

 

 

CREATE ROLLBACK SEGMENT Syntax Statement

CREATE [PUBLIC] ROLLBACK SEGMENT rbs_name option(s)

 

   options:

      TABLESPACE tablespace_name

      STORAGE storage_clause

A public RBS is available for use by more than one instance

 

 

CREATE SCHEMA Syntax Statement

CREATE SCHEMA AUTHORISATION schema options

 

   options

      CREATE TABLE

      CREATE VIEW

      GRANT

The schema name must be an existing Oracle username.

 

 

CREATE SEQUENCE Syntax Statement

CREATE SEQUENCE [schema.]sequence_name option(s)

 

   options:

      INCREMENT BY int

      START WITH int

      MAXVALUE int | NOMAXVALUE

      MINVALUE int | NOMINVALUE

      CYCLE | NOCYCLE

      CACHE int | NOCACHE

      ORDER | NOORDER

 

 

 

CREATE TEMPORARY TABLESPACE Syntax Statement

CREATE TEMPORARY TABLESPACE tablespace_name

      TEMPFILE Tempfile_Options

         [EXTENT MANAGEMENT LOCAL]

            [UNIFORM [SIZE int K | M] ];

 

Tempfile_Options:

    'filespec' [AUTOEXTEND OFF]

    'filespec' [AUTOEXTEND ON [NEXT int K | M] [MAXSIZE int K | M]]

To create a locally managed tablespace specify 'EXTENT MANAGEMENT LOCAL'.  All extents of temporary tablespaces are the same size - if UNIFORM is not defined it will default to 1 MB.

 

 

CREATE USER  Syntax Statement

CREATE USER  username

      IDENTIFIED {BY password | EXTERNALLY | GLOBALLY AS external_name}

         options

 

options:

  

   DEFAULT TABLESPACE tablespace_name

   TEMPORARY TABLESPACE tablespace_name

   QUOTA int {K | M} ON tablespace_name

   QUOTA UNLIMITED ON tablespace_name

   PROFILE profile_name

   PASSWORD EXPIRE

   ACCOUNT {LOCK|UNLOCK}

 

 

COMMENT Syntax Statement

COMMENT ON TABLE [schema.]table IS 'text'

COMMENT ON TABLE [schema.]view IS 'text'

COMMENT ON TABLE [schema.]snapshot IS 'text'

 

COMMENT ON COLUMN [schema.]table.column IS 'text'

COMMENT ON COLUMN [schema.]view.column IS 'text'

COMMENT ON COLUMN [schema.]snapshot.column IS 'text'

To drop a comment from the database, set it to the empty string ' '. 

 

 

COMMIT Syntax Statement

COMMIT [WORK] [COMMENT 'comment_text']

COMMIT [WORK] [FORCE 'force_text' [,int] ]

 

FORCE - will manually commit an in-doubt distributed transaction.

 

 

DESCRIBE Syntax Statement

DESC table

DESC view

DESC synonym

DESC function

DESC package.procedure

DESC package*

 

It is also possible to describe objects in another schema or via a database link
e.g.
DESCRIBE user.table@db_link

The DESCRIBE command allows you to describe objects recursively to the depth level set in the SET DESCRIBE command.

 

 

DISASSOCIATE STATISTICS Syntax Statement

DISSASSOCIATE STATISTICS FROM object [schema.]object_name [FORCE]

 

Where object is any of

   COLUMNS

   FUNCTIONS

   PACKAGES

   TYPES

   INDEXES

   INDEXTYPES

 

 

 

EXEC Syntax Statement

EXEC statement

EXEC [:bind_variable :=] package.procedure;

EXEC [:bind_variable :=] package.function(parameters);

 

The length of the EXEC command cannot exceed the length defined by SET LINESIZE.  If the EXEC command is too long to fit on one line, use the SQL*Plus continuation character (a hyphen) -

Example
EXEC :answer := EMP_PAY.BONUS('SMITH')

 

 

EXECUTE IMMEDIATE Syntax Statement

EXECUTE IMMEDIATE dynamic_sql_string

      [INTO {define_variable,... | INTO record_name}]

         [USING

              [IN|OUT|IN OUT] bind_argument,...]

                  [RETURN[ING] INTO

                                   bind_argument,...];

 

dynamic_sql_string : The SQL statement string or PL/SQL block

 

define_variable : One variable receives each column

                  value returned by the query.

 

record_name     : A record based on a user-defined TYPE

                  or %ROWTYPE that receives an entire row

                  returned by a query

 

bind_argument   : An expression whose value is passed to the

                  SQL statement or PL/SQL block INTO clause

                  Use for single-row queries; for each column value

                  returned by the query, you must supply an

                  individual variable or field in a record of

                  compatible type.

 

USING clause    : Allows you to supply bind arguments for the

                  SQL string. This clause is used for both

                  dynamic SQL and PL/SQL,

                  which is why you can specify a parameter mode.

                  This usage is only relevant for PL/SQL,

                  however; the default is IN, which is the only

                  kind of bind argument you would have for

                  SQL statements.

You cannot use EXECUTE IMMEDIATE for multiple-row queries.

If "dynamic_sql_string" ends with a semicolon, it will be treated as a PL/SQL block; otherwise, it will be treated as either DML (Data Manipulation Language--SELECT, INSERT, UPDATE, or DELETE) or DDL (Data Definition Language, such as CREATE TABLE).

The "dynamic_sql_string" may contain placeholders for bind arguments, but you cannot use bind values to pass in the names of schema objects, such as table names or column names.

When the statement is executed, the runtime engine replaces each placeholder (an identifier with a colon in front of it, such as :salary_value) in the SQL string with its corresponding bind argument (by position).

You can pass numeric, date, and string expressions.

You cannot, pass a Boolean, or a NULL literal value, you can however pass a variable of the correct type that has a value of NULL.

 

 

EXPLAIN PLAN Syntax Statement

EXPLAIN PLAN [SET STATEMENT_ID = 'text']

      FOR statement

 

EXPLAIN PLAN [SET STATEMENT_ID = 'text']

      INTO [schema.]table@dblink

         FOR statement

 

 

GRANT Syntax Statement

Roles:

GRANT role TO [user,] [role,] [PUBLIC] [WITH ADMIN OPTION]

 

System Privs:

GRANT system_priv(s) TO [user,] [role,] [PUBLIC] [WITH ADMIN OPTION]

GRANT ALL TO [user,] [role,] [PUBLIC] [WITH ADMIN OPTION]

 

Objects:

GRANT object_priv [(column, column,...)]

      ON [schema.]object

         TO [user], [role], [PUBLIC] [WITH GRANT OPTION]

GRANT ALL [(column, column,...)]

      ON [schema.]object

         TO [user], [role], [PUBLIC] [WITH GRANT OPTION]

GRANT object_priv [(column, column,...)]

      ON DIRECTORY directory_name

         TO [user], [role], [PUBLIC] [WITH GRANT OPTION]

GRANT object_priv [(column, column,...)]

      ON JAVA [RE]SOURCE [schema.]object

         TO [user], [role], [PUBLIC] [WITH GRANT OPTION]

 

key:

object_privs

ALTER, DELETE, EXECUTE, INDEX, INSERT, REFERENCES, SELECT, UPDATE

 

system_privs

ALTER ANY INDEX, BECOME USER , CREATE TABLE, DROP ANY VIEW RESTRICTED SESSION, UNLIMITED TABLESPACE, UPDATE ANY TABLE plus too many others to list here

 

roles

Standard Oracle roles -  EXP_FULL_DATABASE, IMP_FULL_DATABASE, OSOPER, OSDBA plus any user defined roles you have available notes:

 

 

LOCK TABLE Syntax Statement

LOCK TABLE [schema.] table [options] IN lockmode MODE [NOWAIT]

 

LOCK TABLE [schema.] view [options] IN lockmode MODE [NOWAIT]

 

options:

      PARTITION partition

      SUBPARTITION subpartition

      @dblink

 

lockmodes:

      EXCLUSIVE

      SHARE

      ROW EXCLUSIVE

      SHARE ROW EXCLUSIVE

      ROW SHARE* | SHARE UPDATE*

 

 

NOAUDIT Syntax Statement

NOAUDIT {ALL|ALL PRIVILEGES|sql_statement|system_priv} [options]

      [WHENEVER [NOT] SUCCESSFUL]

 

options:

      BY user

      BY proxy [ON BEHALF OF ANY|user]

 

Schema Objects

   To noaudit an object use the modified syntax

 

   NOAUDIT {ALL|action} on [schema.]object

      [WHENEVER [NOT] SUCCESSFUL]

 

   NOAUDIT {ALL|action} on DIRECTORY directory_name

      [WHENEVER [NOT] SUCCESSFUL]

 

   NOAUDIT {ALL|action} on DEFAULT

      [WHENEVER [NOT] SUCCESSFUL]

 

actions

   ALTER, AUDIT, COMMENT, DELETE, EXECUTE, GRANT,

   INDEX, INSERT, LOCK, RENAME, SELECT, UPDATE

You can disable all auditing with the init.ora parameter AUDIT_TRAIL = NO

 

 

RECOVER Syntax Statement

RECOVER [AUTOMATIC] [FROM 'location']

      [STANDBY] DATABASE

         [UNTIL CANCEL] [UNTIL TIME date] [UNTIL CHANGE int]

             [USING BACKUP CONTROLFILE]

 

RECOVER [AUTOMATIC] [FROM 'location']

      TABLESPACE tablespace [, tablespace2...]

 

RECOVER [AUTOMATIC] [FROM 'location']

      STANDBY TABLESPACE tablespace [, tablespace2...]

         UNTIL [CONSISTENT] [WITH] CONTROLFILE

 

RECOVER [AUTOMATIC] [FROM 'location']

      DATAFILE 'filename' [, filename2...]

 

RECOVER [AUTOMATIC] [FROM 'location']

      STANDBY DATAFILE 'filename' [, filename2,...]

         UNTIL [CONSISTENT] [WITH] CONTROLFILE

 

RECOVER [AUTOMATIC] [FROM 'location']

      LOGFILE 'filename'

 

RECOVER [AUTOMATIC] [FROM 'location']

      CONTINUE [DEFAULT]

 

RECOVER [AUTOMATIC] [FROM 'location']

      CANCEL

 

RECOVER MANAGED STANDBY DATABASE TIMEOUT integer

 

RECOVER MANAGED STANDBY DATABASE CANCEL [IMMEDIATE]

On a parallel server you can add to any of the above:
PARALLEL Parallel Clause

Key:

AUTOMATIC Automatically generate the name of the next archived

          redo log file needed to continue the recovery operation.

 

FROM location

          The location from which the archived redo log file group is read.

 

STANDBY

          Recover the standby database using the control file and archived

          redo log files copied from the primary database.

          The standby database must be mounted but not open.

 

UNTIL CANCEL

          Partial recovery. Recovery proceeds by prompting you with the

          suggested filenames of archived redo log files, and recovery completes

          when you specify CANCEL instead of a filename.

 

UNTIL CHANGE integer

          An incomplete, change-based recovery. integer is the System Change Number

          (SCN) following the last change you wish to recover.

 

UNTIL TIME date

          Partial time-based recovery. Use the format:

           'YYYY-MM-DD:HH24:MI:SS'

 

UNTIL [CONSISTENT] [WITH] CONTROLFILE

          Recover an old standby datafile or tablespace using the current

          standby database control file.

 

TABLESPACE tablespace

          Recover a tablespace.

          You may recover up to 16 tablespaces in one statement.

 

CONTINUE [DEFAULT]

          Continues multi-instance recovery after it has been

          interrupted to disable a thread.

          Continues recovery using the redo log file that Oracle

          would automatically generate if no other logfile were specified.

          This option is equivalent to specifying AUTOMATIC, except that Oracle

          does not prompt for a filename.

 

CANCEL

          Terminates cancel-based recovery.

 

MANAGED STANDBY DATABASE

          Sustained standby recovery mode.

 

TIMEOUT integer

          The number of MINUTES = the wait period of a sustained recovery operation.

 

The RECOVER command is available in Server Manager/SQL*Plus, this is recommended for media recovery in preference to the syntax ALTER DATABASE RECOVER... (provided for backwards compatibility with older versions)

 

 

 

RENAME Syntax Statement

RENAME old TO new

 

 

 

REVOKE Syntax Statement

REVOKE role FROM {user, | role, |PUBLIC}

 

System Privs:

   REVOKE system_priv(s) FROM {user, | role, |PUBLIC}

 

Objects:

   REVOKE ALL [(columns)] ON [schema.]object

         FROM  {user, | role, |PUBLIC} [CASCADE CONSTRAINTS] [FORCE]

 

   REVOKE object_priv [(columns)] ON [schema.]object

         FROM  {user, | role, |PUBLIC} [CASCADE CONSTRAINTS] [FORCE]

 

   REVOKE object_priv [(columns)] ON DIRECTORY directory_name

         FROM  {user, | role, |PUBLIC} [CASCADE CONSTRAINTS] [FORCE]

 

   REVOKE object_priv [(columns)] ON JAVA [RE]SOURCE [schema.]object

         FROM  {user, | role, |PUBLIC} [CASCADE CONSTRAINTS] [FORCE]

 

key:

object_privs

ALTER, DELETE, EXECUTE, INDEX, INSERT, REFERENCES, SELECT, UPDATE, ALL PRIVILEGES

 

system_privs

ALTER ANY INDEX, BECOME USER , CREATE TABLE, DROP ANY VIEW RESTRICTED SESSION, UNLIMITED TABLESPACE, UPDATE ANY TABLE plus too many others to list here

 

roles

Standard Oracle roles -  CONNECT, RESOURCE, DBA, EXP_FULL_DATABASE, IMP_FULL_DATABASE plus any user defined roles you have available FORCE, will revoke all privileges from a user-defined-type and mark it's dependent objects INVALID.

 

 

ROLLBACK Syntax Statement

ROLLBACK [WORK] [TO 'savepoint_text_identifier']

ROLLBACK [WORK] [FORCE 'force_text']

 

 

 

SET TRANSACTION Syntax Statement

SET TRANSACTION READ ONLY

SET TRANSACTION READ WRITE

SET TRANSACTION ISOLATION LEVEL

                    {SERIALIZABLE | READ COMMITTED}

SET TRANSACTION USE ROLLBACK SEGMENT rb_segment

 

 

 

SHUTDOWN Syntax Statement

SHUTDOWN ABORT

SHUTDOWN IMMEDIATE

SHUTDOWN TRANSACTIONAL [LOCAL]

SHUTDOWN NORMAL

 

key:

ABORT

The fastest possible shutdown of the database without waiting for calls to complete or users to disconnect. Uncommitted transactions are not rolled back. Client SQL statements currently being processed are terminated. All users currently connected to the database are implicitly disconnected and the next database startup will require instance recovery.       You must use this option if a background process terminates abnormally.

 

IMMEDIATE

Does not wait for current calls to complete or users to disconnect from the database. Further connects are prohibited. The database is closed and dismounted. The instance is shutdown and no instance recovery is required on the next database startup.

 

NORMAL

NORMAL is the default option which waits for users to disconnect from the database. Further connects are prohibited. The database is closed and dismounted. The instance is shutdown and no instance recovery is required on the next database startup.

 

TRANSACTIONAL [LOCAL]

A planned shutdown of an instance, allowing active transactions to complete first. It prevents clients from losing work without requiring all users to log off. No client can start a new transaction on this instance. Attempting to start a new transaction results in disconnection. After completion of all transactions, any client still connected to the instance is disconnected. Now the instance shuts down (SHUTDOWN IMMEDIATE). The next startup of the database will not require any instance recovery procedures. The LOCAL mode specifies a transactional shutdown on the local instance only,  so that it only waits on local transactions to complete, not all transactions. This is useful, for example, for scheduled outage maintenance.

 

 

 

STARTUP Syntax Statement

STARTUP [FORCE] [RESTRICT] [PFILE=filename] NOMOUNT

STARTUP [FORCE] [RESTRICT] [PFILE=filename] MOUNT [dbname]

STARTUP [FORCE] [RESTRICT] [PFILE=filename] OPEN [open_options] [dbname]

 

open_options:

         READ {ONLY | WRITE [RECOVER]} | RECOVER

 

key:

FORCE

Shut down the current Oracle instance (if it is running) with SHUTDOWN mode ABORT, before restarting it. If the current instance is running and FORCE is not specified, an error results. FORCE is useful while debugging and under abnormal circumstances. It should not normally be used.

 

RESTRICT

Only allow Oracle users with the RESTRICTED SESSION system privilege to connect to the database. Later, you can use the ALTER SYSTEM command to disable the restricted session feature.

 

PFILE=filename

The init.ora parameter file to be used while starting up the instance. If PFILE is not specified, then the default STARTUP parameter file is used. The default file used is platform specific.

.

MOUNT dbname

Mount a database but do not open it. dbname is the name of the database to mount or open. If no database name is specified, the database name is taken from the initialization parameter DB_NAME.

 

OPEN

Mount and open the specified database.

 

NOMOUNT

Don't mount the database upon instance startup. Cannot be used with MOUNT, or OPEN.

 

RECOVER

Specifies that media recovery should be performed, if necessary, before starting the instance. STARTUP RECOVER has the same effect as issuing the RECOVER DATABASE command and starting an instance. Only 'complete recovery' is possible with the RECOVER option. Recovery proceeds, if necessary, as if AUTORECOVERY is set to ON, regardless of whether or not AUTORECOVERY is enabled. If a redo log file is not found in the expected location, recovery will continue by prompting you with the suggested location and name of the subsequent log files that need to be applied.

 

 

TRUNCATE TABLE Syntax Statement

TRUNCATE TABLE [schema.]table

     [{PRESERVE|PURGE} SNAPSHOT LOG]

        [{DROP | REUSE} STORAGE]

 

TRUNCATE CLUSTER [schema.]cluster

     [{PRESERVE|PURGE} SNAPSHOT LOG]

        [{DROP | REUSE} STORAGE]

 

The terms "snapshot" and "materialized view" are synonymous.

 

 

Date Format (fmt)

When a date format is used by TO_CHAR  or TO_DATE  they return part of the date/time. When used by TRUNC  they will return the first day of the period. When used by ROUND the values will round up at mid year/mid month (July 1 or 16th day)

CC    Century

SCC   Century BC prefixed with -

 

YYYY  Year 2001

SYYY  Year BC prefixed with -

IYYY  ISO Year 2001

YY    Year 01

RR    Year 01 rollover for Y2K compatibility *

YEAR  Year spelled out

SYEAR Year spelled out BC prefixed with -

BC    BC/AD Indicator *

 

Q     Quarter : Jan-Mar=1, Apr-Jun=2

 

MM    Month of year 01, 02...12

RM    Roman Month I, II...XII *

MONTH In full [January  ]...[December ]

FMMONTH In full [January]...[December]

MON   JAN, FEB

 

WW    Week of year 1-52

W     Week of month 1-5

IW    ISO std week of year

 

DDD   Day of year 1-366 *

DD    Day of month 1-31

D     Day of week 1-7

DAY   In full [Monday   ]...[Sunday   ]

FMDAY In full [Monday]...[Sunday]

DY    MON...SUN

DDTH  Ordinal Day 7TH

DDSPTH Spell out ordinal SEVENTH

J     Julian Day (days since 31/12/4713)

 

HH    Hours of day (1-12)

HH12  Hours of day (1-12)

HH24  Hours of day (1-24)

SPHH  Spell out SEVEN

AM    am or pm *

PM    am or pm *

A.M.  a.m. or p.m. *

P.M.  a.m. or p.m. *

 

MI    Minutes 0-59

SS    Seconds 0-59 *

SSSS  Seconds past midnight (0-86399) *

 

The following punctuation -/,.;: can be included in any date format

any other chars can be included "in quotes"

* Formats marked with * can only be used with TO_CHAR  or TO_DATE  not TRUNC () or ROUND()

Date formats that are spelled out in characters will adopt the capitalisation of the format
e.g.
'MONTH' =JANUARY
'Month' = January

 

 

NLS Formats (Territory)  

Specifying an NLS parameter for an SQL function means that any user session NLS parameters (or the lack of appropriate NLS parameters) will not affect evaluation of the function.

This feature may be important for SQL statements that contain numbers and dates as string literals. For example, the following query is evaluated correctly only if the language specified for dates is American:

SELECT ENAME FROM EMP

WHERE HIREDATE > '1-JAN-01'

 

This can be made independent of the current date language

by specifying NLS_DATE_LANGUAGE:

 

SELECT ENAME FROM EMP

WHERE HIREDATE > TO_DATE ('1-JAN-01','DD-MON-YY',

   'NLS_DATE_LANGUAGE = AMERICAN')

 

Of course a simpler way of making this language-independent is

 

SELECT ENAME FROM EMP

WHERE HIREDATE > TO_DATE ('1-01-01','DD-MM-YY')

 

NLS settings include Character set, Language and territory

 

The most common Character Sets are:

 

WE8ISO8859P15 European English includes euro character

US7ASCII      American English

 

Oracle Languages

 

e.g. NLS_LANGUAGE = ENGLISH

 

  us  AMERICAN

  ar  ARABIC

  �

 

The NLS_LANGUAGE above implicitly defines several other parameters:

NLS_DATE_LANGUAGE, NLS_SORT

 

 

Oracle Territories

 

e.g. NLS_TERRITORY = "UNITED KINGDOM"

  AMERICA

  AUSTRALIA

  �

 

The NLS_TERRITORY implicitly defines several other parameters:

NLS_NUMERIC_CHARACTERS, NLS_CURRENCY, NLS_ISO_CURRENCY, NLS_DATE_FORMAT, NLS_MONETARY_CHARACTERS, NLS_CREDIT, NLS_DEBIT

 

If necessary these can be explicitly defined

e.g. NLS_NUMERIC_CHARACTERS = ",."

 

NLS_COMP

This provides a simple alternative to specifying NLS_SORT in

an SQL WHERE clause

NLS formats will affect SQL statements in views, CHECK constraints, and triggers.

     Reviews and Templates for FrontPage
     

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