ORACLE数据库培训讲义_第1页
ORACLE数据库培训讲义_第2页
ORACLE数据库培训讲义_第3页
ORACLE数据库培训讲义_第4页
ORACLE数据库培训讲义_第5页
已阅读5页,还剩104页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ORACLE数据库培训讲义DBA第一部分目的:1、了解ORACLE数据库体系结构。2、初步从整体上认识ORACLE。3、学会基础的ORACLE配置。目录:

ORACLE体系结构开始ORACLEORACLE实例管理创建数据库管理控制文件管理联机日志文件管理表空间和数据库文件管理表、索引、数据完整性管理用户、权限、角色。11、ORACLE体系结构

Oracle整体结构图1-1PasswordfileInstanceSGARedoLog

BufferSharedPoolData

Dictionary

CacheLibraryCacheDBWRSMONPMONCKPTLGWROthersUser

processServer

processPGAControlfilesDatabase

BufferCacheRedoLogfilesJava

PoolLarge

PoolArchivedLogfilesParameterfileArchivedLogfilesDatafilesORACLE数据库服务器1-2Oracleserver一个ORACLE数据库服务器:就是一个数据库管理系统,它对信息提供了一种开放的、全面的、完整的管理。由一个ORACLE数据库和一个ORACLE数据库实例组成。ORACLE数据库实例1-3InstanceSGARedoLog

BufferSharedPoolDataDictionary

CacheLibraryCacheDBWRSMONPMONCKPTLGWROthersDatabase

BufferCacheJavaPoolLargePool内存结构后台进程一个ORACLE数据库实例:就是一个访问数据库的方法或方式对应于一个也是只能一个打开的数据库由内存结构和多个后台服务器进程组成。ORACLE数据库1-5一个ORACLE数据库:由控制文件、REDO文件、数据文件三种文件类型组成有逻辑和物理二种结构PasswordfileParameterfileArchivedLogfilesControlfilesDatafilesRedoLogfilesOracleDatabase物理结构1-6ORACLE数据库的物理结构指的是一组在数据库中,由多个操作系统文件组合在一起的集合,包括:控制文件,包含了用于维护和校验数据库完整性的信息。REDO文件,包含了数据库的最近的操作记录日志数据文件,最重要部分,包含了数据的信息PasswordfileParameterfileArchivedLogfilesControlfilesDatafilesRedoLogfilesOracleDatabase内存结构1-7ORACLE数据库内存结构包括二个内存区域:

SystemGlobalArea(SGA):在实例启动时分配,它是实例中的一个基础组件。

ProgramGlobalArea(PGA):在服务器进程启动的时候分配。作InstanceSGARedoLog

BufferSharedPoolDataDictionary

CacheLibraryCacheDBWRSMONPMONCKPTLGWROthersPGADatabase

Buffer

CacheJavaPoolLargePoolSystemGlobalArea1-8SGA由几种内存结构组成:共享池(SharedPool)数据库缓冲区(DatabaseBufferCache)REDO日志缓冲池(RedoLogBuffer)大型池(LargePool)JAVA缓冲池(JavaPool)InstanceSGARedoLog

BufferSharedPoolDataDictionary

CacheLibraryCacheDatabase

Buffer

CacheJavaPoolLargePoolSystemGlobalArea1-9是动态的,可在ORACLE运行期间进行调整。大小由参数SGA_MAX_SIZE决定。在SGA中分配、管理内存时,都是以粒度为单位的,粒度由以下决定:相邻内存块的分配。基于SGA_MAX_SIZE:

4M,SGA_MAX_SIZE<128M 16MSGA_MAX_SIZE>128M共享池(Sharedpool)1-10Sharedpool用于存放:最近执行过的SQL语句最近用过的数据定义Sharedpool有二个性能有关的内存结构:LibraryCacheDataDictionaryCacheSharedpool大小由SHARED_POOL_SIZESharedPoolData

