Professional Documents
Culture Documents
Oracle Server 9i Quick Reference Guide
Oracle Server 9i Quick Reference Guide
Oracle Server 9i
Quick Reference Guide
Disclaimer 2
Oracle Architecture 3
Instance 4
Database 8
Database Utilities 9
Tablespaces, Datafiles & Segments 10
Logfiles 11
Tables, Constraints & Triggers 12
Views, Synonyms & Sequences 14
Clusters 14
Index-organized Tables 15
Indexes 15
Undo Management 16
Temporary Segments 16
Users, Privileges, Resources & Policies 17
Auditing 18
Net Services 18
Recovery Manager 20
Distributed DB, Replication, Heterogenous Services,
Advanced Queuing & Data Warehousing 22
Real Application Clusters 24
Globalization Support 26
SQL*Plus 27
Data Types (PL/SQL & Database) 28
SQL, PL/SQL & Java 30
Embedded SQL 34
SQLJ 36
Label Security 37
Performance 37
www.larsditzel.de
2 Oracle Server 9i Quick Reference Guide
Disclaimer
This document is nothing official by Oracle online documentation. Optional parts are
Corporation. Oracle holds all rights on its enclosed in square brackets [], a list of items is
documentation. Certain terms are registered enclosed in curly braces {}, alternatives within
trademarks. brackets or braces are separated by a vertical
This quick reference guide is some kind bar |. Keywords appear in regular style and
of outgrown cheat-sheet for all of us with are not case-sensitive in most OS. Placehold-
limited supply of system memory. It enables ers for input data are enclosed in brackets <>
quick lookup of syntax for statements which with corresponding default values underlined.
one might need less frequently in daily A comma followed by an ellipsis inclosed in
work. So the major goal of this document is square brackets [, …] indicates that the pre-
compaction, not clarity. Some syntax options ceding syntactic element may be repeated. An
only work under certain circumstances, some ellipsis without preceding comma … indicates
options exclude each other. This behaviour that the corresponding syntactic elements have
is intentionally not reflected to avoid prolif- been specified beforehand.
eration of similar statements. Be aware of your Each section commonly starts with dynamic
actions! The author disclaims liability for errors performance views and static data dictionary
within this document and subsequent mistakes views (only DBA variants listed) and – oc-
that might harm your database. In case of casionally – tables. Initialization parameters
uncertainties please refer to Oracle’s excellent follow as well as database packages and im-
original documentation, which can be found portant files or processes. Then comes a list
online at the Oracle Technology Network of performance tuning measures and desup-
(otn.oracle.com) – comprising several hundred ported or deprecated features. The main part
megabytes meanwhile – or contact Oracle Cus- of each section is comprised of SQL statements
tomer Support. In any quick reference guide grouped by functionality. The final section may
there is also no room for discussing concepts state utilities if any exist.
and techniques. If you do not know where to Changes from Releases 8i to 9i are colored
start just read the Oracle Database Concepts blue for new features or red for obsolete
Guide which is very concise. Advanced discus- features. Some features of Server9i Release 2
sions can be found elsewhere, my favourite have been added without another special color
resource being asktom.oracle.com. Oracle highlighting than blue but I did not scan the
Guru Thomas Kyte has also written excellent whole Release 2 documentation yet. And prob-
books on techniques and best practices. Other ably it will not take too long until Server10i
invaluable repositories are the sites of Jonathan shows up…
Lewis (www.jlcomp.demon.co.uk) and of Steve Outdated syntax has not been removed most
Adams (www.ixora.com.au). Not to forget that of the time as one eventually comes across da-
lots of technical whitepapers can be found at tabases running older releases of Oracle Server.
Oracle’s Technet. – One of my customers still uses Server7.
This reference uses a modified Backus-Naur Any suggestions and corrections to improve
Form syntax which is adapted from the Oracle this guide are welcome.
Dr. Lars Ditzel Database Management • Ringstraße 23a • 65824 Schwalbach • Germany
Phone/Fax +49 (6196) 889739-0/5 • Mobile +49 (160) 94651446 • info@larsditzel.de
�����������
�������
������ ����������
������� � ������ �������
��� ������
����������� ��� ��� �����������
������� ���� ���� ���� ���������� �������
����
��� �����
���� ����� ���������
��������� ���� ��������
������� ����
����
��� ���������� ��������
������� ��������
���������
����� �������� ��������� ��������
� ������ � ������
���������� ���������� ������������� ��������
� ����������
�� ����� ���� �������� �����������
� �������� �������
�� ������ ����� �������� �������
������� �������� ��������
������� ��������� ������� ����
��������� � ���� ��� ���� ������ �������� ���������� � �����������������
www.larsditzel.de
4 Oracle Server 9i Quick Reference Guide
Instance
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 5
Instance (cont.)
Parameters | false}, remote_os_roles = {true | false}, repli- Session Scope Dynamic Init. Parameters
show parameter[s] <string> cation_dependency_tracking = {true | false}, alter session set <param> [=] <value>;
alter system set <param> [=] <value> rollback_segments = (<rbs> [, …]), row_lock- cursor_sharing = {similar | exact | force},
[comment ‘<text>’] [deferred] ing = {always | default | intent}, serial_reuse = db_block_checking, db_create_file_dest =
[scope = {memory | spfile | both} ] {disable | select | sml | plsql | all}, session_max_ ‘<dir>’, db_create_online_log_dest_<1-5> =
[sid = { ‘<sid>’ | ‘*’ } ]; open_files = <10>, sessions = <(1.1*proc)+5>, ‘<dir>’, db_file_multiblock_read_count = <8>,
sga_max_size = <n>, shadow_core_dump global_names = {true | false}, hash_area_size
alter system reset <param>
= {partial | full}, shared_memory_address = = <n>, hash_join_enabled = {true | false},
[scope = {memory | spfile | both} ]
<0>, shared_pool_reserved_size = <5%SP>, log_archive_dest_<1-10> = {location = <path>
[sid = { ‘<sid>’ | ‘*’ } ];
shared_server_sessions = <n>, spfile = <file>, | service = <serv>} [optional | mandatory]
sql92_security = {true | false}, sql_trace = {true [[no]reopen [=<300>]] [arch | lgwr] [synch |
Static Initialization Parameters | false}, tape_asynch_io = {true | false}, thread async = <n>] [[no]affirm] [[no]delay [= <30>]]
active_instance_count = <n>, audit_file_dest = <n>, transactions_per_rollback_segment = [[no]dependency] [[no]alternate [= <dest>]]
= <dir>, audit_trail = {none | false | db | true | <5>, undo_management = {manual | auto}, [[no]max_failure [= <n>] [[no]quota_size
os}, background_core_dump = {full | partial}, util_file_dir = <dir> [= <n>] [[no]quota_used] [[no]register [=
bitmap_merge_area_size = <1m>, blank_trim-
<loc>]], log_archive_dest_state_<1-10> = {en-
ming = {true | false}, buffer_pool_{keep | Dynamic Initialization Parameters able | defer | alternate}, log_archive_min_suc-
recycle} = {<n> | (buffers: <n>, lru_latches:
aq_tm_processes = <n>, archive_lag_target = ceed_dest = <1>, max_dump_file_size = {<n>
<n>} << deprecated, circuits = <n>, cluster_data-
<n>, background_dump_dest = ‘<dir>’, back- | unlimited}, nls_calendar = ‘<cal>’, nls_comp
base = {true | false}, cluster_database_instances
up_tape_io_slaves = {true | false}, control_file_ = {binary | ansi}, nls_currency = <curr>,
= <n>, cluster_interconnects = <ip>[:<ip>…],
record_keep_time = <7>, core_dump_dest = nls_date_format = ‘<fmt>’, nls_date_lan-
commit_point_strength = <n>, compatible
‘<dir>’, db_{2|4|8|16|32}k_cache_size = <0>, guage = <lang>, nls_dual_currency = <curr>,
= <x.x.x>, control_files = (“<file>” [, …]),
db_block_checking = {true | false}, db_block_ nls_iso_currency = <terr>, nls_language =
cpu_count = <n>, create_bitmap_area_size
checksum = {true | false}, db_cache_advice <lang>, nls_length_semantics = {byte | char},
= <8m>, cursor_space_for_time = {true |
= {on | ready | off }, db_cache_size = <48m>, nls_nchar_conv_excp = {true | false}, nls_nu-
false}, db_block_buffers = <n> << deprecated,
db_{keep | recycle}_cache_size = <0m>, meric_characters = <sep>, nls_sort = {binary |
db_block_size = <2048>, db_domain =
dispatchers = ‘{ (protocol = <prot>) | (descrip- <ling>}, nls_territory = <terr>, nls_time_for-
<str>, {db | log}_file_name_convert = (‘prim’,
tion = (address =…) ) | (address = (protocol mat = ‘<fmt>’, nls_timestamp_format =
‘stdby’ [, …]), db_files = <200>, db_name =
= <prot>) (host = <node>) (port = <port>) ‘<fmt>’, nls_timestamp_tz_format = ‘<fmt>’,
<str>, db_writer_processes = <1>, dblink_en-
)} (connections = <n>) (dispatchers = <1>) nls_time_tz_format = ‘<fmt>’, object_cache_
crypt_login = {true | false}, dbwr_io_slaves =
(index = <n>) (listener = <list>) ( {pool | max_size_percent = <10>, object_cache_op-
<0>, disk_asynch_io = {true | false}, distrib-
multiplex} = {1 | on | yes | true | both | ({in | timal_size = <n>, optimizer_index_caching
uted_transactions = <n>, gc_files_to_locks
out} = <n>) | 0 | off | no | false | <n>}) (ticks = = <0>, optimizer_index_cost_adj = <100>,
= ‘<f#>[-<f#>]=<n>[!<B>][r][each][: …]’ <<
<15>) (service = <serv>) (presentation = {ttc | optimizer_max_permutations = <80000>, op-
disables Cache Fusion, hi_shared_memory_ad-
oracle.aurora.server.{SGiopServer | GiopServ- timizer_mode = {first_rows_{1|10|100|1000}
dress = <0>, ifile = <file>, instance_groups
er} })’, drs_start = {true | false}, fal_client = | first_rows | all_rows | choose | rule},
= <gr> [, …], instance_name = <sid>,
<serv>, fal_server = <serv>, fast_start_io_target oracle_trace_enable = {true | false}, parallel_
instance_number = <n>, java_max_ses-
= <n> << deprecated, fast_start_mttr_target broadcast_enabled = {true | false}, parallel_in-
sionspace_size = <0>, java_pool_size =
= <0>, fast_start_parallel_rollback = {hi | stance_group = <gr>, parallel_min_percent =
<20k>, java_soft_sessionspace_limit = <0>,
lo | false}, fixed_date = <date>, global_con- <0>, partition_view_enabled = {true | false},
large_pool_size = <n>, local_listener = <serv>,
text_pool_size = <1m>, hs_autoregister = plsql_compiler_flags = {[debug | non_debug],
lock_name_space = <name>, lock_sga =
{true | false}, job_queue_processes = <0>, [interpreted | normal]}, plsql_v2_compat-
{true | false}, log_archive_format = <fmt>,
license_max_sessions = <0>, license_max_us- ibility = {true | false}, query_rewrite_enabled
log_archive_start = {true | false}, log_buffer =
ers = <0>, license_sessions_warning = <0>, = {true | false}, query_rewrite_integrity =
<n>, logmnr_max_persistent_sessions = <1>,
log_archive_dest = <dir>, log_archive_du- {stale_tolerated | trusted | enforced}, remote_
max_commit_propagation_delay = <700>,
plex_dest = <dir>, log_archive_max_processes dependencies_mode = {timestamp | signature},
max_dispatchers = <5>, max_enabled_roles =
= <1>, log_archive_trace = <0>, log_check- session_cached_cursors = <0>, sort_area_re-
<20>, max_shared_servers = <n>, o7_diction-
point_interval = <bl>, log_checkpoint_time- tained_size = <n>, sort_area_size = <65536>,
ary_accessibility = {true | false}, open_cursors
out = <sec>, log_checkpoints_to_alert = {true star_transformation_enabled = {temp_disable
= <50>, open_links = <4>, open_links_per_in-
| false}, parallel_adaptive_multi_user = {true | true | false}, statistics_level = {typical | basic |
stance = <4>, optimizer_features_enable
| false}, parallel_threads_per_cpu = <n>, all}, timed_os_statistics = <0>, timed_statistics
= <9.0.0>, oracle_trace_collection_name
pga_aggregate_target = <0>, plsql_native_c_ = {true | false}, tracefile_identifier = ‘<id>’,
= <name>, oracle_trace_collection_path =
compiler = <path>, plsql_native_library_dir undo_suppress_errors = {true | false}, work-
<dir>, oracle_trace_collection_size = <n>,
= <dir>, plsql_native_library_subdir_count = area_size_policy = {auto | manual}
oracle_trace_facility_name = {oracled, oraclee,
<0>, plsql_native_linker = <path>, plsql_na-
oraclesm, oraclec}, oracle_trace_facility_path =
tive_make_file_name = <path>, plsql_native_ Session Parameters Only
<dir>, os_authent_prefix = <OPS$>, os_roles
make_utility = <path>, resource_limit = {true constraint[s] = {immediate | deferred | default},
= {true, false}, parallel_automatic_tuning =
| false}, resource_manager_plan = <plan>, ser- create_stored_outlines = {true | false | ‘<cat>’}
{true | false}, parallel_execution_message_size
vice_names = <serv> [, …], shared_pool_size = [nooverride], current_schema = <schema>, er-
= <n>, parallel_max_servers = <n>, paral-
<16/64m>, shared_servers = <0/1>, standby_ ror_on_overlap_time = {true | false}, flagger =
lel_min_servers = <0>, pre_page_sga = {true
archive_dest = <path>, standby_file_manage- {entry | immediate | full | off }, instance = <n>,
| false}, processes = <n>, rdbms_server_dn =
ment = {manual | auto}, trace_enabled = {true isolation_level = {serializable | read commit-
<x.500>, read_only_open_delayed = {true |
| false}, transaction_auditing = {true | false}, ted}, plsql_debug = {true | false}, skip_unus-
false}, recovery_parallelism = <n>, remote_ar-
undo_retention = <900>, undo_tablespace = able_indexes = {true | false}, sql_trace = {true
chive_enable = {true | false}, remote_listener =
<ts>, user_dump_dest = <dir> | false}, time_zone = {‘<{+|-}hh:mi>’ | local |
<serv>, remote_login_passwordfile = {none |
shared | exclusive}, remote_os_authent = {true dbtimezone | ‘<tz_region>’}, use_{private |
www.larsditzel.de
6 Oracle Server 9i Quick Reference Guide
Instance (cont.)
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 7
Instance (cont.)
Database Locks (v$lock) CU cursor bind, DF data file, DL direct cache, RT redo thread, SC system commit
modes loader parallel index creation, DM data- number, SM smon, SN sequence number,
0 - none, 1 - null (NULL), 2 - row share base mount, DR distributed recovery, DX SQ sequence number enqueue, SS sort seg-
(SS), 3 - row exclusive (SX), 4 - share (S), distributed transaction, FS file set, HW ment, ST space transaction, SV sequence
5 - share row exclusive (SSX), 6 - exclu- space management operation, IN instance number value, TA generic enqueue, TS
sive (X) number, IR instance recovery, IS instance temporary segment (ID2=0) or new block
user types and names state, IV library cache invalidation, JQ allocation (ID2=1), TT temporary table,
TM dml enqueue, TX transaction job queue, KK redo thread kick, L[A-P] UN user name, US undo segment ddl,
enqueue, UL user-defined lock library cache lock, MM mount defini- WL being-written redo log, XA instance
tion, MR media recovery, N[A-Z] library registration attribute lock, XI instance
system types and names
cache pin, PF password file, PI/PS parallel registration lock
BL buffer hash table, CF control file trans-
operation, PR process startup, Q[A-Z] row
action, CI cross-instance call invocation,
www.larsditzel.de
8 Oracle Server 9i Quick Reference Guide
Database
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 9
Database Utilities
www.larsditzel.de
10 Oracle Server 9i Quick Reference Guide
TS Creation alter tablespace <ts> { online | offline [ next <n> | timeout <n> | delay <n>
create tablespace <ts> [ normal | temporary | immediate | nodelay | expire <n> | cancel
[datafile ‘<file>’] << only optional if | for recover ] }; << deprecated [immediate] [nowait] | disconnect
DB_CREATE_FILE_DEST is set alter tablespace <ts> { read {write | only} [from session] [finish [nowait]] ]
[size <n>] [reuse] | permanent | temporary }; | [standby] tablespace ‘<ts>’ [, …]
[autoextend {off | on [next <n>] alter tablespace <ts> [minimum extent <n>] [until [consistent with] controlfile]
[maxsize {<n> | unlimited} ] } ] default storage (…); | [standby] datafile {‘<file>’ | <n>} [, …]
[,’<file>’… [autoextend…] ] alter tablespace <ts> coalesce; [until [consistent with] controlfile]
[minimum extent <n>] | logfile ‘<log>’ }
alter tablespace <ts> {begin | end} backup;
[blocksize <n> [k]] [test [allow <x> corruption] ]
alter database [<db>] datafile <n> [, …] [noparallel | parallel [<n>] ]
[default storage ( [initial <5xBS>] end backup;
[next <5xBS>] [pctincrease <50>] | continue [default] | cancel };
[minextents <1>] recover [automatic] [from ‘<log_path>’]
Datafiles { database [until { cancel | change <scn>
[maxextents {<n> | unlimited} ]
[freelists <1>] [freelist groups <1>] alter system checkpoint [global | local]; | time ‘<YYYY-MM-DD:HH24:MI:SS>’ }]
[buffer_pool {default | keep | recycle} ] )] alter system check datafiles [global | local]; [using backup controlfile]
[logging | nologging] alter database [<db>] datafile ‘<file>’ [, …] | [managed] standby database
[permanent | temporary] [online | offline] { resize <n> | autoextend… | online [timeout <n> | cancel [immediate] ]
[extent management | offline [drop] | end backup }; | [standby] tablespace ‘<ts>’ [, …]
{ dictionary | local alter database [<db>] tempfile ‘<file>’ [, …] [until [consistent with] controlfile]
[autoallocate | uniform [size <1m>]] }] { resize <n> | autoextend… | online | [standby] datafile {‘<file>’ | <n>} [, …]
[segment space management | offline | drop [including datafiles] }; [until [consistent with] controlfile]
{manual | auto} ]; alter database [<db>] rename file | logfile <log>
create undo tablespace <ts> ‘<file>’ [, …] to ‘<new_file>’ [, …]; | continue [default]
[datafile ‘<file>’… [autoextend…] ] << s.a. | cancel }
alter database [<db>] create datafile
[extent management local] [noparallel | parallel (degree {<n> | default}
‘<file>‘ [, …] [as {new | ‘<file>‘ [, …]} ];
[uniform [size <1m>]]; [instances <1> | default] )]
alter system dump datafile ‘<file>’
create temporary tablespace <ts> block min <x> block max <y>;
[tempfile ‘<file>’… [autoextend…] ] << s.a.
[extent management local] Recovery
[uniform [size <1m>]];
set autorecovery {on | off }
drop tablespace <ts>
[including contents [and datafiles] set logsource <dir>
[cascade constraints] ]; alter database [<db>] recover
[automatic] [from ‘<log_path>‘]
TS Modification { { [standby] database
[until { cancel | change <scn>
alter tablespace <ts> add {datafile | tempfile} | time ‘<YYYY-MM-DD:HH24:MI:SS>’ }]
‘<file>’ size <n> [reuse] [autoextend…]; [using backup controlfile]
alter tablespace <ts> rename datafile | managed standby database
‘<file>’ [, …] to ‘<new>’ [, …];
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 11
Logfiles
www.larsditzel.de
12 Oracle Server 9i Quick Reference Guide
Packages Tuning/Contention
DBMS_UTILITY pctfree = UPD/AVG
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 13
www.larsditzel.de
14 Oracle Server 9i Quick Reference Guide
Clusters
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 15
Index-organized Tables
Views & Tables [overflow [tablespace <ts>] [pctfree <10>] [(partition <part>…) ];
all_tables (iot_type, iot_name), all_indexes [initrans <1>] [maxtrans <255>] alter table <iot> move [online]
[storage (…)] [compress [<n>] | nocompress]
[allocate…] [deallocate…] [tablespace <ts>] [overflow…] …
Creation & Modification
[logging | nologging] ] [noparallel | parallel [<n>] ];
create table <iot> [partition by range (<col> [, …]) alter table <iot> modify default attributes
(<col>… primary key…) (partition <partX> [for partition <part>] [storage (…)]
organization index values less than (<value> [, …]) [pctthreshold <50> [including <col>]]
[tablespace <ts>] [storage (…)] [storage (…)] [tablespace <ts>] [compress [<n>] | nocompress]
[pctfree <n>] [initrans <n>] [maxtrans [overflow tablespace <ts>…] [overflow tablespace <ts>…];
<n>] [, parti-
[mapping table | nomapping] alter table <iot> coalesce;
tion…] )];
[pctthreshold <50> [including <col>]] analyze table <iot> compute statistics;
alter table <iot> … [overflow…];
[compress [<n>] | nocompress]
alter table <iot> add overflow …
Indexes
www.larsditzel.de
16 Oracle Server 9i Quick Reference Guide
Undo Management
Temporary Segments
Desupported Features
sort_multiblock_read_count, sort_direct_
writes, sort_write_buffers, sort_write_buf-
fer_size
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 17
www.larsditzel.de
18 Oracle Server 9i Quick Reference Guide
Auditing
Net Services
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 19
sqlnet.ora cman.ora
log_{file | directory}_{client | server} = <n>, cman =
use_cman = <n>, use_dedicated_server = <n>, (address = (protocol = <tcp>)
sqlnet.expire_time = <n>, sqlnet.{encryption (host = <node>) (port = <1630>))
| crypto_checksum}_{client | server} = cman_admin = (address = (protocol = <tcp>)
{accepted | rejected | requested | required}, (host = <node>) (port = <1830>))
sqlnet.{encryption | crypto_checksum}_types_ cman_profile =
{client | server} = <n>, sqlnet.crypto_seed = (maximum_relays = <n>, relay_statistics
<n>, trace_unique_client = <n>, trace_{level = <n>, log_level = <n>, tracing = <n>,
| file | directory | timestamp}_{client | server} trace_directory = <path>, show_tns_info
= <n>, tnsping.trace_{level | directory} = = <n>, use_async_call = <n>, authentica-
<n>, daemon.trace_{level | directory | mask} tion_level = <n>)
= <n>, sqlnet.authentication_services = cman_rules =
<n>, sqlnet.client_registration = <n>, be- (rule_list = (rule = (src = <src>)
queath_detach = <n>, disable_oob = <n>, (dst = <dst>) (srv = <serv>)
names.directory_path = ( {hostname | (act = accept | reject)))
tnsnames | onames | cds | nds | nis} , … ),
names.default_domain = <n>, name.default_ ldap.ora
zone = <n>, names.preferred_servers =
<n>, names.initial_retry_timeout = <n>,
Other Files
names.request_retries = <n>, names.max_
open_connections = <n>, names.message_ ckpcch.ora, sdns.ora, namesini.sql,
pool_start_size = <n>, names.dce.prefix namesupg.sql, snmp_ro.ora, snmp_rw.ora,
= <n>, names.nis.meta_map = <n>, services.ora
www.larsditzel.de
20 Oracle Server 9i Quick Reference Guide
Recovery Manager
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 21
[debug [=] <n>] [trace [=] <n>]; backup [ full | incremental | scn [=] <n>
set limit channel <chann> [read rate [=] <n>] level [=] { 0 | 1 | 2 | 3 } ] | logseq [=] <n> [thread [=] <n>] }]
[kbytes [=] <n>] [maxopenfiles [=] <n>]; [cumulative] [nochecksum] [skip [forever] tablespace <ts> [, …] ]
release channel [<chann>]; [check logical] [proxy [only]] [(] | tablespace ‘<ts>’ [, …]
{ datafile {‘<file>‘ | <n>} [, …] | datafile {‘<file>’ | <n>} [, …] }
| datafilecopy [delete archivelog] [check readonly]
Reporting
{‘<file>‘ | tag [=] <tag>} [, …] [check logical] [noredo];
report | tablespace ‘<ts>‘ [, …] blockrecover
{ { need backup { {incremental | days} | database { datafile <x> block <x> [, …]
| redundancy } [=] <n> | archivelog | tablespace <ts> dba <x> [, …]
| unrecoverable } { all | like ‘<log>‘ | {from | until} | corruption list }
{ datafile {‘<file>‘ | <n>} [, …] { time [=] ‘<date>‘ [from {backupset | datafilecopy} ]
| tablespace ‘<ts>‘ [, …] | scn [=] <n> [from tag [=] ‘<tag>’]
| database [skip tablespace ‘<ts>‘ | logseq [=] <n> [restore until
[, …]] } [thread = <n>] }} { time [=] ‘<date>‘
| obsolete { redundancy [=] <n> | current controlfile | scn [=] <n>
| recovery window of <x> days | controlfilecopy ‘<ctrl>’ } | sequence [=] <n> thread [=] <n> } ];
| orphan [not backed up [since time [=] ‘<date>’] ] set auxname for datafile {‘<file>‘ | <n>}
| until [plus archivelog] to {‘<new>‘ | null };
{ time [=] ‘<date>’ [include current controlfile]
| scn [=] <n> duplicate target database
[delete [all] input] to ‘<db>‘ [logfile
| logseq [=] <n> [tag [=] <tag>] [format [=] ‘<fm>’]
[thread [=] <n>] }} {‘<log>‘ [size <n>] [reuse]
[filesperset [=] <n>] [channel <chann>] | group <n> (‘<log>‘ [, …])
| schema [at [skip {offline | readonly | inaccessible}]
{ time [=] ‘<date>‘ [size <n>] [reuse] }]
[setsize [=] <n>] [diskratio [=] <n>] [nofilenamecheck] [skip readonly];
| scn [=] <n> [pool [=] <n>] [parms [=] ‘<par>‘] [)];
| logseq [=] <n> [thread [=] <n>] }] }
validate backupset <n> [, …] [check logical];
[device type {disk | ‘<dev>‘} ];
list [expired] {copy | backup} of
Restore & Recovery
{ datafile {‘<file>‘ | <n>} [, …]
| tablespace ‘<ts>‘ [, …] set autolocate {on | off };
| database [skip tablespace ‘<ts>‘ [, …]] set archivelog destination to ‘<path>’;
| controlfile set newname for datafile {‘<file>’ | <n>}
| archivelog to ‘<new>’;
{ all | like ‘<file>‘ | {from | until} restore [(]
{ time [=] ‘<date>‘ { database
| scn [=] <n> [skip [forever] tablespace <ts> [, …]]
| logseq [=] <n> | tablespace ‘<ts>’ [, …]
[thread = <n>]} }} | datafile {‘<file>’ | <n>} [, …]
[tag [=] <tag>] [like ‘<string>‘] | archivelog
[device type ‘<dev>‘] { all | like ‘<log>’ | {from | until}
[recoverable [until { time [=] ‘<date>’
{ time [=] ‘<date>‘ | scn [=] <n> | scn [=] <n>
| logseq [=] <n> [thread [=] <n>]} ]] | logseq [=] <n>
[completed { {after | before} [=] ‘<date>‘ [thread = <n>] }}
| between ‘<date>‘ and ‘<date>‘}] | controlfile [to ‘<ctrl>’] } [)]
[by backup [verbose] ] [channel <chann>] [from tag [=] ‘<tag>‘]
[by {backup summary | file} ] [parms ‘<par>‘]
[summary]; [from {backupset | datafilecopy} ] [validate]
list incarnation [of database [‘<id>‘]]; [check readonly] [check logical]
[ until { time [=] ‘<date>‘ | scn [=] <n>
Backup | logseq [=] <n> [thread [=] <n>] }];
copy replicate controlfile from ‘<ctrl>‘;
{ datafile {‘<file>‘ | <n>} switch datafile
| datafilecopy {‘<file>‘ | tag [=] <tag>} { {‘<file>‘ | <n>} [to datafilecopy
| archivelog ‘<log>‘ {‘<file>‘ | tag [=] <tag>} ]
| controlfilecopy {‘<ctrl>‘ | tag [=] <tag>} | all };
| current controlfile } set until { time [=] ‘<date>‘ | scn [=] <n> |
to ‘<dest>‘ [, …] logseq [=] <n> [thread [=] <n>] };
[tag [=] ‘<tag>‘] [level [=] <n>] recover
[nochecksum] [check logical]; { database
set duplex = { off | on | 1 | 2 | 3 | 4 }; [ until { time [=] ‘<date>‘
www.larsditzel.de
22 Oracle Server 9i Quick Reference Guide
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 23
www.larsditzel.de
24 Oracle Server 9i Quick Reference Guide
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 25
www.larsditzel.de
26 Oracle Server 9i Quick Reference Guide
Globalization Support
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 27
SQL*Plus
www.larsditzel.de
28 Oracle Server 9i Quick Reference Guide
Views & Tables • long type 8 << deprecated <coll> {<varr_type> | <tab_type>};
v$type_size, v$temporary_lobs, {col: 231-1B=2G, pl: 32.760B} <coll>(<subscript>)[.<item>] := <expr>;
v$timezone_names, dba_types, dba_type_at- • long raw type 24 << deprecated <coll>.<method>
trs, dba_type_methods, dba_coll_types, {col: 231-1B=2G, pl: 32.760B} count, delete [ (<i> [,<j>] ) ], exists(<i>),
dba_lobs, dba_part_lobs, dba_lob_partitions, • internal: extend [(<n> [,<i>] )], limit, first, last,
dba_lob_subpartitions, dba_varrays, dba_refs, CLOB, NCLOB type 112 next(<i>), prior(<i>), trim [ (<i>) ]
dba_operators, dba_oparguments, dba_op- BLOB type 113
bindings, dba_opancillary, dba_method_ {col: 232-1B=4G, User-defined Types
params, dba_method_results, dba_directories, inline ~4000b, else out of line}
abstract types
dba_rulesets • external: initialized by constructor <type>(…)
BFILE {pointer} type 114
create [or replace] type <type>;
SQL-Functions {ext. LOB: 232-1B=4G}
create [or replace] directory <dir> as ‘<path>’; forward type definition / incomplete type
drop directory <dir>; create [or replace] type <type>
Parameters rowid [authid {current_user | definer}] {is | as}
• rowid type 69 { object ( <attr> <type> [, …]
{extented: 10B, [, {static | [map | order] member}
Scalar Types (Built-in Types)
restricted: 6B (block.row.file), {function | procedure} <func>
character physical rowid} [( {self | <par>} [in | out | in out]
• char (<1> [byte | char]) type 96 • urowid [(<4000B>)] type 208 <type> [, …] )] [return <type>]
{col: 2.000B, pl: 32.767B} col: 4.000B (IOT logical urowid or [ {is | as} language
(Subtype: character) foreign table foreign urowid) { java name ‘<func>‘
• varchar2 (<n> [byte | char]) type 1 boolean | C [name <func>] library <lib>
{col: 4.000B, • {pl: true | false | null} [with context]
pl: 32.767B (preallocated < 2000B)} [parameters (<par>) }]
(Subtypes: string, varchar) << deprec. [, pragma restrict_references
subtype <subtype> is <base_type> [not null];
• nchar (<1>) type 96 ( {<method> | default},
{col: 2.000B, pl: 32.767B, unicode only} {rnds | wnds | rnps | wnps | trust} )]
national character literal: ANSI Supported Types
[, …] ])
N’<string>’ character [varying] (<n>) | {varray | varying array} (<n>) of <type>
• nvarchar2 (<n>) type 1 {char | nchar} varying (<n>) | table of <type> };
{col: 4.000B, pl: 32.767B, unicode only} varchar (<n>) create [or replace] type body <type>
binary_integer national {character | char} [varying] (<n>) {is | as} {static | [map | order] member}
• {pl: -2.147.483.647 .. 2.147.483.647} {numeric | decimal | dec} [(<prec>[, <scal>])] {function | procedure} <func>
library arithmetic {integer | int | smallint} [( {self | <par>} [in | out | in out]
(Subtypes: natural {non-neg.}, naturaln <type> [, …] )] [return <type>]
float [(<n>)]
{not null} positive{pos.}, positiven {not [ {is | as}
null}, signtype{-1,0,1} ) double precision
{ begin <stat>; end [<func>];
pls_integer real | language
• {pl: -2.147.483.647 .. 2.147.483.647} { java name ‘<func>‘
machine arithmetic Relationship Types | C [name <func>]
number [(<prec>[, <scal>])] type 2 ref library <lib> [with context]
• {precision: 38 digits, scale: -84 to 127, • ref cursor, ref <otype> [parameters (<par>)] }}
21B (20B Mantisse, 1B Exponent)} {pointer} [, …] end;
(Subtypes: dec, decimal, double preci- alter type <type>
sion, float, int, integer, numeric, real, Record Types { compile [debug] [specification | body]
smallint) logical unit of dissimilar types | replace as object (<attr> <type> [, …]
datetime and interval record may not be DB col [, {static | [map | order] member}
• date type 12/13 type <rec_type> is record {function | procedure} <func>
{7B = CentYearMonDayHourMinSec, (<field> {<type> | <tab>.<col>%type} [( {self | <par>} [in | out | in out]
8B, -4.712 to 9.999} [[not null] {:= | default} <expr>] [, …]); <type> [, …] )] [return <type>]
ANSI date literal: [, pragma restrict_references
<record> {<rec_type> | <tab>%rowtype};
date ’<yyyy-mm-dd>’ ( {<method> | default},
<rec_var>.<field> := <expr>; {rnds | wnds | rnps | wnps | trust} )]
• timestamp [(<6>)] type 180
[ with time zone type 181/187/188 [, …]] )};
Collection drop type [body] <type> [force];
| with local time zone ] type 231
elements of same type [ref ] obj_type, type, varchar2(x), number[(p,s)], date,
{20B}
initialized by constructor <collect>(…) raw(x), char[acter](x), char varying(x), varchar(x),
timestamp literal:
varray may be DB col numeric[(p,s)], dec[imal] [(p,s)], int[eger], smallint,
timestamp ‘<yyyy-mm-dd ...>’ float[(x)], double precision, real, blob, clob, bfile
• interval year [(<2>)] to month type 182 nested table may be DB col
• interval day [(<2>)] to second [(<6>)] index-by table must not be DB col
Maximum Row Size
type 183 type <varr_type> is
{varray | varying array} (<size>) of <type> row header (min. 3B) + SUM(max. field
raw (<n>) type 23
[not null]; length + length indicator (<=250: 1B, >250:
• {col: 2.000B, pl: 32.767B}
type <tab_type> is table of <type> [not null] 3B))
large objects
[index by binary_integer];
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 29
datetime/
char varchar2 date long number raw rowid clob blob nchar nvarchar2 nclob
interval
char — X X X X X X X X X
varchar2 X — X X X X X X X X X
date X X — X X
datetime/
X X — X X X X
interval
long X X X — X X X X X
number X X — X X
raw X X X — X X X
rowid X X — X X
clob X X X —
blob X —
nchar X X X X X X X X — X X
nvarchar2 X X X X X X X X X — X
nclob X X X —
www.larsditzel.de
30 Oracle Server 9i Quick Reference Guide
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 31
Number Functions nls_charset_name, nullif, nvl, nvl2, sys_con- order by <col> [, …] {rows | range}
abs, acos, asin, atan, atan2, bitand, ceil, nect_by_path, sys_context, sys_dburigen, [ { between <n> | unbounded
cos, cosh, exp, floor, ln, log, mod, power, sys_extract_utc, sys_guid, sys_typeid, sys_xm- | interval ‘<n>‘ day } preceding]
round, sign, sin, sinh, sqrt, tan, tanh, trunc, lagg, sys_xmlgen, uid, user, userenv, vsize [ { [and] <n> | unbounded
width_bucket | interval ‘<n>‘ day } following]
Aggregate Functions [current row]
[first_value()] [last_value()]
Character Functions avg, corr, count, covar_pop, covar_samp,
[asc | desc] [nulls {first | last}] )
chr, concat, initcap, lower, lpad, ltrim, cume_dist, dense_rank, first, group_id, group-
ing, grouping_id, last, max, min, percen- Reporting Aggregate:
nls_initcap, nls_lower, nlssort, nls_upper, {<WA-Func> | ratio_to_report}
replace, rpad, rtrim, soundex, substr[b|c|2|4], tile_cont, percentile_disc, percent_rank, rank,
regr, stddev, stddev_pop, stddev_samp, sum, (<col>) over (
translate, treat, trim, upper [partition by <col> [, …]]
ascii, instr[b|c|2|4], length[b|c|2|4] var_pop, var_samp, variance
[asc | desc] [nulls {first | last}] )
Object Reference Functions LAG/LEAD:
Datetime Functions {lag | lead} (<col>, <default>) over (
add_months, current_date, current_time- deref, make_ref, ref, reftohex, value order by <col> [, …] [asc | desc]
stamp, dbtimezone, extract, from_tz, last_day, [nulls {first | last}] )
localtimestamp, month_between, new_time, Format Models
next_day, numtodsinterval, numtoyminterval, <fm> = 9 0 $ B MI S PR D G C L , . V SQL Statement Types
round, sessiontimezone, sys_extract_utc, EEEE RN DATE A<n> DDL
systimestamp, sysdate, to_dsinterval, to_time- create, alter, drop, truncate, rename,
stamp, to_timestamp_tz, to_yminterval, Analytic Functions comment, grant, revoke, audit, noaudit,
trunc, tz_offset analyze, {associate | disassociate} statistics
Ranking:
{ rank() | dense_rank() | cume_dist() DML
Conversion Functions | percent_rank() | ntile(<n>) select, insert, update, delete, merge, lock
asciistr, bin_to_num, cast…[multiset], | row_number() } table, explain plan, call
chartorowid, compose, convert, decompose, over ([partition by <col> [, …]] order by TxCtl
hextoraw, numtodsinterval, numtoyminterval, <col> [, …] [asc | desc] [nulls {first | last}]) commit, rollback, savepoint, set transac-
rawtohex, rawtonhex, rowidtochar, rowidton- Window Aggregate: tion
char, to_char, to_clob, to_date, to_dsinterval, { count | sum | avg | min | max | stddev SessCtl
to_lob, to_multi_byte, to_nchar, to_nclob, | variance | var_samp | var_pop alter session, set role
to_number, to_single_byte, to_yminterval, | stddev_samp | stddev_pop | covar_samp SysCtl
translate…using, unistr | covar_pop | regr_slope | regr_intercept alter system
| regr_r2 | regr_avgx | regr_avgy
Micellaneous Functions | regr_count | regr_sxx | regr_sxy
bfilename, coalesce, decode, dump, empty_ | regr_syy }
blob, empty_clob, existsnode, extract, greatest, (<col>) over (
least, nls_charset_decl_len, nls_charset_id, [partition by <col> [, …]]
www.larsditzel.de
32 Oracle Server 9i Quick Reference Guide
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 33
Boolean Conditions
AND true false null OR true false null NOT
true true false null true true true true true false
false false false false false true false null false true
null null false null null true null null null not null
www.larsditzel.de
34 Oracle Server 9i Quick Reference Guide
Embedded SQL
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 35
www.larsditzel.de
36 Oracle Server 9i Quick Reference Guide
SQLJ
#sql <mod> iterator <iter> Utilities –user <user> –password <pwd> –service
[implements <intfc> [, …] ] sqlj <url> –{ssl | iiop}
[with ( [sensitivity = {sensitive –d[ir]=<dir> –encoding=<enc> –url=<url> deployejb
| asensitive | insensitive}] –status –compile=false –user=<user>/ –generated <clientjar> –descriptor <file>
[holdability = {true | false}] <pwd>@jdbc:oracle:thin@<host>:<port>: –verbose –republish –beanonly –addclass-
[returnability = {true | false}] <sid> –linemap –profile=false –ser2class path <path> –resolver <res> –h[elp] –keep
[updatecolumns = ‘<col> [, …] –P–<opt> –C–<opt> –P–help –C–help –version –describe –p[roperties] <file>
[<var> = <val>] [, …] )] –J–<opt> –version –help–alias –help–log –user <user> –password <pwd> –role
(<type> [<col>] [, …]); –<key>=<value> <role> –service <url> –{ssl | iiop}
named or positional iterator –credsfile <file> –useservicename –temp
{ <in>.sqlj [<out>.java] …
#sql <mod> context <cont> | <in>.ser [<out>.jar] … } <dir> <EJBjarfile>
[implements <intfc> [, …]] ejbdescriptor
loadjava
[with ( … <var>=<val> [, …] )]; –{parse | dump} <infile> <outfile>
–d[efiner] –e[ncoding] <latin1> –f[orce]
#sql [ [<conn_cont_inst>, <exec_cont_inst>] ] –g[rant] <user / role>, … –h[elp] java2rmi_iiop
[<var / iter> =] { <SQL stat> }; –noverify –order –r[esolve] –a[ndresolve] –no_bind –no_comments –no_examples
>> Curly braces are part of syntax! <<
–s[ynonym] –oracleresolver –no_tie –wide –root_dir <dir> –verbose
#sql { select /*+ <HINT> */ <expr> [, …] –version –W <n>
–R[esolver] “((<name> <schema>) …)”
into <:[out] var> [, …]
–o[ci8] –t[hin] –v[erbose] <true> java2idl
from <tab> [where <expr> …] };
–S[chema] <schema> modifyprops
#sql <iter> = { select <expr> [, …] –u[ser] <user>/<pwd>@<netserv> –{o[ci8] | t[hin]}
from <tab> [where <expr>…] }; <classes> <jars> <resources> <properties> –u[ser] <user>/<pwd>@<netserv>
#sql { fetch <:iter> into <:var> [, …] }; dropjava {<key> <val> | <key> –delete}
<iter>.next(), <iter>.endFetch(), <iter>.close()
–encoding <latin1> –h[elp]–s[ynonym]
#sql { insert into… }; –{o[ci8] | t[hin]} –v[erbose] –S[chema]
#sql { update… }; <schema> –user user>/<pwd>@<netserv>
#sql { delete from… }; <classes> <jars> <resources> <properties>
#sql { commit }; publish
#sql { rollback }; –republish –h[elp] –version –describe
#sql { set transaction <mode> –g[rant] <user / role>, … –role <role>
[, isolation level <level>] }; –user <user> –password <pwd> –service
#sql { call <proc> (<par> [, …] ) }; <url> –schema <schema> –{ssl | iiop}
#sql <var / iter> = <name> <class> [<helper>]
{ values ( <func> (<par> [, …] ) ) }; remove
#sql { set <:var> = <expr> }; –r[ecurse] –h[elp] –version –d[escribe]
–role <role> –user <user> –password
#sql <iter> = { cast <:result_set> };
<pwd> –service <url> –{ssl | iiop} <name>
#sql { [declare <var> <type>;]
sess_sh
begin <stat>; […] end; };
–h[elp] –version –d[escribe] –role <role>
www.larsditzel.de
Oracle Server 9i Quick Reference Guide 37
Label Security
Performance
www.larsditzel.de