Upload
johnnysun
View
38
Download
0
Embed Size (px)
Citation preview
Oracle
OutlineOracle?OracleOracleSQL*PlusOracleASPOracle
OutlineOracle?OracleOracleSQL*PlusOracleASPOracle
Oracle?OracleOracleOracle9i Server
Oracle1977Redwood Shores901452000200053110143http://www.oracle.com/tw http://otn.oracle.com
Oracle?
Oracle9i Server Data AccessibilityProcedural CapabilitiesDistributed ProcessingParallel QueryEnterprise Manager
OutlineOracle?OracleOracleSQL*PlusOracleASPOracle
OracleOracle Oracle Oracle Database instanceDatabase filesOracle
OracleOracle Oracle Oracle Database instanceDatabase filesOracle
Oracle A databaseA instanceClient ABCB databaseB instanceClient DEFC databaseC instanceClient GHI
Oracle Oracle Instance Instance Instance Process DatabaseInstanceDBA
Oracle Oracle Oracle DBADBA (SYSSYSTEM)Oracle InstanceTuning
Oracle ClientSQLPLUSUser processProcessSQLServer processServer processResultServer processparseSQLSGAData bufferUser process
PMONLCKNRECORECOSGAShared PoolDatabase Buffer CacheRedo Log BufferServerUser
OracleOracle Oracle Oracle Database instanceDatabase filesOracle
Oracle Oracle instanceSGAOracle ProcessDatabase filesDatafile Redo log fileArchived fileControl file
Oracle
OracleOracle Oracle Oracle Database instanceData filesOracle
Database instanceOracle instanceClientServer( SGA, System Global Area ) Server Client Background process Oracle instance
Oracle Instance SGAShared PoolDatabase Buffer CacheRedo Log BufferOracle processes
Mount Oracle instanceOracleinstancemountmountsession
System Global Area (SGA)OracleSystem Global Area (SGA)SGA Background Process ()Oracle Instance ()
System Global Area (SGA)SGAShared PoolDatabase Buffer CacheRedo Log BufferShared PoolDatabase Buffer CacheRedo Log Buffer
Shared PoolShared Pool Library CacheDictionary Cache(control structures)SQLOracle(parse)(parse treeexecution plan)
Library CacheLibrary CacheShared SQL AreaPrivate SQL AreaPL/SQL (Control structures)Library CacheSQLPL/SQLSQLCompileSQL parse tree
Data Dictionary CacheData Dictionary Cache(User Process)Oracle9iSQL
Database Buffer CacheSQLCacheOracleDatabase Buffer CacheI/OCache
Redo Log BufferRedo log bufferRedo log fileRedo Log BufferOracleRedo Log BufferOracle
Process()OracleProcess User Process Oracle tools code Application Oracle Process Oracle server code Server process Background process
User ProcessSQLPro*COracle ToolsSQL*plusOracle FormOracle User Process
Oracle ProcessOracle ProcessServer ProcessBackground Process
Server ProcessServer ProcessUser Process(request)OracleUser ProcessServer ProcessServer ProcessUser ProcessSQLUser Process
Server Process(1)Parse()SQL(2)DatafileData block()Oracle
Background processBackground processServer processBackground ProcessServerProcessOracle(Shutdown)
(Background process)(DBWR)(LGWR)(ARCH)(CKPT)(SMON)(PMON)(RECO)
(DBWR)Oracle(SGA)DBWRDBWR(Dirty Buffer)Data fileDBWRBuffer cacheDatafileDBWR
(LGWR)LGWR (Log Writer)(Commit)LGWRRedo EntriesOracleRedo EntriesRedo Log BufferCommitLGWRRedo EntriesRedo Log Buffer
(ARCH)ARCHLGWRARCH(Offline Redo Log)Oracle
(CKPT)DBWRCKPTCKPTDBWR(Data Blocks)(Database Buffer Cache)(Data File)CKPTDBWRCKPTCommit
(SMON)SMONCrash RecoveryOracle(System Monitor)SMON
(PMON)Process Monitor (PMON)ClientUser Process
(RECO)OracleOracleRecover (RECO) (Distributed Transaction)
OracleOracle Oracle Oracle Database instanceDatabase filesOracle
Database FilesDataFileRedo Log FileArchived FileControl File
DataFile()Oracle(Data File)(Database)(Table)(Index)(Data Files)Datafile
Redo Log Files()(Transaction)Commit()Oracle(Transaction)Redo Log FileCommit OracleCommit
Redo Log Files()Redo Log File MirrorCrashOracleRedo Log FileRedo Log FilesRedo Log FileRedo Log FileRedo Log File
Archived FilesArchivedRedo log fileRedo log fileOracleLogArchived fileOpen
Archived FilesRedo log file 1Redo log file 2Redo log file 3Archived file 1Redo log file 2Redo log file 3Log switching
Control Files()Control File(Database Name)(Data File)(Redo Log Files)Control file
OracleOracle Oracle Oracle Database instanceDatabase filesOracle
Oracle TablespaceData BlockExtentSegmentSchema objects
TablespaceTablespace systemTablespaceTablespaceDatabaseProceduresFunctionsPackagesTriggersSYSTEM
TablespaceTablespaceData FileData FileDBATablespaceORACLESYSTEM
Tablespace?OracleDBATablespaceOffline()TablespaceObject(Table)DBA
Tablespace
ORACLE(Table)(View)(Privilege)(Role)(Schema)TableViewSnapshotIndexClusterSequenceProcedureFunctionPackageTrigger
(Integrity constraint) (Audit)SQL
(Table)(View)(Base Table)ORACLEORACLE
(User Accessible Views)ORACLESYS
ORACLE(Default Tablespace)
ORACLESQL(View)ORACLESYSTEM (Tablespace)(Prefix)
PrefixUSER(Prefix)USER SQL> SELECT TABLE_NAME,TABLESPACE_NAME 2 FROM USER_TABLES;
PrefixALLALLSQL SQL> SELECT TABLE_NAME, TABLESPACE_NAME 2 FROM ALL_TABLES;
PrefixDBADBADBADBA(SYSSYSTEM)SYS DBA SQL> SELECT TABLE_NAME, TABLESPACE_NAME 2 FROM SYS.DBA_TABLES;
Data Block Data block OracleI/OData blockDB_BLOCK_SIZEO.S. blocks
Extent Data blockExtentTableOracle9i Extent
Segment ExtentSegmentSegmentObjectTable segmentIndex segment
Schema objectsOracleSchemaPeterPeterSchemaSchema objectsTableViewSynonymSequenceIndex
OutlineOracle?OracleOracleSQL*PlusOracleASPOracle
OracleNet Service
Oracle
Dedicated server process()OracleOracle serverClientUser processDedicated server process
Dedicated server process
MTSUser processDispatcherDispatcherCommon queueServer processshared poolidle shared processqueueserver
Multi-threaded server
OracleNet serviceNet serviceOracleNet serviceOracle(Transparent)(TNS, Transparent Network Substrate)(API)
Net service
OutlineOracle?OracleOracleSQL*PlusOracleASPOracle
SQL*PlusSQL*PlusSQL*PlusSQL
SQL*PlusSQLSQL*PlusOracleSQLSQLOracleANSIISOSQLSQL*Plus
SQL*PlusGUI
SQL*Plus
SQL*Plus
Oracle
SQLDescribe (DESC)describe
SQLSave save .sql
SQLGet Get Start Start SQL:
OutlineOracle?OracleOracleSQL*PlusOracleASPOracle
oracleInstance managementSchema managementSecurity managementStorage management
oracleInstance managementSchema managementSecurity managementStorage management
oracleInstance managementSchema managementSecurity managementStorage management
General
Memory
Recovery
oracleInstance managementSchema managementSecurity managementStorage management
Schema management TablespaceTableViewSynonymSequenceIndex
Tablespace
CREATE TABLESPACE DATAFILE SIZE [ DEFAULT STORAGE ] [ { ONLINE | OFFLINE } ] DATAFILE DEFAULT STORAGE INITIAL NEXT MINEXTENTS MAXEXTENTS PCTINCREASE
MY_SPACE20M 10K50K 10% 999
TablespaceDatafile
ALTER TABLESPACE [ ADD DATAFILE SIZE ] [ RENAME DATAFILE TO ] [ DEFAULT STORAGE ] [ {ONLINE | OFFLINE } ] [ {BEGIN | END } BACKUP ]DATAFILE (Online)(Offline)
MY_SPACE20M
DROP TABLESPACE [ INCLUDING CONTENTS [CASCADE CONSTRAINTS] ]INCLUDING CONTENTSCASCADE CONSTRAINTS
Table OracleTableTableRowColumnTableTablerecord
TableColumnCREATE TABLE $ # _ ORACLE
Oracle
CREATE TABLE [NULL|NOT NULL],[NULL|NOT NULL],
Example
View ()View()SQLView ViewViewTableView
View ()View
View CREATE VIEW [] AS SELECT [WITH CHECK OPTION]; SELECT [WITH CHECK OPTION] Selectwhere
View DROP VIEW ;(VIEW)SALESMAN SQL> DROP VIEW SALESMAN;
Synonym()Public()DBA Private(): SCOTT.EMP -> S_EMP [email protected] -> R_EMP
CREATE [PUBLIC] SYNONYM FOR [.] ;
SCOTTEMPEMPLOYEE SQL> CREATE SYNONYM EMPLOYEE 2 FOR SCOTT.EMP;
DROP [PUBLIC] SYNONYM ;
EMPLOYEE SQL> DROP SYNONYM EMPLOYEE;
Sequence()ORACLEORACLE(SEQUENCES)(Counter) CREATE SEQUENCE sequence_name []
SequenceORACLE20
sequence_name.CURRVAL sequence_name.NEXTVAL
Example (SEQUENCE) s_emp_id SQL> CREATE SEQUENCE s_emp_id 2 MINVALUE 1 3 MAXVALUE 9999999 4 INCREMENT BY 1 5 START WITH 26 6 NOCACHE 7 NOORDER 8 NOCYCLE;
Index ()(Unique)OracleB+-Tree
Index CREATE [UNIQUE] INDEX ON ( [ASC/DESC] [ , [ASC/DESC]] ); ORACLE [UNIQUE]() SQLORACLE
Index()ORACLE YESNO
Index()
Index()CREATE INDEXORACLE
Index()
oracleInstance managementSchema managementSecurity managementStorage management
ORACLEORACLE(Audit)(View)
(Privilege)ORACLE (System Privilege) (Object Privilege)
(System Privilege)UserRoleADMIN OPTIONGRANT ANY PRIVILEGEUserRoleORACLEGRANTREVOKE
(Object Privilege)
(User)quota(Privilege)
(CREATE USER) CREATE USER IDENTIFIED BY [ DEFAULT TABLESPACE ] [ TEMPORARY TABLESPACE ] [ QUOTA ON ] DEFAULT TABLESPACETEMPORARY TABLESPACEQUOTA
GUESTMY_SPACETEMP
ALTER USER IDENTIFIED BY [ DEFAULT TABLESPACE ] [ TEMPORARY TABLESPACE ] [ QUOTA ON ]ALTER USER
GUESTUSERS
(DROP USER ) DROP USER [ CASCADE ]CASCADE
GUEST
(Role)ORACLEORACLE
(Role)ORACLEDBASYSSYSTEMADMIN OPTIONDBACONNECTCREATE SESSIONORACLERESOURCE Base TableviewindexClusterSequence
(CREATE ROLE) CREATE ROLE [ IDENTIFIED BY ] IDENTIFIED BYSET ROLE
TESTROLE
ALTER ROLE [ IDENTIFIED BY ]ALTER ROLEADMIN OPTION
STUDENTS
DROP ROLE DROP ROLEADMIN OPTION
TESTROLE
GRANTGRANT ANY PRIVILEGEADMIN OPTIONGRANT ANY ROLEADMIN OPTION GRANT {|} TO {|| PUBLIC } [WITH ADMIN OPTION]
SYSTEMALTER ANY TABLE STUDENTSSTUDENTS
REVOKEGRANT ANY PRIVILEGEADMIN OPTIONGRANT ANY ROLE ADMIN OPTIONREVOKE {|} FROM {|| PUBLIC }
SYSTEM STUDENTSCREATE SESSIONCREATE TABLE
oracleInstance managementSchema managementSecurity managementStorage management
Storage managementStorage managementControl fileArchived fileDatafileTablespaceRedo log fileStorage management
Storage management
Storage management
oracleInstance managementSchema managementSecurity managementStorage management
Oracle RMAN (Recovery Manager)Online
RMAN Database
Restore & Recover
OutlineOracle?OracleOracleSQL*PlusOracleASPOracle
Example Oracle ODBC ora9012.exe
Oracle ODBC
ODBCODBCdatabaseID
ASP