DictionaryCacheLibraryCacheALTERSYSTEMSETSHARED_POOL_SIZE=64M;LibraryCache1-11LibraryCache用于存放最近执行过的SQL语句、PL/SQL程序。管理内存分配用LRU(leastrecentlyused)算法。由二个内存结构组成: 共享SQL语句区域 共享PL/SQL区域大小由SharedPool的大小决定。SharedPoolData

DictionaryCacheLibraryCacheDataDictionaryCache1-12DataDictionaryCache用于存放最近使用的用户定义,包括数据文件、表、索引、用户、权限等。在SQL、PL/SQL语句编绎期间,服务器进程会在DataDictionaryCache中查找最近访问的用户定义,而不会去数据库文件中找,通过这种方式,加快处理速度,提高系统的性能。DataDictionaryCache大小由SharedPool大小决定。SharedPoolData

DictionaryCacheLibraryCacheDatabaseBufferCache1-13用于存储从数据库文件中读取出来的数据块复制。在读取数据或更新数据操作中,通过DatabaseBuffterCache能使性能得到很大的提高。DatabaseBufferCache内存管理通过LRU算法实现。DB_BLOCK_SIZE决定数据块的大小。由下面互不关系的子Cache组成:DB_CACHE_SIZEDB_KEEP_CACHE_SIZEDB_RECYCLE_CACHE_SIZEDatabaseBuffer

CacheRedoLogBuffer1-14记录数据块记录的变化日志主要是用于数据库的恢复变化记录也被称之为重做体(REDOENTRIES),重做体包括了重构的信息或重做的变化。大小由LOG_BUFFER决定。RedoLog

BufferLargePool1-15在SGA中,是可选的内存区。用于减轻SharedPool的负担。用于: 共享连接的SESSION内存区(UGA)。

I/O服务进程 备份、恢复操作或RMAN管理 并行执行的消息缓冲区内存管理不有LRU算法大小用LARGE_POOL_SIZE可以动态调整JavaPool1-16用于ORACLE中内嵌JAVA程序,如JSQL。大小由JAVA_POOL_SIZE决定,大小一般都要在20M以上。如果不用,把配置值设置为1M。ProgramGlobalArea1-17User

processPGAServer

process为连接到数据库的用户所用的内存区。当用户进程创建时进行分配。当用户进程退出时回收。内存为非共享的,分配时只能分配给一个用户使用。ProcessStructure1-18ORACLE数据库在运行期间使用下面几种进程:用户进程:一个数据库用户请求连接到ORACLE服务器时启动。服务器进程:连接到ORACLE数据库实例,当一个用户创建一个SESSION时启动。后台进程:数据库实例启动时启动。用户进程(UserProcess)1-19一个和ORACLE数据库请求交互的程序。和ORACLE建立连接。不和ORACLE数据库直接交互。DatabaseuserServer

processUser

processConnection

established服务器进程(ServerProcess)1-20一个和ORACLE数据库直接交互的程序。进行普通的调用并返回结果。有二种进行连接方式:专用连接、共享连接。ConnectionestablishedSessioncreatedDatabaseuserUser

processServer

processOracleserver后台进程(BackgroupProcess)1-21用于维护和管理ORACLE数据库的物理结构和储结构之间的关系。主要后台进程包括:

DBWn PMON CKPT LGWR SMON 可选后台进行包括:

ARCn

LMDn

QMNn CJQ0 LMON RECO

Dnnn LMS Snnn

LCKn

PnnnInstance

DBWRSMONPMONCKPTLGWROthers

数据库写进程(DBWn)1-22InstanceSGADatabaseDBWnDatabaseBuffer

CacheControlfilesDatafilesRedoLogfilesDatabaseDBWn进程完成把数据库缓冲区的内容写回数据库文件,开始启动于:CheckPoint完成没有空闲的数据缓冲区设置时间已到有RACping请求表空间脱机(offline)表空间修改为只读删除表、或truncate表表空间开始beginbackup日志写(LGWR)1-23LGWR进程完成把重做日志缓冲区的内容写到REDO文件,开始启动:Commit进行提交事务Redo缓冲区1/3时在redo缓冲区有1M日志每三秒启动一次在DBWn进程写之前InstanceSGARedo

