Professional Documents
Culture Documents
احدث برامج قواعد البيانات الاوراكل شرح مفصل وبشيط - 3
احدث برامج قواعد البيانات الاوراكل شرح مفصل وبشيط - 3
احدث برامج قواعد البيانات الاوراكل شرح مفصل وبشيط - 3
:
9
1z0-031 :
.
.
http://www.cb4a.com/
:
: (4) .
: (26) .
: (51) .
: (63) .
: (76) .
: (95) .
: (106).
: (133).
: (146) .
: (164).
ORACLE ARCHITECTURE
ORACLE SERVER
:
ORACLE INSTANCE, ORACLE DATABASE
: ORACLE INSTANCE
Memory Structure .Process structure
" "Data Instance
Instance Database
Instance .Database
1.1
: ORACLE DATABASE
Logical
structure . Physical structure
Logical . Database
Physical .
:
Logical
.Physical
Physical
.
1.2
Logical Structure :
:Tablespaces Database . Tablespaces Database
.Tablespace System Tablespace
Database .Database
:Segments Tablespace .Segments
:Extent Segments .Extents
:Blocks Extent Blocks
.
.Logical Structure
1.3
1.4
1.5
SGA
Instance ) (
SGA
".SGA_MAX_SIZE "Parameter
SGA_MAX_SIZE: Initialization Parameter File
.
: Parameter File .
:1.1
SGA :SQLPLUS
;SHOW SGA
Total System Global Area SGA.
:
SGA 100 " "SGA_MAX_SIZE
:
50 =Shared Pool Area
25 =Database Buffer Cache
10 =Redo Log Buffer ) (
= 15 ) . (
= 100
Shared Pool Area 50 Shared
Pool Area 100
.
60 =Shared Pool Area
20 =Database Buffer Cache
10=Redo Log Buffer ) (
= 10 ) (
= 100
10
1.6
) (Instance
SGA ".SGA_MAX_SIZE "Parameter
SHARED POOL AREA ""Parameter
SHARED_POOL_SIZE
:1.2
Shared Pool Area :
;SHOW PARAMETER SHARED_POOL_SIZE
MB 46 : = 46137344
Shared Pool Area :
;ALTER SYSTEM SET SHARED_POOL_SIZE= 64M
.System altered : SQL PLUS
Shared Pool Area
.Insufficient memory to grow:
11
:Library Cache
:
SQL Shared Statements :1 - PL/SQL Procedures or Packages: 2
:
Database SQL
1 " "Execute SQL
Compilations .PL/SQL
:
:1 SQL select * from employees; :
: 2 Server Process
" "Execute .Library Cache
:3 .Library Cache
:4 SQL SQL
.Library Cache
:5 SQL ;select * from employees
:6 Server Process Library Cache
.Library Cache
:7 .
12
:
Database Database SQL
Data Files Database Buffer Cache
.Input/Output Load
1.7 .
:1.7
:1 . Database
:2 Server process Server Process
Data Files .Database Buffer Cache
:3 Data Files .Database Buffer Cache
:4 .
:5 .Database
:6 Instance
Data Files Database Buffer Cache
Database Buffer Cache
Data Files .
13
1.7
14
:1.3
Database Buffer Cache :
;SHOW PARAMETER DB_CACHE_SIZE
Database Buffer Cache :
;ALTER SYSTEM SET DB_CACHE_SIZE= 30 M
:1.4
:
;SHOW PARAMETER DB_CACHE_ADVICE
" DB_CACHE_ADVICE "Parameter :
;ALTER SYSTEM SET DB_CACHE_ADVICE = READY
: .OFF
15
:1.5
:
;SHOW PARAMETER LOG_BUFFER
" LOG_BUFFER "Parameter.
: Redo Log Buffer .
16
:LARGE POOL
)( DBA
.BACKUP and RESTORE
:
-1 BACKUP DBA " "Copies
Hard disk RESTORE
.
-2 Large Pool .LRU
-3 Large Pool ".LARGE_POOL_SIZE "Parameter
-4 ALTER SYSTEM Shared Pool
.
-5 Large Pool .Shared Server
.Shared Server
:JAVA POOL
Java SQL
PL/SQL Shared Pool Java Pool
".JAVA_POOL_SIZE "Parameter
17
CONNECTION
Database SQL
.Instance
Instance SQLPLUS
.User Process Oracle Server Instance
.Server Process Server Process User
Process Instance .SQL
1.8
:Process
Process
.
Processes User Process , Server Process, :
.Background Process
.Background Process
:Session
Session .Oracle Server Session
Oracle Server Oracle Server
) ( ) (.
Session
SQL PLUS ORACLE FORMS .
18
19
20
BACKGROUND PROCESSES
.Instance Background Processes
Background Background Process
.( ) Processes
.Background Processes 1.1 :
:
Database Writer (DBWn)
Log Writer (LGWR)
System Monitor (SMON)
Process Monitor (PMON)
Checkpoint (CKPT)
Archiver (ARCn)
21
.Checkpoint
) Dirty Buffers Buffers (
.
" "Free Buffers . Process
Tablespace "."Offline
Tablespace )
("."Read Only
Tablespace .Backup
Drop Truncate .Table
.Timeout
Checkpoint .Tablespace
1.9
22
1.10
23
: LGWR .DBWn
.Temporary Segment
24
) :CHECKPOINT (CKPT
Checkpoint Database Buffer Cache Data
Files .DBWn Checkpoint
Data Files .
Checkpoint Process " "Update Data Files Header .Control Files
": "Update
Checkpoint .Data Files Header
Checkpoint .Control Files
Log Sequence .Control Files
SCN .Control Files
.Archived Log
):ARCHIVER (ARCn
Process Redo Log Files Archived
.Log Files .
Database ARCHIVELOG Database
ARCn.
Database ARCn:
:Archivelog
Redo Log Files
Log Switch ARCn
.Archived Log Files
1.11
: NoArchivelog
Redo Log Files " "Overwrite
Checkpoint
.
26
2.1
27
:OUI
Hard Disk
ORACLE HOME ) 2.1 (Destination
" "Old Version " "New Version
.
HTTP
)
(.
)(Uninstall or Deinstall
GUI
Command Windows GUI .2.1
" "Silent Mode Response
.File
:Response File
) (any name.txt 2.1
) Source .(Destination
"."Database
"."Database
"."Database
.Templates
28
2.2
:SQL PLUS
" ."Database
SQL PLUS SQL .
2.3
29
CONSOLE
ORACLE MANAGEMENT SERVER
MANAGED NODES
2.4
:Console
" "GUI Tool .
Instance Tables ""Mouse
.SQL
30
2.5
2.4 Console Oracle Server :
:Standalone ) .Oracle Management Server (2
:OMS ) .Oracle Management Server (1
:DBA Tools
:Console
:Instance Manager "."Database
:Security Manager Users Accounts .Privileges
:Storage Manager Tablespaces Data Files.
:Schema Manager Tables Views .Indexes
:SQL PLUS Worksheet SQL.
31
:Managed Nodes
Node Database . Node
Oracle Intelligent Agent OMS
Console Database
Oracle Intelligent Agent .Node
32
AUTHENTICATION METHODS
User Accounts " Database"
Privileges SYSTEM SYS " Database"
.DBA Role
change_on_install SYS :
.manager SYSTEM
.Database Data Dictionary " Owner" SYS :2
Database DBA Role
.Operating System Authentication Password File Authentication :
:2.1
SQL PLUS :1
$ORAPWD FILE=c:\oracle_home\ora92\dbs\myfile PASSWORD=newadmin
ENTRIES=5;
:2
SHOW PARAMETER REMOTE_LOGIN_PASSWORDFILE;
.Initialization Parameter File EXCLUSIVE
:3
GRANT SYSDBA TO Ahmad;
: Database
CONNECT sys/newadmin AS SYSDBA;
33
:2.2
SQLPLUS :
;CONNECT / AS SYSDBA
:Remote_Login_Passwordfile
Remote_Login_Passwordfile :
34
" "Versions .
2.6
Database . Password File
dbs Control Files oradata...
35
2.7
:PFILE
TXT Notepad .
Instance " "Parameters
) Instance (
" "Parameters PFILE )
Instance (.
OUI Database init.ora
.PFILE
36
:PFILE
db_block_size=4096
db_cache_size=33554432
open_cursors=300
background_dump_dest=C:\oracle2\ora92\admin\dbname\bdump
core_dump_dest=C:\oracle2\ora92\admin\dbname\cdump
timed_statistics=TRUE
user_dump_dest=C:\oracle2\ora92\admin\dbname\udump
db_domain=oracle
remote_login_passwordfile=EXCLUSIVE
control_files=("C:\oracle2\ora92\oradata\dbname\CONTROL01.CTL",
"C:\oracle2\ora92\oradata\dbname\CONTROL02.CTL",
"C:\oracle2\ora92\oradata\dbname\CONTROL03.CTL")
compatible=9.0.0
db_name=dbname
instance_name=dbname
java_pool_size=33554432
large_pool_size=1048576
shared_pool_size=33554432
processes=150
fast_start_mttr_target=300
sort_area_size=524288
undo_management=AUTO
undo_tablespace=UNDOTBS
:PFILE
"Parameters" DBA " Parameters"
PFILE " Parameter"
"Default Value" " Parameter"
" Parameter"
.Control_Files
.(" ) = Paramter"
DBA ( ) #)
.(
37
:SPFILE
binary )Oracle Server (
" "Parameters ) (ALTER SYSTEM
SPFILE ) Instance
SPFILE ALTER SYSTEM
(.
SPFILE PFILE SPFILE
PFILE .
" "Parameters SPFILE :
;]ALTER SYSTEM SET PARAMETER = VALUE [SCOPE = SCOPE_VALUE
: ] [
. Default Default
.
SCOPE_VALUE :
: SCOPE=SCOPE_VALUE
BOTH) SCOPE=BOTH .(Default
:2.3
;SCOPE=SPFILE
:SPFILE
'*. background_dump_dest='C:\oracle2\ora92\admin\dbname\bdump
*. compatible='9.0.0' *.db_block_size=4096 *.db_cache_size=33554432
'*. db_domain='oracle
38
.BACKGROUND_DUMP_DEST
USER_DUMP_DEST
DB_NAME
SHARED_POOL_SIZE
COMPATIBLE
DB_BLOCK_BUFFERS
CONTROL_FILES
" "Parameters .
:Create SPFILE
SPFILE PFILE SYSDBA ROLE
SYSOPER Role :
;]'CREATE SPFILE [='location and name'] FROM PFILE[='location and name
SPFILE
) (spfileSID.ora Default .dbs
PFILE initSID.ora .dbs
: Default .
.database
:2.4
SQL PLUS
;CONNECT / AS SYSDBA
;CREATE SPFILE FROM PFILE
39
SPFILE CONSOLE :
2.8
40
START UP A DATABASE
Database
.NOMOUNT , MOUNT , OPEN :
:NOMOUNT
Staring the Instance Instance
.Oracle Database
:
Database .SQL
:
:MOUNT
:
.Control Files
Database Instance .
41
:OPEN
SQLPLUS
.
:
:STARTUP Command
Database :
]'STARTUP [FORCE] [RESTRICT] [PFILE='location and name
; ] [OPEN [recover] [databases name] | MOUNT | NOMOUNT
: | )( " ."OR MOUNT OPEN
.
:
:PFILE NOMOUNT
.
:RECOVER OPEN MOUNT
RECOVERY.
:RESTRICT Database
Restricted Session Privilege .
:FORCE Instance .
" "Restart .
42
:2.5
STARTUP :
-1
-2
-3
-4
NOMOUNT .MOUNT
MOUNT OPEN
ALTER DATABASE :
;ALTER DATABASE [database's name] MOUNT | OPEN
:2.6
NOMOUNT MOUNT :
;ALTER DATABASE MOUNT
43
:2.7
Database " "READ WRITE :
;ALTER DATABASE OPEN READ ONLY
.SQL
Data Files Offline .Online
Recovery Offline Data Files .Tablespaces
:Restricted Mode
Database
Restricted Session Privilege .
:2.8
Database : Restricted
;STARTUP RESTRICTED
:
;ALTER SYSTEM ENABLE RESTRICTED SESSION
;ALTER SYSTEM DISABLE RESTRICTED SESSION
:Kill a Session
) (Restricted ) DBA (
Database . :
;'ALTER SYSTEM KILL SESSION 'SID, SERIAL#
SID Session ) Session (
.V$SESSION
SERIAL# " "Unique Session
.V$SESSION
44
:2.9
" "Kill Session :
Database
SQLPLUS SQLPLUS
.
SYSTEM username = SCOTT , password =TIGER
:SYSTEM
SELECT USERNAME, SID, SERIAL#
FROM V$SESSION
;'WHERE USERNAME = 'SCOTT
) (
USERNAME
SID SERIAL#
-------- ---------- ---------- -----------------------------SCOTT
9
51
SYSTEM:
;'ALTER SYSTEM KILL SESSION '9, 51
2.9
45
:NORMAL
Database :
.Database
Database
.Database
Redo Log Buffer .Redo Log Files
Database Buffer Cache .Data Files
COMMIT .ROLLBACK
.Background Processes
SGA .
Database .Instance
: Recovery Instance
. Recovery PMON . SMON
:TRANSACTIONAL
Database NORMAL :
Database
Database .NORMAL
.
Database .
: Recovery Instance .
46
:IMMEDIATE
Database NORMAL :
Database
.
) ( .ROLLBACK
: Recovery Instance .
:ABORT
Database
.
Database :
Database
.
) ( .ROLLBACK
Redo Log Buffer .Redo Log Files
Database Buffer Cache Data Files
COMMIT .ROLLBACK
Database Instance .
: Recovery Instance .
:2 STARTUP FORCE Instance
.SHUTDOWN ABORT
47
DIAGNOSTIC FILES
Diagnostic Instance
.Database Diagnostic:
:ALERT LOG FILE
.Database
Instance .
.Background Processes
.Log Switch
"."Error Messages
.Tablespaces
.Undo Segments
SQL .ALTER
Log Sequence Online Redo Log File
LGWR
.Undo Segments
: Log Sequence Number .
48
49
:2.10
'DB_CREATE_FILE_DEST = 'C:\oracle\ora92\oradata\u01
'DB_CREAE_ONLINE_LOG_DEST_1 = 'C:\oracle\ora92\oradata\u02
'DB_CREAE_ONLINE_LOG_DEST_2 = 'C:\oracle\ora92\oradata\u03
" "Values .ALTER SYSTEM
ALTER SYSTEM SET
;'DB_CREATE_FILE_DEST='C:\oracle\ora92\oradata\u04
50
51
PRE-CREATING STAGES
Database DBA :
.Database
Database Database
Data Migration Assistant
Database
CREATE DATABASE ) SQL ( Database
.Configuration Assistant
.Backup
:
-1 Control File .
-2 Redo Log .
-3 .
-4 Database ) (
.Disk Fragmentation
-5 Tables Indexes Tablespaces .Input/Output
52
:CREATE A DATABASE
Database " ."Template Database
Options .
Database Databases .
" "Templates:
3.1
53
3.2
" "New Database " "Features
.Database
3.3
54
.Database
3.4
3.5
55
Tablespaces
.
3.6
Database
" "Template SQL Scripts
.CREATE DATABASE
3.7
56
:DELETE A DATABASE
Database
:MANAGE A TEMPLATE
" "Template " "Template .
" "Template :
3.8
57
UNIX Database :
: Environmental Variables
."Top of Tree" " Directory" :ORACLE_BASE
."Versions"
.Oracle Software :ORACLE_HOME
. Instance Instance :ORACLE_SID
."Default" " Database Character Set" :ORA_NLS33
SQLPLUS :PATH
.$ORACLE_HOME\bin
Oracle Library Files :LD_LIBRARY_PATH
.$ORACLE_HOME\lib
: Database
CREATE DATABASE [name of database]
[CONTROLFILE REUSE]
[LOGFILE [GROUP number] C1
[MAXLOGFILES number]
[MAXLOGMEMBERS number]
[MAXLOGHISTORY number]
[MAXDATAFILES number]
[MAXINSTANCES number]
[ARCHIVELOG | NOARCHIVELOG]
[CHARACTER SET char]
[NATIONAL CHARACTER SET char]
[DATAFILE C1 [C2]]
[DEFAULT TEMPORARY TABLESPACE tablespace_name C1 [C3]]
[UNDO TABLESPACE tablespace_name DATAFILE C1 [C2]]
[SET TIME_ZONE [time_zone_region]]
58
C3C2 C1 :
'filename' [SIZE number] [K | M] [REUSE] =C1
[AUTOEXTEND OFF | ON [NEXT number [K | M]] =C2
]]][MAXSIZE UNLIMITED | number [K | M
EXTENT MANAGEMENT LOCAL UNIFORM [SIZE number] [K | M] =C3
:
][LOGFILE [GROUP number] 'filename' [SIZE number] [K | M] [REUSE
: CREATE DATABASE .
:2 SIZE REUSE .
:
59
:3.1
CREATE DATABASE db01
CONTROLFILE REUSE
LOGFILE
GROUP 1 ('C: \oracle\ora92\oradata\db01\log101.log') SIZE 10M
GROUP 2 ('C: \ oracle\ora92\oradata\db01\log201.log') SIZE 10M
GROUP 3 ('C: \ oracle\ora92\oradata\db01\log301.log') SIZE 10M
MAXLOGFILES 4
MAXLOGMEMBERS 2
MAXLOGHISTORY 0
MAXDATAFILES 254
MAXINSTANCES 2
ARCHIVELOG
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
DATAFILE 'C: \oracle\ora92\oradata\db01\system01.dbf' SIZE 100M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
UNDO TABLESPACE UNDO01
DATAFILE 'C: \oracle\ora92\oradata\db01\undo01.dbf' SIZE 40M
DEFAULT TEMPORARY TABLESPACE TEMP01 TEMPFILE
'C: \oracle\ora92\oradata\db01\temp01.dbf' SIZE 20M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
SET TIME_ZONE = 'CANADA /YUKON'
;
: Database
.SQL
( )
."Operating System "
: Database
.Instance
. CREATE DATABASE
. SQL
. Database NOMOUNT Instance
60
DATA DICTIONARY
Data Dictionary Database Tables
Views .Database Data Dictionary
DBA Oracle
) .Data Definition Language (DDL Data Dictionary
Database
.User Privileges
Data Dictionary :
:Data Dictionary
Data Dictionary :
.Database
"."Users
Privileges Roles .
Auditing .
. Integrity Constraint
61
:3.2
;SELECT * FROM DBA_OBJECTS
;SELECT * FROM ALL_OBJECTS
;SELECT * FROM USER_OBJECTS
;SELECT * FROM DICTIONARY
DYNAMIC PERFORMANCE
Database Oracle Server Database
Tables Database .
Dynamic Performance View SYS Schema
Database ) Data Manipulation Language(DML.
Views V$FIXED_TABLE Columns
Views .V$INSTANCE
: Dynamic Performance Views .V$
62
63
CONTROL FILE
Control File Database Oracle
Server Database Database
.Data Files " "Update Oracle Server
DBA .
Control File Database Control File
Database Control File Database
: ) Control Files
Redo Log( Multiplex .
:2 Control Files .Binary
: Control File .Mount
:2 SPFILE .Binary
MAXLOGFILES
MAXLOGMEMBERS
MAXLOGHISTORY
MAXINSTANCES
MAXDATAFILES
Control File :
64
SPFILE :
= ALTER SYSTEM SET CONTROL_FILES
('\ora01\oradata\db01\ctr001.ctl', '\ora02\oradata\db01\ctr002.ctl',
)''\ora03\oradata\db01\ctr003.ctl', '\ora04\oradata\db01\ctr004.ctl
;SCOPE=SPFILE
Database :
;SHUTDOWN
Control File )
COPY .(PASTE
Database :
STARTUP
Database :
;SHUTDOWN
Control File .
.Database
65
.( ...) :
:USING OMF
66
4.1
Redo Log File Log Sequence Number
" "Overwritten
.
: Log Sequence Number:
Control File
Data Files Header
67
:Checkpoint
Checkpoint Log Sequence Number
.Control File Checkpoint Checkpoint Log
Switch Log Switch .Checkpoint Alert
Log File Checkpoint Log Switch
" "Parameter LOG_CHECKPONT_TO_ALERT True
" "Default .False
Checkpoint:
.Log Switch
Database .ABORT
:4.1
Checkpoint SQL :
;ALTER SYSTEM CHECKPOINT
""Parameter
FAST_START_MTTR_TARGET = 400
Recovery 400
Recovery Checkpoint .Log Switch
Log Switch SQL :
;ALTER SYSTEM SWITCH LOGFILE
68
Database .
.Storage Device
69
:4.2
ALTER DATABASE ADD LOGFILE GROUP 4
;('\oradata\db01\log11.log' , '\oradata\db02\log12.log') SIZE 5M
:4.3
ALTER DATABASE ADD LOGFILE MEMBER
'\oradata\db04\log41.log' TO GROUP 1,
'\oradata\db04\log42.log' TO GROUP 2,
'\oradata\db04\log43.log' TO GROUP 3,
;'\oradata\db04\log44.log' TO GROUP 4
:
ALTER DATABASE ADD LOGFILE MEMBER
''\oradata\db04\log14.log
TO ('\oradata\db01\log11.log' , '\oradata\db02\log12.log' ,
;)''\oradata\db03\log13.log
Console :
Console .Standalone
Database .
SYSDBA .Normal
.Storage Manager
.Redo Log Groups
.Apply
70
:4.4
;ALTER DATABASE DROP LOGFILE GROUP 4
.4.3
Redo Log File Inactive :
;ALTER SYSTEM SWITCH LOGFILE
71
:4.5
;'ALTER DATABASE DROP LOG MEMBER '\oradata\db04\log4.log
Console :
Console .Standalone
Database .
SYSDBA .Normal
.Storage Manager
Redo Log Groups .
.Database
) ( ) (
) (.
Database .MOUNT
;'ALTER DATABASE RENAME FILE 'old Filename' TO 'newFilename
Database Backup Control File
.
72
:4.6
Redo Log :
;ALTER DATABASE CLEAR LOGFILE GROUP 3
.
:USING OMF
Redo Log Files OMF .
OMF
.
OMF DB_CREATE_ONLINE_LOG_DEST_n
Initialization Parameter File Multiplex Redo Log Files
n " " Parameter 1 .5
:4.7
OMF :
;ALTER DATABASE DROP LOGFILE GROUP 3
:
;ALTER DATABASE ADD LOGFILE
.
Multiplex :Initialization Parameter File
'DB_CREATE_ONLINE_LOG_DEST_1 = '\oradata\db01
'DB_CREATE_ONLINE_LOG_DEST_2 = '\oradata\db02
'DB_CREATE_ONLINE_LOG_DEST_3 = '\oradata\db03
73
V$LOG
V$LOGFILE
:V$LOG
7
:
:UNUSED
.
:CURRENT LGWR Redo
.Log Buffer
:ACTIVE .Recovery
:CLEARING DBA
SQL .UNUSED
:CLEARING_CURRENT .SQL
:INACTIVE Database
Recovery .
:V$LOGFILE
. 4 :
:INVALID .
:STALE .
:DELETED .
" :"Blank .
:4.8
SELECT GROUP# , SEQUENCE#, BYTES, MEMBERS, STATUS
;FROM V$LOG
;SELECT GROUP#, STATUS, TYPE, MEMBER FROM V$LOGFILE
74
:4.9
;SELECT ARCHIVER FROM V$INSTANCE
Console :
Console .Standalone
Database .
SYSDBA .Normal
Instance Manager .Configuration
.Recovery
75
76
TABLESPACE
Database Logical Physical Tablespace
Logical Segment Extents .Data Blocks
Tablespace Database Tablespace
.Data File
Tablespace:
:CREATING TABLESPACES
Tablespace :
CREATE TABLESPACE tablespace's name
][DATAFILE C1
]][MINIMUM EXTENT number [K | M
] ][BLOCKSIZE number [K
][LOGGING | NOLOGGING
][DEFAULT C2
][ONLINE | OFFLINE
][PERMANENT | TEMPORARY
: .Default
C2 C1 :
'filename' [SIZE number [K | M] [REUSE] | REUSE] [AUTOEXTEND ] =C1
STORAGE (INITIAL number K|M NEXT number K|M =C2
)MINEXTENTS number PCTINCREASE number MAXEXTENTS number
77
:5.1
Tablespace SQL :
CREATE TABLESPACE user_data
DATAFILE '\oradata\db01\userdata01.dbf' SIZE 50M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M
LOGGING
OFFLINE
TEMPORARY
DEFAULT STORAGE (INITIAL 1M NEXT 1M MINEXTENTS 2
PCTINCREASE 0 MAXEXTENTS
)999
;
Console :
Console .Standalone
Database .
SYSDBA .Normal
.Storage Manager
Tablespace Tablespace
.Create
Tablespace Data Files
Tablespace .CREATE
78
.Data Dictionary
Extent Extents .
Coalescing Space
) .(Database
Tablespaces
:CREATE TABLESPACE
EXTENT MANAGEMENT LOCAL
] ] ][AUTOALLOCATE | UNIFORM [SIZE number [K|M
:
-1 ][DEFAULT C2
-2 .TEMPORARY
-3 .MINIMUM EXTENT
:
:5.2
: Locally Managed Tablespace
CREATE TABLESPACE app_data
DATAFILE '\oradata\db01\appdata01.dbf' SIZE 250M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K;
:Autoallocate Default Locally Managed
CREATE TABLESPACE app_data
DATAFILE '\oradata\db01\appdata01.dbf' SIZE 250M;
:5.3
CREATE TABLESPACE app_data
DATAFILE '\oradata\db01\appdata01.dbf' SIZE 250M
EXTENT MANAGEMENT DICTIONARY
DEFAULT STORAGE (INITIAL 1M NEXT 1M] ;
80
:5.4
:Minimum Extent
;ALTER TABLESPACE app_data MINIMUM EXTENT 2M
:Default Storage
ALTER TABLESPACE user_data
( DEFAULT STORAGE
INITIAL 2M
NEXT 2M
;)MINEXTENTS 1500
Console :
Console .Standalone
Database .
SYSDBA .Normal
.Storage Manager
Tablespace Tablespace
.View\Edit Details
Storage .Apply
81
NON-SYSTEM TABLESPACES
Non-System Tablespaces Database
Permanent Tablespace Undo Tablespace .Temporary Tablespace
Permanent Tablespace " "Data Database
Data Dictionary Tablespace
Data Dictionary System Tablespace
Database .
:UNDO TABLESPACE
Undo Segment . Extents
Locally Managed ) Database
:(CREATE DATABASE
CREATE UNDO TABLESPACE tablespace_name
][DATAFILE C1
EXTENT MANAGEMENT LOCAL
] ] ][AUTOALLOCATE | UNIFORM [SIZE number [K|M
: Undo Tablespace Automatic Undo Management
.Undo Segment
:5.5
CREATE UNDO TABLESPACE undo01
;DATAFILE '\oradata\db01\undo101.dbf' SIZE 50M
Console :
Console .Standalone
Database .
SYSDBA .Normal
.Storage Manager
Tablespace Tablespace
.Create
Undo Permanent
Tablespace .Create
82
:TEMPORARY TABLESPACE
Sort Order By.Group By
" "Temporary Data Sort Segment
Tablespace Sort .Instance Extents
.Locally Managed
: Sort Segment Extents
Sort.
Temporary Tablespace CREATE TABLESPACE
TEMPORARY :Locally Managed
CREATE TEMPORARY TABLESPACE temp's name
'TEMPFILE 'filename
EXTENT MANAGEMENT LOCAL
] ] ][AUTOALLOCATE | UNIFORM [SIZE number [K|M
:5.6
CREATE TEMPORARY TABLESPACE temp01
TEMPFILE '\oradata\db05\temp01.dbf ' SIZE 200M
;EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M
Console :
Console .Standalone
Database .
SYSDBA .Normal
.Storage Manager
Tablespace Tablespace
.Create
Temporary Permanent
Tablespace Storage .Size
.Create
) TEMPFILE ( DATAFILE :
.Read-Only
.
.Recovery
.ALTER DATABASE
.NOLOGGING
.CREATE CONTROLFILE
83
.Offline
:5.7
Temporary Tablespace Default Default Temporary
:
;ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp02
Console :
Console .Standalone
Database .
SYSDBA .Normal
.Storage Manager
Tablespace Tablespace
.Create
Temporary Permanent
Tablespace Storage .Size
Set as Default Temporary Tablespace .Create
84
ALTERING A TABLESPACE
Tablespaces ALTER TABLESPACE
: Offline Online Tablespace
Read-Only Tablespace Tablespace .
:OFFLINE OR ONLINE
Tablespace Offline
Tablespace .Database Tablespace Offline
DBA Backup Recovery
Database Data Files Tablespace
Database .
Tablespace Online Offline
Data Dictionary .Control File Instance Tablespace
.Tablespace
Tablespaces Offline System Tablespace
Default Temporary Tablespace Undo Segment .Active
:
ALTER TABLESPACE tablespace's name
| ONLINE
]OFFLINE [NORMAL | TEMPORARY | IMMEDIATE| FOR RECOVER
:
Tablespace CREATE
.TABLESPACE
85
:5.8
Tablespace Online :
;ALTER TABLESPACE user_data ONLINE
Tablespace Offline :
;ALTER TABLESPACE user_data OFFLINE
;ALTER TABLESPACE user_data OFFLINE IMMEDIATE
;ALTER TABLESPACE user_data OFFLINE TEMPORARY
Console :
Console .Standalone
Database .
SYSDBA .Normal
.Storage Manager
+ Tablespace .Tablespaces
Tablespace .
Tablespace Offline
.Apply
:READ-ONLY TABLESPACE
Tablespace " "Read-Only DBA
Data Files Tablespace . DBA
Tablespace Read-Only Data Files Tablespace
Online Tablespace
Read-Only Read-Write Data Files .Online
Tablespace Read-Only :
]ALTER TABLESPACE tablespace's name READ [ONLY | WRITE
) (Tables, Indexes Read-Only Tablespace
Tablespace .Data Dictionary
Tablespace " "Transaction
Commit .Rollback
: System Tablespace .Read-Only
86
:5.9
Tablespace Read-Only :
;ALTER TABLESPACE user_data READ ONLY
Tablespace :
;ALTER TABLESPACE user_data READ WRITE
Console :
Console .Standalone
Database .
SYSDBA .Normal
.Storage Manager
+ Tablespace .Tablespaces
Tablespace .
Tablespace
Read Only .Apply
:DROPPING TABLESPACES
Tablespace Database :
DROP TABLESPACE tablespace's name
]][INCLUDING CONTENTS [AND DATAFILES] [CASCADE CONSTRAINTS
:
87
:
-1 Tablespace .Read-Only
-2 Tablespace Offline
Tablespace Offline
.
-3 Tablespace Control File
.Tablespace
: Control File Tablespaces Data
.Files
5.10
Tablespace :
DROP TABLESPACE user_data
;INCLUDING CONTENTS AND DATAFILES
DROP TABLESPACE user_data
;INCLUDING CONTENTS CASCADE CONSTRAINT
DROP TABLESPACE user_data
;INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINT
Console :
Console .Standalone
Database .
SYSDBA .Normal
.Storage Manager
+ Tablespace .Tablespaces
Tablespace .
.Remove
Yes .
88
:RESIZING A TABLESPACE
Tablespace Data Files Data Files
.Tablespace Data Files .
:Automatic Extension
AUTOEXTEND Data Files
. AUTOEXTEND Database Tablespace
:
]ALTER DATABASE [database's name
]DATAFILE 'filename' [SIZE number] [K | M] [REUSE
]][AUTOEXTEND OFF|ON [NEXT number [K|M
]][MAXSIZE UNLIMITED | number [K |M
:
:AUTOEXTEND OFF .
:AUTOEXTEND ON
.
:NEXT .Data Files
:MAXSIZE .Data Files
.UNLIMITED
5.11
Data Files Tablespace :
'ALTER DATABASE DATAFILE '\oradata\db01\userdata01.dbf
;AUTOEXTEND ON NEXT 10M MAXSIZE 250M
Console :
Console .Standalone
Database .
SYSDBA .Normal
.Storage Manager
+ Data Files .Data Files
Data File .
Storage .
) Increment (NEXT Unlimited
Value .Apply
89
:Manual Extension
Data Files :
]'ALTER DATABASE [database's name] DATAFILE 'filename', ['filename2
]RESIZE number [K|M
: Data File 100 MB 70 MB
DBA 60 MB Data File
: Data File .70 MB
: 5.12
5.12
Data Files Tablespace :
ALTER DATABASE DATAFILE '\oradata\db01\userdata01.dbf',
''.\oradata\db01\userdata02.dbf
;RESIZE 250M
Console :
Console .Standalone
Database .
SYSDBA .Normal
.Storage Manager
+ Data Files .Data Files
Data File .
File Size .Apply
90
:5.13
:Tablespace Data Files
ALTER TABLESPACE user_data ADD DATAFILE
'\oradata\db01\userdata01.dbf' SIZE 200M
AUTOEXTEND ON NEXT 10M MAXSIZE 250M,
'\oradata\db01\userdata02.dbf' SIZE 200M
AUTOEXTEND ON NEXT 10M MAXSIZE 250M;
: Console
.Standalone Console
. Database
.Normal SYSDBA
.Storage Manager
.Tablespaces Tablespace +
. Data File Tablespace
.Add Datafile
.Create
:MOVING DATAFILES
ALTER ALTER TABLESPACE Data Files
.DATABASE
:Alter Tablespace
: Data Files
ALTER TABLESPACE tablespace's name
RENAME DATAFILE 'filename' , ['filename']
TO 'filename' , ['filename'];
91
Tablespace .Offline
Data File )
COPY .(PASTE
.
Tablespace Online
Data Files .
Tablespace .Offline
Data Files .
Data Files Data Files
.Control File
Data Files .System Tablespace
:5.14
:
ALTER TABLESPACE app_data RENAME DATAFILE
''\oradata\db01\app01.dbf' , '\oradata\db01\app02.dbf
TO
;''\oradata\db02\app01.dbf' , ' \oradata\db02\app02.dbf
:Alter Database
Data Files :
ALTER DATABASE database's name
]'RENAME FILE 'filename' , ['filename
;]'TO 'filename' , ['filename
:
.Database
Data File )
COPY .(PASTE
Database .Mount
.
Database .Open
92
Database .Mount
Data Files .
Data Files .System Tablespace
:5.15
:
ALTER DATABASE app_data RENAME FILE
''\oradata\db01\app01.dbf
TO
;''\oradata\db02\app01.dbf
:5.16
Tablespace OMF ""Parameter
DB_CREATE_FILE_DEST :
;CREATE TABLESPACE new_data
93
:QUERYING INFORMATION
Tablespaces :
:V$TABLESPACE .Tablespaces
Data Files :
Temp Files :
:DBA_TEMP_FILES Temp Files Temp Files
Tablespace Temp File Temp Files .
94
95
SEGMENTS
Tablespace Logical Structure Segment
Segment Segments Tablespace
.Extent
: Segment
.TABLE SEGMENT
.TABLE PARTITION SEGMENT
.CLUSTER SEGMENT
.INDEX SEGMENT
.INDEX-ORGANIZED TABLE SEGMENT
.INDEX PARTITION SEGMENT
.TEMPORARY SEGMENT
.UNDO SEGMENT
.LOB SEGMENT
.NESTED TABLE SEGMENT
96
DATA BLOCKS
""Parameter
DB_BLOCK_SIZE Database . Data
Block:
6.1
: 6.1 Data Space
Block Header .
97
:PCTFREE Block
" "Data Rows " "Update " "Data Rows
Block Default .10%
:
PCTUSED 30% PCTFREE :20%
-1 " "Rows Block 80%
Block PCTFREE 20%
Block Rows Block
COLUMN NULL . Rows
Rows .PCTFREE
-2 Rows Block Rows
Rows Block Rows Block
PCTUSED .30% Rows 30% Block
Rows ).(Freelist
98
:6.1
CREATE TABLESPACE APP_DATA
'DATAFILE '\oradata\db05\appdata04.dbf
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K
;SEGMENT SPACE MANAGEMENT AUTO
99
STORAGE INFORMATION
Segments :
:DBA_SEGMENTS Segment
Tablespace Segment Extents Segment Data
Blocks .
Used Extents :
Free Extents :
100
UNDO SEGMENT
Undo Segment
" "Transactions
Rollback . Commit Undo Segment Header
" "Transactions .Undo Segment
:Undo Segment
Rollback
.Commit
Instance .Recovery
.Read Consistency
101
:
-1 Employees Tables
.UPDATE
-2 Employees Table .Undo Segment
-3 Query Select * From
Employees SCN
.Commit
-4
.Undo Segment
-5 Commit .SCN
-6 .Select * From Employees
-7 .
102
.
:AUTOMATIC UNDO MANAGEMENT
Undo Tablespace .Instance
Undo Tablespace .Oracle Server
Undo Segment _SYSSMUn$ ._SYSSMU1$
Automatic Undo Management Undo Tablespace
.Active Undo Tablespace Database
.Active
" UNDO_MANAGEMENT "Parameter
AUTO .Initialization Parameter File
Database Default .MANUAL
Undo Tablespace Automatic Undo
Management " UNDO_TABLESPACE "Parameter
Initialization Parameter File Undo Tablespace Database
" ."Parameter
.ALTER SYSTEM
:6.2
UNDO_TABLESPACE ) Tablespace
:(Active
;ALTER SYSTEM SET UNDO_TABLESPACE = UNDOTBSPACE
Console :
Console .Standalone
Database .
SYSDBA .Normal
.Instance Manager
.Configuration
.Undo
Current Undo Tablespace .Undo Tablespace
.Apply
103
:6.3
Undo Tablespace DROP TABLESPACE
Undo Tablespace
Undo Tablespace Tablespace :
SELECT Z.NAME, X.STATUS
FROM V$ROLLNAME Z, V$ROLLSTAT X
WHERE Z.NAME IN
(SELECT SEGMENT_NAME FROM DBA_SEGMENTS
)'WHERE TABLESPACE_NAME = 'UNDOTBS
; AND Z.USN = X.USN
STATUS PENDING ONLINE Tablespace
PENDING OFFLINE .Tablespace
:Resource Manager
Resource Manager
Undo Data ""Maxsize
.Undo Data
UNDO_POOL " "Default .UNLIMITED
104
105
106
STORING DATA
DATA Rows Columns .Tables
Tables:
:DATA TYPES
Data Types Scalar, Collection,
.Relationship
:Scalar Data Types
:Scalar Data Types
107
:DATE .
31 9999
1.4712 .
:TIMESTAMP DATE
. 9 ) ( 0.987654321 Default 6.
:TIMESTAMP WITH TIME ZONE TIMESTAMP
) (.
.
:TIMESTAMP WITH LOCAL TIME ZONE
TIMESTAMP Session Time Zone
3
) 3 (
. .
:ROW .Binary Data 2000
.
:LONG RAW Row ) 2GB (
:LONG ) 2GB
CLOB .(NCLOB Table
Long.
:CLOB, NCLOB 4GB .Character Data
:BLOB 4GB Unstructured Data Binary Images
.Documents
:BFILE Database
.4GB
:ROWID, UROWID 10 bytes Row
Database Row .
ROWID UROWID Rows No-Oracle
)Tables Database (.
108
MANAGING TABLES
:CREATE TABLES
Table CREATE TABLE
" ."Introduction to SQL Table
Schema CREATE TABLE privilege Table
Schemas .CREATE ANY TABLE privilege
:Tables
Table Tablespace Tablespaces Undo
Segments Temporary Segments .Indexes
) Locally Managed (Storage
.Fragmentation
:7.1
Locally Managed Table :
CREATE TABLE HR.TEST
;)(FIRST VARCHAR2 (10), LAST NUMBER
:
CREATE TABLE HR.TEST
)(FIRST VARCHAR2 (10), LAST NUMBER
TABLESPACE EXAMPLE
PCTFREE 10 PCTUSED 20
;MAXTRANS 200 MINTRANS 1
TABLESPACE EXAMPLE Tablespace
Table .Example Tablespace
Default .System Tablespace Table
Schema .HR
Console :
Console .Standalone
Database .
SYSDBA .Normal
+ .Schema Manager
Table Create .
) (Table Apply
Create Using Wizard Create .Table
109
:7.2
Dictionary Managed Table :
CREATE TABLE HR.TEST2
)(FIRST VARCHAR2 (10), LAST NUMBER
TABLESPACE EXAMPLE
PCTFREE 10 PCTUSED 20
MAXTRANS 200 INITRANS 1
STORAGE (INITIAL 200K NEXT 200K
PCTINCREASE 50
MINEXTENTS 1 MAXEXTENTS 5
FREELISTS 1 FREELIST GROUPS 1
; )BUFFER_POOL DEFAULT
: Storage
:INITIAL .Extent
:NEXT Extent Extent.
:PCTINCREASE Extents ) (
. Extents +200K) 300K
) (%50 .(Extent
:MINEXTENT Extents .Table
:MAXEXTENTS Extents .Table
:FREELIST GROUP Freelist .Table
:FREELISTS Freelist .
:BUFFER_POOL ) (Default, Keep, Recycle
: Storage Default .
: .Locally Managed Table
Console :
Console .Standalone
Database .
SYSDBA .Normal
+ .Schema Manager
Table Create .
Initial Size, Next Size, Increase Size by, Freelists, Groups,
.Buffer pool
.Apply
110
:7.3
Temporary Table :Session
CREATE GLOBAL TEMPORARY TABLE TEMP_TABLE
)(TEMP_NAME VARCHAR2 (25), TEMP_DATE DATE
;ON COMMIT PRESERVE ROWS
:ALTERING TABLES
:ALTER TABLE
:Changing the Block Storage Parameters
PCTUSED, PCTFREE, MAXTRANS, Tablespace
Table .MINTRANS
: Storage .Freelists
111
:7.4
ALTER TABLE HR.TEST2
PCTUSED 40
PCTFREE 20
;MAXTRANS 250
Console :
Console .Standalone
Database .
SYSDBA .Normal
+ .Schema Manager
+ .Table
Table ) (HR
Table )
"."View\Edit Details
Storage .Apply
:7.5
Extent :
ALTER TABLE HR.TEST2
;ALLOCATE EXTENT
112
:Moving Tables
) Table (Partitioned Table Tablespace Tablespace
MOVE .ALTER SYSTEM
Table Storage Parameters .7.6
: Storage Parameters Table
Tablespace ) Table Segment ( .7.6
:2 Indexes Table .
:7.6
ALTER TABLE HR.TEST2 MOVE
TABLESPACE APP_DATA
)STORAGE (INITIAL 300K
PCTUSED 30
;INITRANS 2
Storage Parameters Table Tablespace:
ALTER TABLE HR.TEST2 MOVE
TABLESPACE EXAMPLE
)STORAGE (INITIAL 300K
;PCTUSED 30
HR.TEST2 Example Tablespace .
113
:7.7
HR :
;TRUNCATE TABLE TEST2
DBA " "Privileges :Schema
;TRUNCATE TABLE HR.TEST2
:Drop a Table
Table .DROP TABLE
CASCADE CONSTRAINTS Table Foreign key Table.
:7.8
Table :Database
;DROP TABLE HR.TEST2
:Dropping a Column
Column Table . ALTER TABLE
Column Undo Space Tables
. Column UNUSED
) Table(.
Column UNUSED ) (
.DESCRIBE
ALTER TABLE Column Column
UNUSED Column .
CASCADE CONSTRAINTS Column Foreign key
Column.
: Column Table
Column .
114
:7.9
Column :
ALTER TABLE HR.TEST
;DROP COLUMN LAST CASCADE CONSTRAINTS
Column Column :
ALTER TABLE HR.TEST
;DROP COLUMNS CONTINUE
Column :UNUSED
ALTER TABLE HR.EMPLOYEES
;SET UNUSED COLUMN PHONE_NUMBER CASCADE CONSTRAINTS
:Unused Columns
ALTER TABLE HR.EMPLOYEES
;DROP UNUSED COLUMNS
:DBA_UNUSED_COL_TABS Columns
UNUSED Table .Table
Tables :
:DBA_TABLES Table Tablespace
Table Table ) Storage (PCTUSED
.
:DBA_OBJECTS " "Objects .Table
.
Columns Table :
115
MANAGING INDEXES
Index Tables Input/Output
) Queries Table ( .
Table Index Partitioned Table
Partitioned Index Storage Parameters Index
Storage Parameters .Table
Index Column Single Index
Index ) Column ( 32 Columns
.Composite Index Indexes Table
Index .Oracle Server
:Index
116
7.1
:
-1 INSERT Table Index Entry Rows
.
-2 B-Tree Index Rows .NULL
WHERE (where last_name = null) NULL
Table .Index
-3 Column )(
.
-4 Columns OR .
:BITMAP INDEX
Index B-Tree ROWIDs
" "Bitmap Rows Table . ROWID
:
-1 Column "."Low Update
-2 WHERE OR .
-3 Table )(
) (.
-4 Column Bitmap .
117
. Tablespace Indexes
. Indexes NOLOGGING
.Table INITRANS
: B-Tree Index
CREATE [UNIQUE] INDEX index_name
ON [schema.]TABLE (Column [ASC | DESC] , Column [ASC|DESC] , )
[TABLESPACE tablespace_name]
[PCTFREE number]
[MAXTRANS number]
[MINTRANS number]
[LOGGING | NOLOGGING]
[NOSORT]
[STORAGE INITIAL number K|M NEXT number K|M ..]
:
Index Block :PCTFREE
. Indexes
Oracle Rows :NOSORT
.Index Rows Server
Index Oracle Server :ASC|DESC
.
.Index PCTUSED :
:7.10
:B-Tree Non-Unique Index
CREATE INDEX ind_HR_test
ON HR.TEST (FIRST)
PCTFREE 30
STORAGE (INITIAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50)
TABLESPACE INDX;
. CREATE UNIQUE B-Tree Unique Index
118
:7.11
CREATE BITMAP INDEX ind_HR_jobid
)ON HR.JOBS (JOB_ID
PCTFREE 30
)STORAGE (INITIAL 200K NEXT 200K PCTINCREASE 0 MAXEXTENTS 50
;TABLESPACE INDX
:7.12
B-Tree Index Bitmap Index Console :
Console .Standalone
Database .
SYSDBA .Normal
+ .Schema Manager
Index .Create
Index Schema Tablespace Column
Columns Index .Table Columns
Bitmap Index ) (Create
.Bitmap
)(Storage, Partitions, Options
.Create
119
:ALTERING INDEXES
:ALTER INDEX
:Changing the Block Storage Parameters
MAXTRANS Storage
.MAXEXTENTS
:7.13
ALTER INDEX ind_HR_jobid
MAXTRANS 250
;)STORAGE (MAXEXTENTS 200
Console :
Console .Standalone
Database .
SYSDBA .Normal
+ .Schema Manager
+ .Index
Index ) (HR
Index )
"."View\Edit Details
Storage .Apply
120
:7.14
: Extent
ALTER INDEX ind_HR_jobid
;ALLOCATE EXTENT SIZE 200K
):(Extents
ALTER INDEX ind_HR_jobid
;DEALLOCATE UNUSED
:Rebuilding Indexes
Index Tablespace Storage Parameters
ALTER INDEX REBUILD :
ALTER INDEX [schema.]Index_name REBUILD
][TABLESPACE tablespace_name
][PCTFREE number
][INITRANS number
][MAXTRANS number
][LOGGING | NOLOGGING
][REVERSE | NOREVERSE
][STORAGE (INITIAL SIZE [K|M] NEXT SIZE [K|M] .
:
: Rebuild Index
Index Index
Index
Rows ) (Fragmentation
.
Queries Index.
121
:7.15
Rebuild :Index
ALTER INDEX ind_HR_Jobid REBUILD
;TABLESPACE INDX02
:Rebuilding ONLINE
Rebuild Table .
DML Table Rebuild Index Index .
) Oracle8i (Oracle9i DML
Rebuild Index ONLINE REBUILD
.
: DDL Table .Rebuild Index
:7.16
Rebuild Online :Index
;ALTER INDEX ind_HR_Jobid REBUILD ONLINE
:Coalescing Indexes
Fragmentation Index Coalesce .Index
7.2 leafs 2 Fragmentation
Coalesce
Leaf .
7.2
122
:7.17
Coalescing :Index
;ALTER INDEX HR.ind_hr_jobid COALESCE
:7.18
Index :
;ALTER INDEX HR.ind_hr_jobid MONITORING USAGE
:Index
;ALTER INDEX HR.ind_hr_jobid NOMONITORING USAGE
:ANALYZING INDEXES
ANALYZE INDEX:
123
:7.19
Analyze :Index
;ANALYZE INDEX HR.JOB_ID_PK VALIDATE STRUCTURE
:INDEX_STATS
SELECT BLOCKS , PCT_USED, LF_ROWS , DEL_LF_ROWS
;FROM INDEX_STATS
:
BLOCKS PCT_USED LF_ROWS DEL_LF_ROWS
----------- ---------- ---------- ---------0
19
9
16
.30%
:DROPPING INDEXES
Index Index INVALID
Instance Index .DROP INDEX
: Index Primary Key Unique Key .FK
:7.20
:Index
;DROP INDEX hr.ind_hr_jobid
Console :
Console .Standalone
Database .
SYSDBA .Normal
+ .Schema Manager
+ .Index
Index ) (HR
Index
" )"Remove Object .(Remove
.Yes
124
125
MANAGING CONSTRAINTS
) Data (Column
Database Triggers Application Code .Integrity Constraints
Application Code ) (
Client Database .Procedure Database Triggers
PL/SQL Database INSERT
.UPDATE
:INTEGRITY CONSTRAINTS
.Data Dictionary Integrity
Constraint:
:Integrity Constraints
Constraints Table
:
126
:
-1
Locks Table DML
Enable Novalidate .Enable Validate
-2 Constraint Primary Key Unique Key Enable
Disable Index .
-3 Enable Novalidate Enable Validate .DDL
:CONSTRAINTS CHECKING
Constraints Table
DML Nondeferred Immediate Constraints
) Commit ( Deferred
Rollback .Constraint
Nondeferred
Deferred :
:INITIALLY IMMEDIATE .Nondeferred
:INITIALLY DEFERRED .Deferred
Constraint :
SET CONSTRAINT | CONSTRAINTS
)(constraint_name | ALL
)(IMMEDIATE | DEFERRED
ALTER SESSION ) Session (:
ALTER SESSION
)SET CONSTRAINT[S] = (IMMEDIATE | DEFERRED | DEFAULT
:7.21
Constraints :Deferred
;SET CONSTRAINTS ALL DEFERRED
127
:CREATING CONSTRAINTS
.ALTER TABLE CREATE TABLE Constraints
Table-Level Column-Level Constraints
. Column Constraint
Constraints REFERENCES Privilege
. Schema Schemas
:Column-Level Constraints
CREATE TABLE table_name
(column_name TYPE [CONSTRAINT constraint_name] C1 | C2 | C3 | C4| C5)
[NOT DEFERRABLE | DEFERRABLE [INITIALLY (IMMEDIATE |
DEFERRED)] ]
[DISABLE | ENABLE [VALIDATE | NOVALIDATE]
:Constraints C1, C2, C3, C4
[NOT] NULL =C1
UNIQUE [USING INDEX .] =C2
PRIMARY KEY [USING INDEX] =C3
REFERENCES [schema.] table_name [(column_name)] [ON DELETE =C4
CASCADE]
CHECK (condition) =C5
USING CREATE INDEX USING INDEX
ON [schema.]TABLE (Column [ASC | DESC] CREATE
.Index
:
FK Child :ON DELETE CASCADE
.(Introduction to SQL ) Parent
:2.22
:Column-Level Constraints
CREATE TABLE hr.new_emp (
Emp_id NUMBER(8) CONSTRAINT new_emp_id_pk PRIMARY KEY
DEFERRABLE INITIALLY DEFERRED
USING INDEX STORAGE (INITIAL 100K NEXT 100K) TABLESPACE indx,
Emp_Name VARCHAR2(20) CONSTRAINT new_emp_name NOT NULL,
Salary NUMBER(10) CONSTRAINT new_emp_ck CHECK (salary >0)
);
128
:Table-Level Constraints
CREATE TABLE table_name
(column_name TYPE , column_name TYPE, . ,
[CONSTRAINT constraint_name]
PRIMARY KEY (column_name , column_name, ) [USING INDEX .]
| UNIQUE (column_name , column_name, ) [USING INDEX .]
| REFERENCES [schema.] table_name [(column_name, column_name, )]
[ON DELETE CASCADE]
| CHECK (condition)
[NOT DEFERRABLE | DEFERRABLE [INITIALLY (IMMEDIATE |
DEFERRED)] ]
[DISABLE | ENABLE [VALIDATE | NOVALIDATE]
);
.Column-Level NOT NULL Constraint :
:2.23
:Table-Level Constraints
CREATE TABLE hr.new_emp
(
Emp_id NUMBER(8)
Dept_id NUMBER (8)
Emp_Name VARCHAR2(20) CONSTRAINT new_emp_name NOT NULL,
Dept_name VARCHAR2(20),
Salary NUMBER(10),
CONSTRAINT new_emp_id_pk PRIMARY KEY (Emp_id , Dept_id)
DEFERRABLE
USING INDEX STORAGE (INITIAL 200K NEXT 200K) TABLESPACE indx
CONSTRAINT new_emp_ck CHECK (salary > 0)
);
129
:2.24
:ALTER TABLE Constraints
ALTER TABLE hr.new_emp ADD
(
CONSTRAINT new_emp_id_fk FOREIGN KEY (Dept_id)
REFERENCES hr.departments (id)
DEFERRABLE
);
Constraint NOT NULL
:NULL NOT NULL
ALTER TABLE hr.new_emp MODIFY Dept_name NOT NULL;
:Enabling Constraints
.ALTER TABLE Enable Disable Constraint
:Enable Novalidate
Unique Constraints Validate
Table Locks PK Constraints
Disable . DML
.Enable Novalidate
ALTER TABLE [schema.] table_name
ENABLE NOVALIDATE {CONSTRAINT constraint_name | PRIMARY KEY |
UNIQUE (column , column2, .) }
[USING INDEX..]
PK Constraint USING INDEX
Deferrable Unique Constraint
. Disabled Index
130
:Enable Validate
" "Default Disable .Enable
Locks
Indexes PK,UNIQUE Constraints Oracle Server Index
Non-Unique Constraints Deferrable
Oracle Server Index Unique Constraints
.Nondeferrable
Disable Enable Novalidate
NOVALIDATE Validate) VALIDATE (Default
EXCEPTIONS .
:2.25
:Novalidate
ALTER TABLE hr.new_emp
;ENABLE NOVALIDATE CONSTRAINT new_emp_id_pk
:Validate
ALTER TABLE hr.new_emp
;ENABLE VALIDATE CONSTRAINT new_emp_id_pk
:Console
Console .Standalone
Database .
SYSDBA .Normal
+ .Schema Manager
+ .Table
Table ) (HR
Table )
"."View\Edit Details
Constraints .Apply
131
:USING EXCEPTIONS
Constraints EXCEPTIONS
.EXCEPTIONS Table Table Constraint " Rows"
Enable Disable Constraint
:
utlexcpt.sql Script Exceptions Table
:SQLPLUS
@ C:\oracle\ora90\rdbms\admin\utlexcpt.sql
ALTER Enable Validate Constraint
:TABLE
Columns :DBA_CONS_COLUMNS
.Constraints
132
133
PASSWORD MANAGEMENT
:PROFILES
Profile Password Resources DBA
" "Parameters Profile
Database .
Database Oracle Sever Default Profile
Profile) Default Profile .(Unlimited
" "Assign Profile Users Roles Profiles
Profile Session
Database .Profile Profile Users CREATE
USER .ALTER USER
: .(Enable, Disable) Profile
:MANAGING PASSWORD
Password Profile:
" "Password .
)
(
.
Account )
(.
:Locking Account
Account Account
Account :
:FAILED_LOGING_ATTEMPTS
Account
.Account
:PASSWORD_LOCK_TIME Account
Account ) 3(.
DBA Account ALTER USER
Account DBA DBA.
134
:Password Expiration
" "Password
.
Database
.Account
:PASSWORD_LIFE_TIME
Account Account .Expired
:PASSWORD_GRACE_TIME
Account
.
:
PASSWORD_LIFE_TIME PASSWORD_GRACE_TIME
: Account
3 .Account
:Password History
.
:PASSWORD_REUSE_TIME
.
:PASSWORD_REUSE_MAX
. .
:
.Unlimited
:Password Verification
.PL/SQL
.
135
:8.1
: Profile
CREATE PROFILE myprofile LIMIT
FAILED_LOGING_ATTEMPTS 3
PASSWORD_LOCK_TIME 5
PASSWORD_LIFE_TIME 15
PASSWORD_GRACE_TIME 7
PASSWORD_REUSE_TIME 15
PASSWORD_VERIFY_FUNCTION verify_function;
136
: 1/24
1/1400 .
Profile :Console
Console .Standalone
Database .
SYSDBA .Normal
+ .Security Manager
Profile .Create
.Profile
Password .
.Create
: Profile "."User
:ALTERING PROFILE
ALTER PROFILE .8.2
:8.2
ALTER PROFILE myprofile
FAILED_LOGING_ATTEMPTS 2
PASSWORD_LOCK_TIME UNLIMITED
PASSWORD_LIFE_TIME 10
PASSWORD_GRACE_TIME 7/24
PASSWORD_REUSE_TIME 10
;PASSWORD_VERIFY_FUNCTION verify_function
:Console
Console .Standalone
Database .
SYSDBA .Normal
+ .Security Manager
+ Profile Profile .
Password . Apply
137
:DROPPING PROFILE
Profile DROP PROFILE :
;]DROP PROFILE profile_name [CASCADE
:
:8.3
:Profile
;DROP PROFILE myprofile CASCADE
:Console
Console .Standalone
Database .
SYSDBA .Normal
+ .Security Manager
+ Profile Profile
) Remove Object Remove
(.
.Yes
:
-1 .Default Profile
-2 Session .
138
RESOURCE MANAGEMENT
Resources Profile
Database Database
" "Idle Sessions .
" RESOURCE_LIMIT "Parameter Initiliazation Parameter File
TRUE Resources Default
FALSE
Database ALTER SYSTEM .8.4
:8.4
RESOURCE_LIMIT :
;ALTER SYSTEM SET RESOURCE_LIMIT = TRUE
Resources :Profile
:CPU_PER_SESSION Session
CPU " "Processor )
" "( .
:CPU_PER_CALL SQL
CPU .
:SESSIONS_PER_USER Sessions .
Session
SQL PLUS ORACLE FORMS
.
:CONNECT_TIME Session
Database Database
Session Rollback .Commit
:IDLE_TIME Session
Database .Database
:PRIVATE_SGA Session ) SGA
.(Shared Server
:LOGICAL_READS_PER_SESSION Data Blocks
) Session (.
:LOGICAL_READS_PER_CALL Data Blocks
SQL.
:COMPOSITE_LIMIT CPU_PER_SESSION
CONNECT_TIME LOGICAL_READS_PER_CALLPRIVATE_SGA
.Resource Cost
139
:8.5
: Resources Profile
CREATE PROFILE myprofile LIMIT
SESSIONS_PER_USER 3
CPU_PER_SESSION UNLIMITED
IDLE_TIME 15
CONNECT_TIME 90;
:Console Profile
.Standalone Console
. Database
.Normal SYSDBA
.Security Manager +
.Create Profile
.Profile
.General
.Create
140
:QUERYING INFORMATION
:Profile
Profile :DBA_PROFILES
Password )Resource_Type Column
.(Kernel Resources
141
MANAGING USERS
DBA Database
Account Account .User
Privileges Profile Tablespace " "Objects
Temporary Tablespace
Tablespace .Tablespace Quotas
" "Objects ) Database (Tables, Views, Indexes
Schema Schema.
:CREATING USERS
User :
CREATE USER user_name
]IDENTIFIED [BY password | EXTERNALLY
][DEFAULT TABLESPACE Tablespace_name
][TEMPORARY TABLESPACE Tablespace_name
] [QUOTA {number K|M | UNLIMITED} ON Tablespace_name,
][PASSWORD EXPIRE
]}[ACCOUNT {LOCK | UNLOCK
]}[PROFILE {profile_name | DEFAULT
:
:EXTERNALLY .
:DEFAULT TABLESPACE Tablespace
.
:TEMPORARY TABLESPACE Temporary Tablespace
.
:QUOTA Tablespace
" "Objects.
:PASSWORD EXPIRE DBA
Account Account.
:ACCOUNT DBA Account
.
:PROFILE Profile .
142
:8.6
User :
CREATE USER Ahmad
IDENTIFIED BY newemp
DEFAULT TABLESPACE data
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON users
QUOTA 2M ON indx
QUOTA 10M ON data
;PASSWORD EXPIRE
User :Console
Console .Standalone
Database .
SYSDBA .Normal
+ .Security Manager
Users .Create
General .QUOTA
.Create
:
) (
Database Ahmad
Database .OPS$Ahmad
Ahmad Database
) (Ahmad Account
).(OPS$Ahmad
143
: OS_AUTHENT_PREFIX
) Database Database (.
REMOTE_OS_AUTHENT
Remote Database ) .( Database
:
REMOTE_OS_AUTHENT )
Database ( ) (Unix Oracle Server
True
Database ) False (Default
Database Oracle Server .
8.1
:ALTERING USERS
ALTER USER Default Tablespace Temporary
Tablespace .Quota
:8.7
Quota:
ALTER USER Ahmad
;QUOTA 0 ON users
: Quota Table Users Tablespace
Table ) .(Extents
144
:Console
Console .Standalone
Database .
SYSDBA .Normal
+ .Security Manager
+ Users .
.
.Apply
:DROPPING USERS
Database :
]DROP USER user_name [CASCADE
:
:8.8
:
;DROP USER Ahmad
:QUERYING INFORMATION
:DBA_USERS Default
Tablespace Temporary Tablespace Profile Profile
Account .
:DBA_TS_QUOTAS Quotas
.Tablespaces
145
146
PRIVILEGES
Privileges Database
. Privileges
Roles Privileges
Privileges Public
.Database
Privileges:
:SYSTEM PRIVILEGES
System Privileges Database
GRANT )( .REVOKE System
Privileges Database Schema
Schemas .
Privileges ANY
) CREATE TABLE ( ) CREATE ANY TABLE (.
:System Privileges
ALTER SYSTEM
ALTER SESSION
ALTER DATABASE
CREATE TABLESPACE
CREATE TABLE
CREATE PROCEDURE
CREATE CLUSTER
CREATE SESSION
RESTRICTED SESSION
CREATE ANY TABLE
ALTER ANY TABLE
DROP ANY TABLE
SELECT ANY TABLE
CREATE ANY INDEX
ALTER ANY INDEX
DROP ANY INDEX
CREATE ANY SEQUENCE
ALTER TABLESPACE
DROP TABLESPACE
UNLIMITED TABLESPACE
147
:
ANALYZE INDEX privilege CREATE INDEX privilege -1
CREATE TABLE CREATE TABLE privilege
.Indexes
.CREATE TABLE privilege DROP TABLE Privilege -2
.CREATE PROCEDURE Privilege DROP PROCEDURE privilege -3
.CREATE CLUSTER privilege DROP CLUSTER privilege -4
UNLIMITED TABLESPACE privilege -5
.Roles Tablespace
DROP Schema Table Truncate -6
.ANY TABLE
148
:
:WITH ADMIN OPTION
DBA Ahmad . Omar DBA
CREATE ANY TABLE Ahmad WITH ADMIN OPTION
Ahmad CREATE ANY TABLE .Omar
WITH ADMIN OPTION Ahamd Privilege
Omar Omar Privilege )
( Privileges .DBA
:9.1
;GRANT CREATE ANY TABLE TO Ahmad, Omar
GRANT ALTER ANY TABLE , ALTER ANY INDEX
;TO Ali WITH ADMIN OPTION
:Console
Console .Standalone
Database .
SYSDBA .Normal
+ .Security Manager
+ Users .
.System Privileges
Privilege .
Admin Option .
.Apply
149
:
REVOKE Privilege WITH ADMIN OPTION .GRANT
DBA CREATE ANY TABLE Ahmad WITH ADMIN
OPTION Ahmad CREATE ANY TABLE .Omar
REVOKE DBA CREATE ANY TABLE Ahmad
REVOKE CREATE ANY TABLE Omar Omar
.CREATE ANY TABLE
:9.2
;REVOKE CREATE ANY TABLE FROM Ahmad, Omar
:Console
Console .Standalone
Database .
SYSDBA .Normal
+ .Security Manager
+ Users .
.System Privileges
Privilege .
.Apply
150
:OBJECT PRIVILEGES
Table, View, Sequence, Object Privilege
.Procedure, Function, Package
:Object Privilege
.Table,View, Sequence ( Query) :SELECT
.Table, View :UPDATE
.Table, View :DELETE
.Table, View :INSERT
.Table, Sequence, Procedure :ALTER
.Table, View Index :INDEX
.Table Foreign Key :REFERENCES
.Procedure, Function PL/SQL :EXECUTE
:
Object Object Privileges -1
.WITH GRANT OPTION Object Privilege Schema
. Schema Objects Object Privileges -2
151
:9.3
GRANT UPDATE ON hr.employees
TO Ahmad
WITH GRANT OPTION
:Console
Console .Standalone
Database .
SYSDBA .Normal
+ .Security Manager
+ Users Privilege
.PM
.Object Privileges
) (HR Object
Privilege .PM ) Object (Tables ) Objects
(Employees
Privilege ) .(Update
.
.Apply
: Revoke .Grant
:
152
:
REVOKE Privilege WITH GRANT OPTION .GRANT
Ali SELECT TABLE Ahmad WITH GRANT
OPTION Ahmad SELECT TABLE .Omar
REVOKE Ali SELECT TABLE Ahmad
REVOKE SELECT TABLE Omar Omar
SELECT TABLE.
9.4
REVOKE SELECT ON hr.employees
;FROM Ahmad, Omar
:Console
Console .Standalone
Database .
SYSDBA .Normal
+ .Security Manager
+ Users Privileges
.
.Object Privileges
Privilege .
.Apply
:QUERYING INFORMATION
:System Privileges
153
SQL
.Privileges
"."Objects
154
:9.5
Auditing :SQL
DDL : Tables
;AUDIT TABLE
Auditing :Privileges
;AUDIT CREATE ANY SEQUENCE
Auditing :Objects
;AUDIT UPDATE, DELETE ON HR.EMPLOYEES
:AUDITING OPTIONS
.
:9.6
) Sessions : (Database
;AUDIT SESSION
:
;AUDIT SESSION WHENEVER SUCCESSFUL
:
;AUDIT SESSION WHENEVER NOT SUCCESSFUL
155
:NOAUDITING
Aduiting NOAUDIT
.Auditing
:9.7
:Noauditing
;NOAUDIT UPDATE, DELETE ON HR.EMPLOYEES
:QUERYING INFORMATION
:Auditing
:DBA_STMT_AUDIT_OPTS .SQL
:DBA_PRIV_AUDIT_OPTS .Privileges
:DBA_OBJ_AUDIT_OPTS .Objects
:Auditing
:DBA_AUDIT_TRAIL .Auditing
:DBA_AUDIT_STATMENT Auditing
.SQL
:DBA_AUDIT_SESSION Auditing
.Database
156
MANAGING ROLES
Roles Privileges Role Privileges
. DBA Privileges
Database DBA GRANT
REVOKE Role GRANT REVOKE
. Role System Privileges Object Privileges
Role Schema .Data Dictionary
:CREATING ROLES
Roles :
CREATE ROLE role_name [NOT IDENTIFIED
} | IDENTIFIED { BY password | EXTERNALLY
:
: Role Externally .
:9.8
:Role
;CREATE ROLE newusers
:
;CREATE ROLE newusers2 IDENTIFIED BY n6iut30o
:Console
Console .Standalone
Database .
SYSDBA .Normal
+ .Security Manager
Roles .Create
Role .Create
157
:
-1 Role Role Privileges
GRANT Role .Privileges
-2 Role .CREATE ROLE privilege
:PREDEFINED ROLES
Database Roles :
: Export Import
.Oracle9i
: Data Dictionary Views _ DBA
.SELECT_CATALOG_ROLE
158
:MODIFYING ROLES
Role ALTER ROLE
.9.9
: Role .ALTER ANY ROLE privilege
:9.9
:Role
;ALTER ROLE newusers2 IDENTIFIED EXTERNALLY
:
;ALTER ROLE newusers NOTIDENTIFIED
:Console
Console .Standalone
Database .
SYSDBA .Normal
+ .Security Manager
+ Roles Role .
.Authentication
.Apply
:9.10
Privileges :Roles
;GRANT CREATE ROLE TO adminusers
;GRANT SELECT ON HR.EMPLOYEES TO newusers2
159
:Console
Console .Standalone
Database .
SYSDBA .Normal
+ .Security Manager
+ Roles Role Privileges.
System Privileges Object Privileges
.Privileges
.Apply
:9.11
Privileges :Roles
;GRANT adminusers TO Omar WITH ADMIN OPTION
;GRANT newusers TO Khaled
Roles.
;GRANT newusers TO newusers2
:
-1 Role WITH ADMIN OPTION
.Role
-2 GRANT ANY ROLE privilege Roles
.
-3 Roles Enable
Intialazation Parameter File MAX_ENABLED_ROLES Default
.20
160
: Roles GRANT
Roles .Roles
:9.12
Default Role:
;ALTER USER Ahmad DEFAULT ROLE newusers, newusers2
;ALTER USER Khalid DEFAULT ROLE ALL
;ALTER USER Omar DEFAULT ROLE ALL EXCEPT adminusers
;ALTER USER Ali DEFAULT ROLE NONE
:Console
Console .Standalone
Database .
SYSDBA .Normal
+ .Security Manager
+ Users User .
Role Deafult Role
.Default
.Apply
161
:9.13
Role :Enable
;SET ROLE newusers, departA_users
:9.14
Role :Users
;REVOKE newusers FROM Khaled
:Console Privileges .Users
162
:DROPPING ROLES
Roles Database Users :
; DROP ROLE role_name
: DROP ANY ROLE privilege Role .Database
:9.15
Role :Database
;DROP ROLE newusers2
:Console
Console .Standalone
Database .
SYSDBA .Normal
+ .Security Manager
+ Roles Role
) Remove Object Remove
(.
.Yes
:QUERYING INFORMATION
:Roles
:DBA_ROLE_PRIVS Roles
Roles.
163
GLOBALIZATION SUPPORT
164
GLOBALIZATION SUPPORT
Globalization Support .
:Globalization Support
.
Database Utilities .
Error Messages .
.
.
.
.
" "Encoding Schemes .Unicode
Client .
:ENCODING SCHEMES
:
:SINGLE-BYTE . ) 7-bit
(US7ASCII ) 8-bit .(WE8DEC
:VARYING-WIDTH
) JEUC .(AL32UTF8
:FIXED-WIDTH ) .(AL16UTF16
:UNICODE
) ( . Unicode
) Varying-Width (UTF-8) Fixed-Width .(UTF-16
165
166
:NLS Parameters
:
:NLS_LANGUAGE
) (AD, BC ) (PM, AM
" "Error Messages
.Sorting
:NLS_TERRITORY
.ISO
.NLS_LANG
NLS_LANGUAGE Default :
:NLS_DATE_LANGUAGE )
.(MON
:NLS_SORT " "Sorting
NLS_SORT =German .
NLS_TERRITORY Default :
:NLS_CURRENCY .
:NLS_ISO_CURRENCY USD .
:NLS_DATE_FORMAT .
:NLS_NUMERIC_CHARACTERS
) .(222.44.5
NLS_TERRITORY Default
NLS_TERRITORY .
NLS_TERRITORY
NLS_TERRITORY Environment Variables
ALTER SESSION
. NLS_CURRENCY ) (
Initialization Parameter File
NLS_TERRITORY ) ( .
:NLS_LANG Parameter
NLS_LANG
.Environment Variables Language Territory Character
Set :
NLS_LANG = Langugae_Territory.Charset
167
:
NLS_LANGUAGE :Language
NLS_LANG NLS_LANGUAGE
.
NLS_TERRITORY :Territory
NLS_LANG NLS_TERRITORY
.
. Character Set :Charset
:NLS and Functions
NLS Parameters " Introduction to SQL"
.10.1 TO_CHAR
:10.1
SELECT TO_CHAR (hire_date, DD.Mon.YYYY,
NLS_DATE_LANGUAGE = GERMAN)
FROM HR.EMPLOYEES
:TO_CHAR
NLS_DATE_LANGUAGE
NLS_NUMERIC_CHARACTERS
NLS_CURRENCY
NLS_ISO_CURRENCY
NLS_CALENDAR
:TO_DATE
NLS_DATE_LANGUAGE
NLS_CALENDAR
:TO_NUMBER
NLS_NUMERIC_CHARACTERS
NLS_CURRENCY
NLS_ISO_CURRENCY
168
:QUERYING INFORMATION
:NLS
Character Set :NLS_DATABASE_PARAMETER
.Database National Character Set
NLS :NLS_SESSION_PARAMETER
. Session
:V$NLS_VALID_VALUES
.Language, Territory, Character Set
169