Oracle Introduction

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