LogBufferDBWnLGWRDatabaseControlfilesDatafilesRedoLogfilesDatabase系统监控进程(SMON)1-24SMON进程主要用于:数据库实例恢复管理空闲表空间回收临时表空间InstanceSGASMONDatabaseControlfilesDatafilesRedoLogfilesDatabase进程监控进程(PMON)1-25用于服务器进程运行失败后的清理工作,包括:回滚事务释放锁资源释放相关的其他资源重启死的发器dispatchers

)PGAareaInstanceSGAPMON检查点进程(CKPT)1-26CKPT进程主要负责:更新文件头信息更新控制文件信息唤醒DBWn进程InstanceSGADatabaseControlfilesDatafilesRedoLogfilesDatabaseDBWnLGWRCKPT归档进程(ARCn)1-27是可选的后台进程当归档(ARCHIVELOG

)模式已设置的时候,完成联机日志的自动归档。保存在数据库操作中产生的所有日志变化记录,这些记录全部保存在归档日志中。ARCnArchivedredologfilesControlfilesDatafilesRedologfiles逻辑结构1-28ORACLE体系结构中的逻辑结构是指数据库中的物理空间如何分配使用。它由一个层次体系结构组成:表空间(tablespace)-段(segment)-区(extent)–block(块)一个数据库由一组表空间组成,一个表空间由一个或多个段(segment)组成,一个段由多个区组成,一个区由多个数据块组成,块是数据库中读写操作中最小的组织单位。TablespaceDatafileSegmentBlocksExtentSegment22、开始ORACLE数据库管理维护工具2-1工具描述OracleUniversalInstaller(OUI)用于安装、更新、删除ORACLE组件。OracleDatabaseConfigurationAssistant是一个图形化操作工具,用于交互式的创建、删除、修改数据库SQL*Plus用于访问、操作数据库的交互式工具。OracleEnterpriseManager图形化操作工具,用于管理、监控、性能调整等操作。数据库管理维护工具-OUI2-2数据库管理维护工具-DBCA2-3数据库管理维护工具-SQLPLUS2-4数据库管理维护工具-OEM2-533、管理ORACLE实例初始化参数文件3-1spfiledb01.oraCONNECT/ASSYSDBASTARTUPOracleInstanceSGARedoLog

BufferSharedPoolData

Dictionary

CacheLibraryCacheDBW0SMONPMONCKPTLGWROthersDatabase

BufferCacheJavaPoolLarge

Pool初始化参数文件3-2数据库实例启动时所用的配置参数。有二种类型:明确指定的,在参数文件中配置说明。默认的,在参数文件中不指定,采用系统默认值。一个数据库中可有多个参数文件,但只有一个是默认的,INIT<SID>.ORA或SPFILE<SID>.ORA有二种类型静态文本文件,PFILE二进制文件,SPFILE,在数据库运行期间可修改。启动数据库操作3-3启动数据库时,默认读取参数次序:SPFILE<SID>.ORA默认SPFILEINIT<SID>.ORA默认PFILESTARTUPPFILE=$ORACLE_HOME/dbs/initDBA1.oraPFILE可以引用到SPFILE中:SPFILE=/database/startup/spfileDBA1.oraSTARTUP指定PFILE可以忽略读取参数次序,直接有用指定PFILE启动数据库过程3-4OPENMOUNTNOMOUNTSHUTDOWNAllfilesopenedasdescribedbythecontrolfileforthisinstanceControlfileopenedforthisinstanceInstance

