版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle10g
数据库基础培训个人介绍王珊珊Oracle10gOCMOCM联盟成员就职于企业云服务事业部邮件:wangshshtr@Blog:
主要内容
本次课程涉及的主要内容:
Oracle体系结构启动和关闭
Oracle数据库
Oracle数据库基础管理Oracle数据库的备份与恢复SQL基础RAC介绍数据库管理员的任务
计划和创建数据库管理数据库可用性管理物理结构和逻辑结构根据设计管理存储管理安全网络管理备份和恢复数据库优化Oracle体系结构组件
目标
本节主要内容:
概括
Oracle体系结构及其主要组件
列出在用户连接到
Oracle实例过程中涉及的结构
口令文件
基本组件概览
实例
SGA重做日志
缓冲区
共享池
数据字典
高速缓存库高速缓存
DBWRSMONPMONCKPTLGWR其它
用户进程
服务器进程
PGA控制文件
数据文件
数据库数据库缓冲区
高速缓存
重做日志文件
Java池
大型共享池
参数文件
归档日志文件
Oracle服务器
Oracle服务器:
是一个数据库管理系统,它为
信息管理提供了开放、综合和
集成的方法
包括
Oracle实例和
Oracle
数据库
Oracle服务器
Oracle实例
Oracle实例:是一种访问
Oracle数据库的方式
始终打开一个,并且只打开一个数据库
由内存结构和后台进程结构组成
后台进程结构
内存结构
实例
SGA重做日志缓冲区
共享池
数据字典高速缓存库高速缓存DBWRSMONPMONCKPTLGWR其它数据库缓冲区高速缓存
Java
池
大型共享池
Oracle数据库
Oracle数据库:
是一个被统一处理的数据集合
包括三类文件
口令文件
参数文件
归档的日志文件
控制
文件
数据
文件
重做
日志
文件
Oracle数据库
物理结构
物理结构包括以下三种文件类型:
控制文件
数据文件
重做日志文件
控制文件数据文件(包括数据字典)
标头
联机重做
日志文件
内存结构
Oracle的内存结构由两个内存区组成,分别是:
系统全局区(SGA):在实例启动时分配,是
Oracle
实例的基本组件
程序全局区(PGA):在服务器进程启动时分配
系统全局区
SGA包括以下几种内存结构:共享池数据库缓冲区高速缓存重做日志缓冲区其它结构(例如锁定和栓锁管理以及统计数据)
在
SGA中还可配置其它两种内存结构:
大型共享池
Java池系统全局区
SGA是动态的
大小由
SGA_MAX_SIZE
参数指定
由
SGA组件以粒组为单位进行分配和跟踪
连续的虚拟内存分配
粒组大小由估算的
SGA_MAX_SIZE
总计大小确定
共享池
用于存储:
最近执行的
SQL语句
最近使用的数据定义它包括以下两个与性能相关的关键内存结构:库高速缓存数据字典高速缓存其大小由
SHARED_POOL_SIZE
参数确定共享池数据字典高速缓存库高速缓存ALTERSYSTEMSETSHARED_POOL_SIZE=64M;库高速缓存
存储有关最近使用的
SQL和
PL/SQL语句的信息
启用常用语句共享由“最近最少使用算法”(LRU)管理
包括以下两个结构:共享的
SQL区共享的
PL/SQL区大小由共享池的大小确定
数据字典高速缓存
数据库中最近使用的定义的集合
包括与数据库文件、表、索引、列、用户、权限和其它数据库对象相关的信息
在语法分析阶段,服务器进程会在数据字典中查找用于解析对象名和验证访问的信息
将数据字典信息高速缓存到内存中,可缩短查询和
DML
的响应时间
大小由共享池的大小决定
数据库缓冲区高速缓存
存储已从数据文件中检索到的数据块的副本
能够大幅提高获取和更新数据时的性能
通过
LRU算法管理
主块的大小由
DB_BLOCK_SIZE
确定
数据库缓冲区
高速缓存
数据库缓冲区高速缓存由独立的子高速缓存组成:
DB_CACHE_SIZEDB_KEEP_CACHE_SIZEDB_RECYCLE_CACHE_SIZE大小可以进行动态调整
设置
DB_CACHE_ADVICE
可收集用于预测不同
高速缓存大小行为的统计信息
统计信息由
V$DB_CACHE_ADVICE
显示
ALTERSYSTEMSETDB_CACHE_SIZE=96M;重做日志缓冲区
记录对数据库数据块所做的全部更改
主要用于恢复
其中记录的更改称作重做条目
重做条目包含用于重新构造或重做更改的信息
大小由
LOG_BUFFER
定义
重做日志
缓冲区
程序全局区
为连接到
Oracle数据库的每个用户进程保留的内存
在创建进程时分配在终止进程时回收仅供一个进程使用服务器进程
PGA用户进程
进程结构
Oracle利用了以下几种进程的优势:
用户进程:在数据库用户请求连接到
Oracle服务器时
启动服务器进程:与
Oracle实例相连接,在用户建立会话
时启动后台进程:在
Oracle实例启动时启动
用户进程
请求与
Oracle服务器交互的程序必须先建立连接不与
Oracle服务器直接交互
数据库用户服务器进程
用户进程建立的连接服务器进程直接与
Oracle服务器交互的程序执行生成的调用并返回相关结果可以是专用服务器或共享服务器
建立的连接
创建的会话数据库用户用户进程服务器进程Oracle服务器
后台进程维护并加强物理结构与内存结构之间的关系
必备的后台进程:
DBWn PMON CKPTLGWR SMON 可选的后台进程:
ARCn LMDn RECOCJQ0 LMON SnnnDnnn PnnnLCKn QMNn数据库写入程序
(DBWn)在以下情况下写入:出现检查点灰数据缓冲区达到阈值没有空闲缓冲区出现超时执行了
RACping请求表空间处于
OFFLINE
状态表空间处于
READONLY
状态对表执行
DROP
或
TRUNCATE
操作对表空间执行
BEGINBACKUP
操作实例
SGA控制
文件数据
文件重做
日志
文件数据库DBWn数据库
缓冲区
高速缓存日志写入器
(LGWR)LGWR在以下情况下写入:提交时三分之一填满时有1MB的重做时每隔三秒DBWn写入前实例SGA控制
文件数据
文件
重做
日志
文件数据库重做日志
缓冲区
DBWnLGWR系统监控程序
(SMON)职责:实例恢复前滚重做日志中的更改打开数据库供用户访问回退未提交的事务处理合并空闲空间回收临时段控制
文件数据
文件
重做
日志
文件数据库实例
SGASMON过程监视器
(PMON)实例失败后,通过以下方法进行清理:
回退事务处理释放锁释放其它资源重新启动已失效的调度
程序
PGA区
实例SGAPMON检查点
(CKPT)职责包括:在检查点发信号给
DBWn使用检查点信息更新数据文件的标头使用检查点信息更新控制文件控制
文件数据
文件重做
日志
文件数据库实例SGADBWnLGWRCKPT归档程序
(ARCn)可选的后台进程设置
ARCHIVELOG
模式时自动归档联机重做日志保留数据库的全部更改记录
ARCn归档的
重做日
志文件控制
文件数据
文件重做
日志
文件小结在这一节中,主要讲解:
数据库文件:数据文件、控制文件和联机重做日志SGA内存结构:数据库缓冲区高速缓存、共享池
和重做日志缓冲区主要的后台进程:DBWn、LGWR、CKPT、
PMON、SMON后台进程
ARCn的用法
Oracle存储管理
存储结构逻辑结构指示数据库物理空间的使用情况层次结构由表空间、段、区和块组成
表空间数据文件段块区段逻辑结构ORACLE的逻辑结构是由一个或多个表空间组成,一个数据库划分为一个或多个逻辑单位,该逻辑单位称为表空间(tablespace)。一个表空间可将相关的逻辑结构组合在一起。一个表空间由一组分类段组成。一个段由一组范围组成。一个范围由一批数据库块组成。一个数据库块对应一个或多个物理块。表空间和数据文件Oracle在逻辑上以表空间存储数据,而实际上以数据文件进行存储。表空间:某一时刻只能属于一个数据库由一个或多个数据文件组成可进一步划分为逻辑存储单元数据文件:
只能属于一个表空间和一个
数据库是方案对象数据的资料档案库数据库表空间数据文件段类型
表
表分区
索引
LOB段
段类型
按索引组织的表
索引分区
还原段
临时段
区的分配与回收
区是表空间内某个段使用的一块空间。
当段处于以下情况时分配区:
已创建
已扩展
已改变
当段处于以下情况时回收区:
已删除
已改变
已截断
已用区和空闲区
数据文件
空闲区
已用区
文件标头
数据库块
I/O的最小单位
由一个或多个操作系统块组成
在创建表空间时设置
DB_BLOCK_SIZE
指定了缺省块大小
多种块大小支持
数据库既可以按照标准的块大小创建,也可以按照非
标准的块大小创建,非标准的块大小最多为四种。
块大小可以是介于2KB和32KB之间的2的幂值。
标准块大小
在创建数据库时使用DB_BLOCK_SIZE
参数设置;除非重新创建该数据库,否则无法更改
用于SYSTEM
和TEMPORARY
表空间
DB_CACHE_SIZE
指定标准块大小的DEFAULT
缓冲区高速缓存大小:
最小大小=一个粒组(4MB或16MB)
缺省值=48MB
非标准块大小
使用以下动态参数配置附加高速缓存:
DB_2K_CACHE_SIZE
用于2KB块
DB_4K_CACHE_SIZE
用于4KB块
DB_8K_CACHE_SIZE
用于8KB块
DB_16K_CACHE_SIZE
用于16KB块
DB_32K_CACHE_SIZE
用于32KB块
如果nK
是标准块大小,则不允许使用DB_nK_CACHE_SIZE
每个高速缓存的最小大小:一个粒组
Oracle的开启与关闭
数据库管理员用户自动创建用户
SYS
和
SYSTEM在创建数据库期间创建授予
DBA角色
SYS口令:change_on_install数据库数据字典的所有者
SYSTEM口令:manager
Oracle工具使用的附加内部表和视图的所有者SQL*Plus一种提供下列功能的
Oracle工具:
操作和控制数据库启动和关闭数据库、创建和运行查询、添加行、修改
数据和编写自定义报表
它是具有特定附加内容的标准
SQL语言的一部分连接至
SQL*Plussqlplus/nologconnect/assysdbaConnectedtoanidleinstance.启动数据库
NOMOUNTOPENMOUNTNOMOUNTSHUTDOWN实例已启动
STARTUPSHUTDOWNspfiledb01.ora初始化参数文件CONNECT/ASSYSDBASTARTUPOracle实例SGA重做日志缓冲区共享池数据字典高速缓存库高速缓存DBW0SMONPMONCKPTLGWR其它数据库缓冲区高速缓存Java池大型共享池初始化参数文件文件中的条目专用于要启动的实例有两种类型的参数:
显式:文件中有一个条目隐式:文件中没有条目,但假定取
Oracle缺省值可存在多个初始化参数文件对文件中条目的更改的生效时间,取决于使用的初始化参数文件类型
静态参数文件
PFILE
永久参数文件
SPFILEPFILE
initSID.ora文本文件使用操作系统编辑器进行修改手动进行修改所作更改在下次启动时生效仅在实例启动过程中打开缺省位置为
$ORACLE_HOME/dbsPFILE
示例
#InitializationParameterFile:initdba01.oradb_name=dba01instance_name=dba01control_files=( home/dba01/ORADATA/u01/control01dba01.ctl, home/dba01/ORADATA/u02/control01dba02.ctl)db_block_size=4096db_cache_size=4Mshared_pool_size=50000000java_pool_size=50000000 max_dump_file_size=10240background_dump_dest=/home/dba01/ADMIN/BDUMPuser_dump_dest=/home/dba01/ADMIN/UDUMPcore_dump_dest=/home/dba01/ADMIN/CDUMPundo_management=AUTOundo_tablespace=UNDOTBS...SPFILE
spfileSID.ora二进制文件由
Oracle服务器进行维护始终驻留在服务器端所做更改永久有效,不受关闭和启动的影响可以自行调节参数值使恢复管理器能够备份初始化参数文件
创建
SPFILE从
PFILE
文件创建
其中
SPFILE-NAME:要创建的
SPFILE
PFILE-NAME:用于创建
SPFILE
的
PFILE可在实例启动之前或之后执行
CREATESPFILE=‘$ORACLE_HOME/dbs/spfileDBA01.ora’FROMPFILE=‘$ORACLE_HOME/dbs/initDBA01.ora’;SPFILE
示例
*.background_dump_dest=‘/home/dba01/ADMIN/BDUMP’*.compatible='9.0.0'*.control_files='/home/dba01/ORADATA/u01/ctrl01.ctl’*.core_dump_dest=‘/home/dba01/ADMIN/CDUMP’*.db_block_size=4096*.db_name='dba01‘*.db_domain=‘world’*.global_names=TRUE*.instance_name='dba01'*.remote_login_passwordfile='exclusive‘*.java_pool_size=50000000’*.shared_pool_size=50000000*.undo_management='AUTO'*.undo_tablespace='UNDOTBS'...STARTUP
命令行为
优先顺序
spfileSID.ora缺省
SPFILEinitSID.ora缺省
PFILE指定的
PFILE
可覆盖优先顺序
PFILE
可指示要使用
SPFILESTARTUPPFILE=$ORACLE_HOME/dbs/initDBA1.oraSPFILE=/database/startup/spfileDBA1.ora修改
SPFILE
中的参数
使用
ALTERSYSTEM
更改参数值指定所做更改是临时的还是永久的删除或重置值ALTERSYSTEMSETundo_tablespace='UNDO2';ALTERSYSTEMSETundo_tablespace='UNDO2'SCOPE=BOTH;ALTERSYSTEMRESETundo_suppress_errorsSCOPE=BOTHSID='*';启动数据库
MOUNTOPENMOUNTNOMOUNTSHUTDOWN该实例的控制
文件已打开实例
已启动
STARTUPSHUTDOWN控制文件小型二进制文件定义物理数据库的当前状态维护数据库的完整性要求:在启动数据库时处于
MOUNT
状态能够操作数据库只链接至一个数据库丢失数据后可能需要恢复最初由
CREATEDATABASE
确定大小控制
文件数据库控制文件的内容控制文件中包含以下条目:数据库名称和标识符创建数据库的时间戳表空间的名称数据文件和重做日志文件的名称和位置当前重做日志的序列号检查点信息还原段的开始和结尾重做日志归档信息备份信息控制文件内容示例对控制文件进行多元备份CONTROL_FILES=$HOME/ORADATA/u01/ctrl01.ctl,$HOME/ORADATA/u02/ctrl02.ctl磁盘1(u01)磁盘2(u02)
ctrl02.ctl
ctrl01.ctl使用
SPFILE
时对控制文件
进行多元备份1. 改变
SPFILE:
2. 关闭数据库:3.
创建控制文件副本:4.
启动数据库: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使用
PFILE
时对控制文件
进行多元备份关闭数据库:
创建控制文件副本:向
PFILE
添加控制文件名:启动数据库:shutdownimmediateCONTROL_FILES=(/DISK1/control01.ctl,/DISK3/control02.ctl)cp $HOME/ORADATA/u01/ctrl01.ctl $HOME/ORADATA/u02/ctrl02.ctlstartup获取控制文件信息有关控制文件状态和位置的信息,可以通过查询以下视图来检索。
V$CONTROLFILE:列出与该例程相关联的所有控制文件的名称和状态V$PARAMETER:列出所有参数的状态和位置V$CONTROLFILE_RECORD_SECTION:提供有关控制文件记录部分的信息SHOWPARAMETERCONTROL_FILES:列出控制文件的名称、状态和位置启动数据库
OPENOPENMOUNTNOMOUNTSHUTDOWN按照该实例的控制文件
所述已打开所有文件该实例的控制
文件已打开实例
已启动
STARTUPSHUTDOWNSTARTUP
命令
启动实例并打开数据库:
STARTUPSTARTUPPFILE=$ORACLE_HOME/dbs/initdb01.oraALTERDATABASE
命令
将数据库状态从
NOMOUNT
更改为
MOUNT:
将数据库作为只读数据库打开:
ALTERDATABASEdb01MOUNT;ALTERDATABASEdb01OPENREADONLY;以受限模式打开数据库使用
STARTUP
命令限制对数据库的访问:使用
ALTERSYSTEM
命令将实例置于受限模式:STARTUPRESTRICTALTERSYSTEMENABLERESTRICTEDSESSION;以只读模式打开数据库
以只读模式打开数据库
此模式可用于:
执行查询使用本地管理的表空间执行磁盘排序使数据文件(而不是表空间)脱机和联机执行脱机数据文件和表空间的恢复
STARTUPMOUNTALTERDATABASEOPENREADONLY;关闭数据库关闭模式:
A=ABORTI=IMMEDIATET=TRANSACTIONALN=NORMALA否否否否T否否是是I否否否是
关闭模式允许建立新连接等待到当前会话结束等待到当前事务处理结束强制执行检查点操作并关闭文件N否是是是关闭选项在关闭过程中:将数据库缓冲区高速缓存的内容写入数据文件回退未提交的更改释放资源在启动过程中:没有发生实例
恢复在正常关闭、
事务处理关闭或立即关闭期间一致的数据库(干净数据库)关闭选项在关闭过程中:发生修改的缓冲区内容不写入数据文件不回退未提交的更改在启动过程中:使用重做日志重新应用更改使用撤消段回退未提交的更改释放资源在关闭中止、实例失败或强制启动期间不一致的数据库(灰数据库)配置OracleNetwork环境课程目标使用NetManager执行以下任务:创建其它监听程序创建OracleNet服务别名配置连接时故障转移控制OracleNetListener使用tnsping
测试OracleNet的连接概述:Listener进程listener.oraListenerClientServertnsnames.orasqlnet.ora建立网络连接要建立客户机或中间层连接,OracleNet要求客户机了解下列事项:运行监听程序的主机监听程序监视的端口监听程序使用的协议监听程序处理的服务名名称解析
建立连接监听程序
传入的连接请求
用户会话服务器
进程
PGA
监听程序
用户会话
用户进程
配置监听器监听器可以被配置在下面两种方法之一:静态的服务配置用于Oracle8或者更早版本需要配置LISTENER.ORA是OracleEnterpriseManager和其他服务所需要的动态的服务注册不需要LISTENER.ORA文件监听器依赖于PMON进程Oracle9i使用服务注册静态的服务注册:
listener.ora
文件当Oracle软件被安装时,listener.ora
文件就被自动创建,并且具有下列的默认设置:Listenername LISTENERPort 1521Protocols TCP/IPandIPCSIDname DefaultinstanceHostname Defaulthostname静态的服务注册:
listener.ora
文件1. LISTENER=2. (ADDRESS_LIST=3. (ADDRESS=(PROTOCOL=TCP)(Host=stc-sun02)(Port=1521)) )4. SID_LIST_LISTENER=5.(SID_LIST=6. (SID_DESC=7.(ORACLE_HOME=/home/oracle)(GLOBAL_DBNAME=ORCL.)9. (SID_NAME=ORCL) )10. ...sampleadditionalSIDdescription... )静态的服务注册::
创建监听器动态的服务注册::
配置注册信息
为了确保可以使用服务注册,下面的参数必须在INIT.ORA文件中配置:SERVICE_NAMESINSTANCE_NAME
动态的服务注册::
配置PMON
默认的,PMON在具有下面配置值的本地监听器上注册服务:Listenername LISTENERPort 1521Protocols TCP/IPSIDname DefaultinstanceHostname DefaulthostnamePMON可以注册到非默认的监听器上,通过下面的方法:在INIT.ORA中定义LOCAL_LISTENER在INIT.ORA文件中配置DISPATCHERS
参数
(共享服务器方式)监听器的控制工具(LSNRCTL)监听器控制工具的命令可以在命令行方式执行或者LSNRCTL的提示符下执行.UNIX命令行语法:提示符语法:控制一个非默认的监听器$lsnrctl<commandname>LSNRCTL><commandname>LSNRCTL>setcurrent_listenerlistener02LSNRCTL命令使用下列命令控制监听器:START[listener_name]STOP[listener_name]LSNRCTL的SET
和SHOW
命令SET命令被用于在命令行控制工具环境中改变监听器的参数.SHOW
命令被用于显示监听器的参数值.LSNRCTL>SETtrc_levelADMINLSNRCTL>SHOWconnect_timeout命名方法OracleNet支持多种解析连接信息的方法:简便连接命名:使用TCP/IP连接字符串本地命名:使用本地配置文件目录命名:使用符合LDAP的集中式目录服务器外部命名:使用受支持的非Oracle命名服务客户机/应用程序服务器
OracleNet
OracleNet配置文件
简便连接默认情况下是启用的不需要进行客户端配置仅支持TCP/IP(无SSL)不支持高级连接选项,如:连接时故障转移 源路由负载平衡无OracleNet配置文件
SQL>CONNECThr/hr@:1521/dba11g本地命名需要客户机名称解析文件支持所有的OracleNet协议支持高级连接选项,如:连接时故障转移 源路由负载平衡OracleNet
配置文件
SQL>CONNECThr/hr@orcl目录命名需要加载了OracleNet名称解析信息的LDAP:OracleInternetDirectoryMicrosoftActiveDirectoryServices支持所有的OracleNet协议支持高级连接选项LDAP目录
OracleNet
配置文件
SQL>CONNECThr/hr@orcl外部命名方法使用受支持的非Oracle命名服务包括:网络信息服务(NIS)外部命名分布式计算环境(DCE)单元目录服务(CDS)OracleNet
非Oracle
命名服务tnsnames.ora#TNSNAMES.ORANetworkConfigurationFile:/u03/ora9i/rel12/network/admin/tnsnames.ora#GeneratedbyOracleconfigurationtools.MY_SERVICE.US.ORACLE.COM=(DESCRIPTION=(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1521)))(CONNECT_DATA=
(SERVICE_NAME=TEST.)))sqlnet.ora#SQLNET.ORANetworkConfigurationFile:/u03/ora9i/rel12/network/admin/sqlnet.ora#GeneratedbyOracleconfigurationtools.NAMES.DEFAULT_DOMAIN=NAMES.DIRECTORY_PATH=(TNSNAMES,HOSTNAME)SQLNET.EXPIRE_TIME=0sqlplussystem/manager@MY_SERVICESQL*Plus:Release.0-BetaonTueFeb2710:11:002001(c)Copyright2000OracleCorporation.Allrightsreserved.Connectedto:Oracle9iEnterpriseEditionRelease.0-BetaJServerRelease.0-BetaSQL>客户端的故障解决ORA-12154“TNS:couldnotresolveservicename”ORA-12198“TNS:couldnotfindpathtodestination”ORA-12203“TNS:unabletoconnecttodestination”ORA-12533“TNS:illegalADDRESSparameters”ORA-12541“TNS:nolistener”下面是在客户端连接数据库时可能出现的问题和相关的错误代码:共享服务器:连接共享客户机应用程序的空闲期
已超出指定时间,并且有
传入的客户机请求连接。所配置的最大连
接数量为255。
此客户机连接是指到该服务器的第256个连接。已打开连接共享,因此可接受此连接。
数据库
服务器
空闲客户机
活动客户机
新客
户机
不能使用共享服务器的情况某些类型的数据库工作不能使用共享服务器执行:数据库管理备份和恢复操作批处理和批量装载操作数据仓库操作分派程序
专用服务器进程
数据库基础维护
——统计信息的收集目标了解内置数据库对象了解数据字典的内容和使用查询数据字典和动态性能视图了解如何监控数据库后台运行情况了解如何收集数据库统计信息并进行分析内置数据库对象随数据库一起创建的其它对象:数据字典性能表PL/SQL程序包数据库事件触发器数据字典每个Oracle数据库的中心描述数据库以及数据库对象包含只读表和视图存储在SYSTEM
表空间内由用户SYS
拥有由Oracle服务器进行维护通过SELECT
访问控制文件数据文件
重做日志文件数据库数据字典表基表和数据字典视图数据字典包含以下两个部分:基表存储数据库的说明使用CREATEDATABASE
命令创建数据字典视图用于简化基表信息通过公共同义词访问使用catalog.sql
脚本创建创建数据字典视图脚本
用途catalog.sql
创建常用的数据字典视图和同义词
catproc.sql
运行服务器端
PL/SQL所必需的脚本
数据字典内容数据字典提供有关以下方面的信息:逻辑数据库结构和物理数据库结构对象的定义和空间分配完整性约束用户角色权限审计数据字典的使用方式主要用途:Oracle服务器使用它来查找有关以下内容的信息:用户方案对象存储结构执行DDL语句时,Oracle服务器会对它进行修改。用户和DBA可将它作为数据库相关信息的只读参考数据字典视图的类别三种静态视图集按范围分类为:DBA:所有方案中的视图
ALL:用户可以访问的视图
USER:用户方案中的视图
USER_xxx
数据库中的所有对象
ALL_xxx
当前用户可以访问的对象
DBA_xxx
当前用户所拥有的对象
数据字典示例总览DICTIONARY,DICT_COLUMNS方案对象DBA_TABLES,DBA_INDEXES,DBA_TAB_COLUMNS,DBA_CONSTRAINTS空间分配DBA_SEGMENTS,DBA_EXTENTS数据库结构DBA_TABLESPACES,DBA_DATA_FILES动态性能表虚拟表记录当前的数据库活动在数据库可操作时不断更新通过内存和控制文件访问信息用于监控和优化数据库由SYS
用户拥有同义词以V$
开头在V$FIXED_TABLE
中列出动态性能表示例V$CONTROLFILEV$DATABASEV$DATAFILEV$INSTANCEV$PARAMETERV$SESSIONV$SGA$SPPARAMETERV$TABLESPACEV$THREADV$VERSION诊断文件
包含有关出现的重要事件的信息用于解决问题用于更好地进行数据库的日常管理
共有以下几种类型:
alertSID.log
文件
后台跟踪文件用户跟踪文件
使用诊断文件监视实例警报日志文件alertSID.log
文件:
记录命令记录主要事件结果用于记录日常操作信息用于诊断数据库错误
每个条目都带有与之相关联的时间戳必须由
DBA进行管理
存储位置由
BACKGROUND_DUMP_DEST
定义
后台跟踪文件后台跟踪文件记录所有后台进程检测到的错误用于诊断并排除错误
在后台进程遇到错误时创建存储位置由
BACKGROUND_DUMP_DEST
定义
用户跟踪文件用户跟踪文件
由用户进程生成可由服务器进程生成包含跟踪的
SQL语句的统计信息包含用户错误消息
在用户遇到会话错误时创建存储位置由
USER_DUMP_DEST
定义大小由
MAX_DUMP_FILE_SIZE
定义
启用或禁用用户跟踪会话级别:
使用
ALTERSESSION
命令:
ALTERSESSIONSETSQL_TRACE=TRUE执行
DBMS过程:
dbms_system.SET_SQL_TRACE_IN_SESSION实例级别
设置初始化参数:
SQL_TRACE=TRUEOracleAWR
OracleDatabase10g提供了一个显著改进的工具:自动工作负载信息库(AWR:AutomaticWorkloadRepository)。Oracle建议用户用这个取代Statspack。AWR实质上是一个Oracle的内置工具,它采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟踪潜在的问题。与Statspack不同,快照由一个称为MMON的新的后台进程及其从进程自动采集数据。
$ps-ef|grepmmonoracle28407210Oct21-20:10ora_mmon_htxxsvc2OracleAWR为了节省空间,系统默认采集的数据在7天后自动清除。快照频率和保留时间都可以由用户修改:查看当前的AWR保存策略:
SQL>colSNAP_INTERVALformata20
SQL>colRETENTIONformata20
SQL>select*fromdba_hist_wr_control;
DBID
SNAP_INTERVALRETENTIONTOPNSQL
----------
--------------------
--------------------
----------
2774909533
+0000001:00:00.0+0000700:00:00.0DEFAULT以上结果表示,每小时产生一个SNAPSHOT,保留7天。
OracleAWRSQL>@$ORACLE_HOME/rdbms/admin/awrrpt.sql
它产生两种类型的输出:文本格式(类似于Statspack报表的文本格式但来自于AWR信息库)和默认的HTML格式(拥有到部分和子部分的所有超链接),从而提供了非常用户友好的报表。直接回车,生成html格式的awr:OracleAWR
输入你想创建的最近快照天数:OracleAWR列出近两天的实例的快照ID及时间:OracleAWR输入快照起始,结束ID及awr报告的名称:OracleAWR可能运行几秒到几分钟的时间就会将两个快照之间的统计信息输出到html中。OracleAWR
AWR报告:数据库备份目标创建一致数据库备份在不关闭数据库情况下备份数据库创建增量备份执行自动数据库备份管理备份和查看备份报告监视快速恢复区备份解决方案:概览使用以下方法可执行备份:RecoveryManager逻辑备份
用户管理的备份映像副本
数据文件
目标数据库
备份片段
备份数据
快速恢复区
冗余归档日志文件
归档日志文件
逻辑备份
Export应用程序将数据库表保存到操作系统文件,这个文件只能由Import应用程序读入数据库。卸出模式如下:
Table:卸出用户的指定表。
User:卸出用户模式中的所有对象。
FullDatabase:卸出数据库中的所有对象。具有EXP_FULL_DATABASE角色的用户可操作此项。用户管理的备份用户管理的方案:指手动跟踪备份需求和状态的过程通常使用用户自己编写的脚本需要将数据库文件置于正确的模式以进行备份依赖操作系统命令来备份文件备份策略可包括:整个数据库(整个,所有数据文件和至少一个控制文件)部分数据库(部分,表空间,数据文件等)备份类型可指示包含以下项:所选文件中的所有数据块(完全备份)只限自以前某次备份以来更改过的信息(增量备份)累积(自上次0级备份以来的更改)差异(自上次增量备份以来的更改)备份模式可为以下类型:脱机(一致备份或冷备份)联机(非一致备份或热备份)
数据库
数据文件
联机重做日志文件
控制文件
术语术语备份可存储为:映像副本备份集数据文件#2
数据文件#3
数据文件#4
数据文件#5
数据文件#1
数据文件#6
映像副本
(操作系统格式的数据文件和日志文件的副本)
备份集
(Oracle专有格式的二缩文件)
数据文件#1
数据文件#2
数据文件#3
数据文件#4
数据文件#5
数据文件#6
归档与非归档
非归档操作:在介质出现失败时,只能将数据库恢复到最后后备的那一刻。归档操作:在介质出现失败时,能使用归档日志文件最大量的恢复数据库数据。归档与非归档
归档需求:数据库必须在ARCHIVELOG模式下操作启动自动归档进程ARCHIVER有足够的资源保存归档日志文件归档与非归档
显示归档状态:SQL>ARCHIVELOGLIST;Databaselogmode归档模式Automaticarchival归档进程状态Archivedestination归档目标Oldestonlinelogsequence旧日志组序列号Nextlogsequencetoarchive下一个日志组序列号Currentlogsequence当前日志组序列号归档状态下的备份方式
RecoveryManager(RMAN)具有强大的控制能力和脚本编写语言已与EnterpriseManager集成在一起具有已公布的API,可以用来连接到多数常用备份软件可备份数据、控制文件、归档日志文件和服务器参数件可将文件备份到磁盘或磁带使用RMAN命令行控制文件
SPFILE归档日志文件
数据文件
控制文件
副本123$rmantarget/
RMAN>CONFIGURE…RMAN>
BACKUPDATABASEPLUSARCHIVELOG;启动RMAN本地启动RMAN
远程启动RMANUNIX: $ORACLE_SID=DB01;exportORACLE_SID
$rmantarget/rmantargetsys/password@DB01WindowsNT: C:\>setORACLE_SID=DB01 C:\>rmantarget/其它RMAN命令行参数将RMAN输出写入日志文件
调用RMAN时执行命令文件
启动RMAN时建立数据库连接$rmanTARGETsys/oracle
CMDFILE=$HOME/scripts/my_rman_script.rcv$rmanTARGETsys/oracle
LOG=$HOME/oradata/u03/rman.logAPPEND$rmanTARGETSYS/sys_pwd@orclCATALOGrman/rman@rcat配置RMAN的永久性设置RMAN预设有一些默认的配置设置使用CONFIGURE
命令可以:配置自动通道指定备份保留策略指定要创建的备份副本数将默认备份类型设置为BACKUPSET
或COPY
限制备份集的大小从备份中免除某个表空间启用和禁用备份优化配置控制文件的自动备份SQL基础之
使用SELECT
语句检索数据
主要内容DESCRIBE命令基本的SELECT
语句使用DESCRIBE
命令DESCRIBEemployeesSQL概述SQL功能操作符数据查询SELECT数据定义CREATE,ALTER,DROP数据操纵INSERT,UPDATE,DELETE数据控制GRANT,REVOKE编写SQL语句SQL语言大小写不敏感。
SQL可以写在一行或者多行关键字不能被缩写也不能分行各子句一般要分行写。使用缩进提高语句的可读性。SQL语句在SQLDeveloper中,可以以一个分号(;)终止,当你执行多个SQL语句,结束分号是必需的。在SQL*Plus中,你必须用分号(;)结束每条SQL语句。SQLSELECT
语句的功能(选择)行(投影)列Table1Table2Table1Table1(连接)Join基本SELECT语句SELECT标识选择哪些列。FROM标识从哪个表中选择。
WHERE标示选择的具体过滤条件。SELECT*|{[DISTINCT]column|expression[alias],...}FROMtableWHEREconditions;选择全部列SELECT*FROMdepartments;选择特定的列SELECTdepartment_id,location_idFROMdepartments;从数据字典中获取表的列信息SQL>SELECTTABLE_NAME,COLUMN_NAME,DATA_TYPE,DATA_LENGTH,NULLABLEFROMUSER_TAB_COLUMNSWHERETABLE_NAME='DEPT';TABLE_NAMECOLUMN_NAMEDATA_TYPEDATA_LENGTHNULLABLE--------------------------------------------------------------DEPTDEPTNONUMBER22YDEPTDNAMEVARCHAR214YDEPTLOCVARCHAR213YOracle10gRAC介绍什么是OracleRAC集群?OracleRealApplicationServer,真正应用集群,简称OracleRAC,是Oracle的并行集群,位于不同服务器系统的Oracle实例同时访问同一个Oracle数据库,节点之间通过私有网络进行通信,所有的控制文件、联机日志和数据文件存放在共享的设备上,能够被集群中的所有节点同时读写。了解体系结构公用网络节点1共享存储重做日志所有实例数据库和控制文件OCR和voting磁盘(oracle_home)操作系统CRS集群互联数据库实例1ASM实例1节点2操作系统CRS数据库实例2ASM实例2节点3操作系统CRS数据库实例3ASM实例3集群互联...了解体系结构客户端首先访问某个实例,让后再通过集群管理软件访问到数据库的数据;节点之间使用内部连接进行通讯。了解体系结构使用缓存融合(CacheFusion)技术技术对数据进行处理缓存融合(Cachefusion)工作原理:
1.其中一个节点会从共享数据库中读取一个block到dbcache中
2.这个节点会在所有的节点进行交叉dbblockcopy
3.当任何一个节点缓存被修改的时候,就会在节点之间进行缓存修改
4.为了达到存储的一致最终修改的结果也会写到磁盘上RAC提供的好处多节点负载均衡;提供高可用:故障容错和无缝切换功能,将硬件和软件错误造成的影响最小化。RAC提供的好处通过并行执行技术提高事务响应时间----通常用于数据分析系统;通过横向扩展提高每秒交易数和连接数;----通常对于联机事务系统;可扩展性好,可以方便添加删除节点,扩展硬件资源
OracleClusterware介绍OracleClusterware 是一个集群软件,使用它做集群的所有操作系统必须相同。使用OracleClusterware将多个装有相同操作系统的服务器捆绑到一起,当对这些集群的服务器进行访问时,就像访问一台服务器一样。OracleClusterware要求两个集群组件:(1)votingdisk(表决磁盘):用于记录集群节点的信息。RAC用它来确定哪些实例是集群实例。当网络发生故障时,还要用它存储的信息进行健康检查(例如检查成员服务器是否可用)和仲裁。表决磁盘必须存放在共享磁盘上。(2)OracleClusterRegistry(OCR,集群注册),用于记录集群配置信息。集群注册也必须存放在共享磁盘上。OracleClusterware组件进程OracleClusterware进程
crsd:负责管理集群的高可用操作。管理的crs资源包括数据库、实例、监听、虚拟IP,ons,gds或者其他,操作包括启动、关闭、监控及故障切换。改进程由root用户管理和启动。crsd如果有故障会导致系统重启。cssd,管理各节点的关系,用于节点间通信,节点在加入或离开集群时通知集群。该进程由oracle用户运行管理。发生故障时cssd也会自动重启系统。oprocd–集群进程管理—Processmonitorforthecluster.用于保护共享数据IOfencing(IO隔离)。iofencing用来防止脑裂(splitbrain)的。在心跳网卡全部中断通讯的时候,各个节点由于失去了联系,会抢夺资源,这时候谁最先fencingdisk霸占住,谁就是主用,抢不到的还是备用。
仅在没有使用vendor的集群软件状态下运行evmd:事件检测进程,由oracle用户运行管理Oracle集群存储选项需要存储的基本软件和数据Oracle集群存储选项各部分支持的存储系统OracleRAC安装操作系统环境准备(程序包、内核参数、用户等)安装CRS安装oracle软件打补丁创建数据库OracleRAC功能测试(failover、loadbalance)详细安装步骤可参看在各操作系统相关的安装文档OracleRAC负载均衡功能参数配置tnsnames.ora参数配置
ZHUMORCL=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=vip1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=vip2)(PORT=1521))(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ZHUMORCL)(failover_mode=(type=session)(method=basic)(delay=5))))在sql下运行以下语句:SQL>ALT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中图版八年级科学上册阶段测试试卷含答案
- 2025年新世纪版九年级地理下册月考试卷含答案
- 2025年人教版必修3地理下册阶段测试试卷含答案
- 2025年冀教版七年级地理下册月考试卷含答案
- 花店装修合同管理费
- 亲子乐园装修合同终止
- 2025至2030年中国弹簧钢带数据监测研究报告
- 高二地理在线学习计划
- 职业发展学习小组管理与技术方案
- 2024-2025学年小学德育主题教育计划
- 深圳2024-2025学年度四年级第一学期期末数学试题
- 中考语文复习说话要得体
- 《工商业储能柜技术规范》
- 华中师范大学教育技术学硕士研究生培养方案
- 医院医学伦理委员会章程
- xx单位政务云商用密码应用方案V2.0
- 风浪流耦合作用下锚泊式海上试验平台的水动力特性试验
- 高考英语语法专练定语从句含答案
- 有机农业种植技术操作手册
- 【教案】Unit+5+Fun+Clubs+大单元整体教学设计人教版(2024)七年级英语上册
- 2020年的中国海外工程示范营地申报材料及评分标准
评论
0/150
提交评论