Oracle Syntax Master
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 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.
FROM table_list [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 WHERE tableA.column = tableB.column WHERE tableA.column = tableB.column(+) WHERE tableA.column(+) = tableB.column
GROUP BY group_by_list
Heirarchical Queries [START WITH condition] CONNECT BY condition HAVING search_conditions 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 [OF [ [schema.]{table|view}.] column] [NOWAIT]
Writing a SELECT statement The clauses (SELECT ... FROM ... WHERE ...GROUP BY... HAVING ... ORDER BY ... ) must be in this order.
SELECT command { UNION |
|
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:
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. options can be any combination of the following: open / mount options: MOUNT MOUNT STANDBY DATABASE MOUNT CLONE DATABASE 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' 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'
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
|
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 |
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 [ [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
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 [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 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. |
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. 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: 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 [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 [RETURN AS {LOCATOR|VALUE } ] |
CREATE TABLESPACE Syntax Statement
CREATE TABLESPACE tablespace_name DATAFILE Datafile_Options Storage_Options ;
Datafile_Options:
'filespec' [AUTOEXTEND OFF] 'filespec' [ 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. |
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 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' [ 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 |
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) - |
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. |
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: 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
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.
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 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() |
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. 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
e.g. NLS_TERRITORY = " …
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. |