startedSTARTUPSHUTDOWN关闭数据库3-5ANoNoNoNoTNoNoYesYesINoNoNoYesShutdownModeAllownewconnectionsWaituntilcurrentsessionsendWaituntilcurrenttransactionsendForceacheckpointandclosefilesNNoYesYesYes关闭模式:A=ABORTI=IMMEDIATET=TRANSACTIONALN=NORMALSHUTDOWN[immediate]/[abort]/[transactional]3-6通过诊断文件监控数据库诊断文件:包含了实例运行期间所发生的事件相关的信息。用于分析解决问题。用于的基于日常的数据库管理比较好的方式诊断文件有几种类型:alert<SID>.log文件,包括了数据库日常操作事件。位置由参数backgroup_dump_dest决定后台进程跟踪文件,存放当后台进程运行出错时输出的信息。位置由参数backgroup_dump_dest决定。用户跟踪文件,存放用户操作发生错误信息或用户直接导出(一般通过DUMP)的相关信息。位置由参数:user_dump_dest决定。44、创建数据库4-1创建数据库先决条件创建数据库前,必须有下列先决条件:一个用户帐号,这个帐号的认证方式是下列其中之一:操作系统认证密码文件认证足够内存启动实例(一个实例最少内存要求50M以上)足够的硬盘空间(一个基本的数据库要求1G以上)4-2操作系统环境配置在操作系统中设置下列的环境变量:ORACLE_BASEORACLE_HOMEORACLE_SIDORA_NLS33PATHLD_LIBRARY_PATH4-3DatabaseConfigurationAssistant用DatabaseConfigurationAssistant,完成下列的功能:创建数据库配置数据库选项删除数据库管理数据库模板通过预定义模板配置生成新的模板从当前存在的数据库中生成新的模板删除数据库模板4-4用DBCA创建数据库1、选择数据库选项(创建、删除、修改数据库等)2、指定数据库类型(数据仓库、通用、新数据库等)3、指定全局数据库名和SID4、选择特性(专用模式、共享模式)5、选择数据库可选项(只有类型是创建新数据库才会出现)6、指定内存、字符集、数据库文件大小、文件位置等选项。7、定义数据库存储选项。8、最后一项:创建数据库保存为模板产生数据库创建脚本55、管理控制文件5-1控制文件ControlfilesDatabase是一个二进制文件定义物理数据库的当前状态用于维护数据库的完整性数据库启动到MOUNT状态时要读控制文件一组控制文件对于一个数据库控制文件丢失时,要进行数据库的恢复控制文件大小在数据库创建时指定,或重建控制文件时指定。5-2控制文件内含信息ControlfilesDatabase一个控制文件包含下面的信息:数据库名称和标识数据库创建的时间戳表空间名数据库文件和联机日志文件的名称和所处位置当有在线联机日志的序列号检查点(CHECKPOINT)信息联机日志归档信息备份信息5-3多重控制文件CONTROL_FILES=$HOME/ORADATA/u01/ctrl01.ctl,$HOME/ORADATA/u02/ctrl02.ctlDisk1(u01)Disk2(u02)

ctrl02.ctl

ctrl01.ctl为了防止控制文件的损坏导致数据库无法正常运行,一个数据库中会设置多个相同控制文件的COPY,这就是多重控制文件。5-4使用SPFILE实现多重控制文件ALTERSYSTEMSETcontrol_files='$HOME/ORADATA/u01/ctrl01.ctl','$HOME/ORADATA/u02/ctrl02.ctl'SCOPE=SPFILE;cp $HOME/ORADATA/u01/ctrl01.ctl $HOME/ORADATA/u02/ctrl02.ctlstartupshutdownimmediate修改SPFILE正常关闭数据库创建额外的控制文件启动数据库5-5使用PFILE实现多重控制文件shutdownimmediateCONTROL_FILES=$HOME/ORADATA/u01/ctrl01.ctl, $HOME/ORADATA/u02/ctrl02.ctl)cp $HOME/ORADATA/u01/ctrl01.ctl $HOME/ORADATA/u02/ctrl02.ctlstartup正常关闭数据库创建额外的控制文件编辑PFILE文件,增加控制文件配置信息到PFILE参数文件启动数据库5-6在数据库中查询控制文件信息控制文件状态和的位置等相关信息可以通过下列查询视图的SQL语句获得:V$CONTROLFILE:显示与实例相关的所有控制文件的名称和状态。V$PARAMETER:显示所有参数的名称和状态。SHOWPARAMETERCONTROL_FILES:显示控制文件的名称、状态、和位置。66、管理联机日志文件6-1联机日志文件介绍记录数据生产的所有变化。提供了恢复机制,用于数据库实例破坏的数据恢复。以组的形式组织管理。最少要有二个组,每个组以一个到多个文件组成。当一个组有多个文件的时候,建议不要把所有文件放在同一个地方。Redologfiles6-2联机文件结构Group2Group3Group1MemberDisk1Disk2MemberMemberMemberMemberMember6-3联机文件工作方式联机日志文件的以循环的方式进行使用的。当一个联机日志文件记录的日志信息满的时候,LGRW进程会把把日志写到下一组的文件。即发生下列动作:调用日志交换(altersystemswitchlogfile。检查点(checkpoint)操作。相关信息写入控制文件。6-4手工联机日志switch和checkpointALTERSYSTEMCHECKPOINT;ALTERSYSTEMSWITCHLOGFILE;FAST_START_MTTR_TARGET=600手工联机日志交换:手工checkpoint用ALTERSYSTEMCHECKPOINT命令:通过设置下列参数进行定期Checkpoint:FAST_START_MTTR_TARGET.6-5增加联机日志组Group1Group2Group3ALTERDATABASEADDLOGFILEGROUP3('$HOME/ORADATA/u01/log3a.rdo','$HOME/ORADATA/u02/log3b.rdo')SIZE1M;log3b.rdolog3a.rdolog1a.rdolog1b.rdolog2a.rdolog2b.rdo6-6增加联机日志组文件成员ALTERDATABASEADDLOGFILEMEMBER'$HOME/ORADATA/u04/log1c.rdo'TOGROUP1,'$HOME/ORADATA/u04/log2c.rdo'TOGROUP2,'$HOME/ORADATA/u04/log3c.rdo'TOGROUP3;log1a.rdolog1b.rdolog2a.rdolog2b.rdolog1c.rdolog2c.rdolog3a.rdolog3b.rdolog3c.rdoGroup1Group2Group36-7删除联机日志组ALTERDATABASEDROPLOGFILEGROUP3;log1a.rdolog2a.rdolog3a.rdoGroup1Group2Group36-8删除联机日志组文件成员ALTERDATABASEDROPLOGFILEMEMBER'$HOME/ORADATA/u04/log3c.rdo';Group1Group2log1b.rdolog1c.rdolog1a.rdolog1b.rdolog2c.rdolog1a.rdo6-9联机日志文件信息查询联机日志组和文件相关的信息可以通过查询下列的视图取得:V$LOGV$LOGFILE6-10归档日志文件已写满的联机日志文件可以归档到某一指定地方。在数据库运行中,以归档模式运有二个方面的好处:恢复:数据库的文件备份、加上归档文件和联机日志,可以保存所有的已处理的事务。当数据库发生破坏时,通过这些文件可以完成数据库的恢复。备份:在运行的数据库中,可以进行备份。默认的情况下,数据库是运行在非归档模式下的。归档主要是由进程ARCn进程自动完成。可以通过SQL语句手工进行归档。通过配置,可以进行日志的多份归档。77、管理表空间和数据文件7-1表空间和数据文件

ORACLE数据的存储,在逻辑上讲,是存储在表空间里;在物理上讲,是存储在数据文件中。表空间:一个表空间只能属于一个数据库。一个表空间由多个数据文件组成。进一步划分,可以分成逻辑上的多个存储单元。数据文件:一个数据库文件只能属于其中一个表空间。是具体存放数据的地方。DatabaseTablespaceDatafiles7-2表空间类型系统表空间数据库创建的时候一起创建。包含了系统字典表信息。包含了系统回滚空间非系统表空间由用户进行管理分配。用于存储用户数据。分为临时表空间、回滚表空间、普通表空间。7-3表空间的空间管理方式本地管理表空间管理:表空间空闲空间部分由表空间自己进行管理。通过位图进行空闲空间的记录。位图每一位对应一个块或一组块。位图每一位用0或1表示,1表示对应的空间已用,0表示未用。字典管理表空间管理:表空间空闲空间部分由数据字典表进行管理。当表空间进行分配或回收时,字典表记录会进行更新操作。7-4创建表空间CREATETABLESPACEuserdata DATAFILE'/u01/oradata/userdata01.dbf'SIZE5M;创建表空间用createtablespace

命令:创建本地管理表空间:CREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE500MEXTENTMANAGEMENTLOCALUNIFORMSIZE128K;创建字典管理表空间:CREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE500MEXTENTMANAGEMENTDICTIONARY DEFAULTSTORAGE(initial1MNEXT1MPCTINCREASE0);7-5回滚表空间用于存储回滚记录信息。不能包含其他对象。管理都是以本地表空间方式进行管理。管理方式建议采用自动管理方式(9I以后)CREATEUNDOTABLESPACEundo1DATAFILE'/u01/oradata/undo01.dbf'SIZE40M;7-6临时表空间用于数据处理过程中的排序操作。可以由多个用户进行共享。不能包含任何长期保留的信息。强烈建议以本地表空间的管理方式进行临时表空间的管理CREATETEMPORARYTABLESPACEtempTEMPFILE'/u01/oradata/temp01.dbf'SIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE4M;7-7只读表空间通过下列SQL语句把表空间修改为只读表空间:ALTERTABLESPACEuserdataREADONLY;数据只能进行读,不能进行写(如更新数据)操作。对象(如表、索引)可以从表空间中删除。7-8查询表空间信息获取表空间和数据文件的相关信息可以查询下列视图:表空间信息:dba_tablespacesV$tablespace数据文件信息:dba_data_filesv$datafile临时表空间信息:dba_temp_filesv$tempfile88、管理表、索引、数据完整性8-1用户数据存储方式RegulartableClusterPartitioned

tableIndex-organized

table8-2ORACLE内置数据类型CHAR(N),NCHAR(N)

VARCHAR2(N),

NVARCHAR2(N)NUMBER(P,S)DATE

TIMESTAMPRAW(N)

BLOB,CLOB,NCLOB,BFILELONG,LONGRAWROWID,UROWIDVARRAY

TABLEREFDatatypeBuilt-inUser-definedScalarRelationshipCollection8-3创建表CREATETABLEhr.employees(employee_idNUMBER(6),first_name VARCHAR2(20), last_nameVARCHAR2(25),emailVARCHAR2(25),phone_numberVARCHAR2(20),hire_dateDATEDEFAULTSYSDATE,job_id VARCHAR2(10),salaryNUMBER(8,2),commission_pctNUMBER(2,2),manager_idNUMBER(6),department_idNUMBER(4))TABLESPACEUSERS;8-4创建表原则把表分布在不同的表空间。创建的表不能放在SYSTEM表空间、UNDO表空间、TEMPORARY表空间。尽量使用本地管理表空间,减少表空间的碎片。在业务量繁忙、数据量大的情况下,表和索引尽量放在不同的表空间。当数据量非常大的时候,可考虑分区表。8-5创建临时表创建临时表用GLOBALTEMPORARY

句:CREATEGLOBALTEMPORARYTABLEhr.employees_tempASSELECT*FROMhr.employees;临时表只存在于一个事务、一个连接SESSION活动期间。DML操作没有锁的概念。可以在临时表上进行创建索引、视图、触发器等。8-6Truncate、delete、Drop表TRUNCATETABLEhr.employees;Truncate表相当于删除一个表的所有数据,同时回收表空间。Deletefromhr.departments;正常删除一个表的所有数据,不会回收使用的空间。Droptablehr.departments;正常删除表,回收使用的空间。8-7索引分类从逻辑上分:单列或多列组合索引唯一或非唯一索引函数索引Domain索引从物理上分:分区索引和非分区索引B-TREE索引和反转索引位图索引8-8B-TREE索引IndexentryheaderKeycolumnlengthKeycolumnvalueROWIDRootBranchLeafIndexentry8-9位图索引<Blue,10.0.3,12.8.3,1000100100010010100><Green,10.0.3,12.8.3,0001010000100100000><Red,10.0.3,12.8.3,0100000011000001001><Yellow,10.0.3,12.8.3,0010001000001000010>keystartROWIDendROWID

bitmapTableIndexBlock10Block11Block12File38-10B-TREE索引、位图索引比较B-tree B-tree索引Bitmap索引适合于高基数的情况下适合于低基数的情况下修改索引值消耗少的资源修改索引值消耗非常多的资源在query语句中,不能用于逻辑运算在query语句中,可以直接用于逻辑运算多用于OLTP系统多用于DSS系统8-11创建索引B-tree CREATEINDEXhr.employees_last_name_idxONhr.employees(last_name)PCTFREE30STORAGE(INITIAL200KNEXT200K PCTINCREASE0 MAXEXTENTS50)TABLESPACEindx;创建B-TREE索引:CREATEBITMAPINDEXorders_region_id_idxONorders(region_id)PCTFREE30STORAGE(INITIAL200KNEXT200K PCTINCREASE0 MAXEXTENTS50)TABLESPACEindx;创建BITMAP索引:8-12数据完整性约束名描述Notnull指定某一列值不能为空。unique列值或组合列值是唯一的。Primarykey指定某一列值或组合列值作为表的主健值,即唯一。Foreignkey指定某一列值或组合列值必须来源于另一表的某一列值或组合列值。check指明某一列值或组合列值必须满足指定条件。8-13数据完整性检查过程DMLstatementChecknondeferredconstraintsCOMMITCheckdeferredconstraints8-14创建表时定义约束CREATETABLEhr.employee(

idNUMBER(7)

CONSTRAINTemployee_id_pkPRIMARYKEY

DEFERRABLE

USINGINDEX

STORAGE(INITIAL100KNEXT100K)

TABLESPACEindx,last_nameVARCHAR2(25)

CONSTRAINTemployee_last_name_nnNOTNULL,dept_idNUMBER(7))TABLESPACEusers;8-15创建约束实例alter

tableEMP

add

constraintPK_EMP_NOprimary

key(EMPNO);创建主键:创建外键:alter

tableEMP

add

constraintFK_DEPT_NOforeign

key(DEPTNO)

referencesdept(DEPTNO);创建check:alter

tableEMP

add

constraintCK_EMP_ID

check(empno>1000and

empno<9999);99、管理用户、权限、角色9-1用户、安全机制Account

lockingTablespace

quotasTemporarytablespaceDefaulttablespaceRoleprivilegesResourcelimitsSecuritydomainDirectprivilegesAuthenticationmechanism9-2数据库方案SchemaObjectsTablesTriggersConstraintsIndexesViewsSequencesStoredprogramunitsSynonymsUser-defineddatatypesDatabaselinks一个方案就是对象集合的命名。当创建一个用户的时候、相对应的方案也会自动创建。用户删除的时候、对应的方案也会删除。一个用户只能和一个方案相关联。即一个用户只能有一个方案。用户名和方案名可以交替使用。9-3创建用户步聚确定用户用于存储数据的表空间。设定每个表空间用户可用空间的限制。分配默认表空间、默认临时表空间。创建用户、指定密码。对用户进行授权、包括系统权限、角色权限。CREATEUSERaaronIDENTIFIEDBYsoccerDEFAULTTABLESPACEdataTEMPORARYTABLESPACEtempQUOTA15MONdataQUOTA10MONusersPASSWORDEXPIRE;9-4删除用户直接正常删除用户:DROPUSERaaron;删除已有对象的用户:DROPUSERaaronCASCADE;当一个用户目前已连接到数据库上的时候,该用户不能删除。等用户退出系统出才可以删除。9-5管理权限ORACLE数据库用户有二种权限:系统权限:指用户能在数据库中进行指定的操作。如创建表、创始存储过程,启动/停止数据库等。整个数据库有超过100个系统权限。有any关键字的系统权限的用户都意味着在任何方案都有这个权限。用grant进行授权、用revoke进行回收权限。对象权限:指用户能在指定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论