
oracle 体系基础部分
woqiang68
这个作者很懒,什么都没留下…
展开
-
oracle中手动删除数据库
原来在笔记本上安装了三个数据库,后来随着数据的增多,导致速度异常的慢,无奈之下,删除了两个。图形化删除不再说。说说手动删除数据库的命令。首先,shutdown 一下 。然后,conn / as sysdba 登录 。startup mount 修改模式,alter system enable restricted session //保证只有sysdba可登录。drop data原创 2013-03-29 16:56:08 · 772 阅读 · 0 评论 -
oracle体系基础部分之跟踪文件
oracle中的跟踪文件是oracle内部开发人员特意给我们能让我们能够通过这些信息来对数据库性能进行完善和提高,也就是说跟踪文件中记录了服务进程和后台进程中调试信息写入到跟踪文件里。进程错误信息也记录进去,这样DBA就可以根据跟踪文件来找出是哪个进行的错误。跟踪文件分为两部分:一是我们想要跟踪的文件,通过BDMS_MONITOR包中的SESSION_TRACE_ENABLE来启动转载 2013-03-28 21:23:18 · 770 阅读 · 0 评论 -
oralce中init.ora配置详细信息
本文出自 “seven” 博客,地址:http://liuyu.blog.51cto.com/183345/256002db_name = "51cto" 一个数据库标识符,应与CREATE DATABASE 语句中指定的名称相对应。instance_name = 51cto在多个例程使用相同服务名的情况下,用来唯一地标识一个数据库例程。INSTANCE_NAM转载 2013-03-30 11:34:37 · 954 阅读 · 0 评论 -
oralce软件系统下的目录文件夹属性解析
ORACLE BASE:oracle软件安装的最上层。例:/oracleORACLE HOME:安装特定oracle产品的目录,必须为oracle base 的子目录。例:ORACLE_BASE/product/10.2.0/db_1,在oracle universal install安装软件的时候不能指定一个存在的目录作为oracle_home 文件夹.若安装第二次或第三次,原创 2013-04-15 22:29:13 · 798 阅读 · 0 评论 -
关于oracle中的高水位线问题
文章源自:http://www.cnblogs.com/linjiqin/archive/2012/01/15/2323030.html一、oracle 高水位线详解一、什么是水线(High Water Mark)?所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个上限称为"high wat转载 2013-05-02 21:27:34 · 890 阅读 · 0 评论 -
oralce中的undo表空间知识点汇总
一.还原表空间论述还原表空间是oracle9i刚刚引入的,用来自动的管理还原(回滚)数据,还原表空间不能包含任何其他的对象,在还原表空间里,extent的管理是local。1.创建一个基本的undo 表空间create undo tablespace jinlianundo datafile '/testA/jinlianundo01.dbf' size 20m2.删除undo原创 2013-05-16 23:28:37 · 1420 阅读 · 0 评论 -
alter database datafile offline drop 与 alter tablespace drop datafile 区别
文章转载出处:http://blog.youkuaiyun.com/tianlesoftware/article/details/63056001. alter database datafile 'file_name' offline drop 该命令不会删除数据文件,只是将数据文件的状态更改为recover。 offline drop命令相当于把一个数据文件至于离线状态,并且需要恢复,转载 2013-05-03 18:34:46 · 1049 阅读 · 0 评论 -
oracle数据库归档模式浅析
1.先查看数据库是否处于归档模式SQL> select log_mode from v$database;LOG_MODE------------------------------------NOARCHIVELOG或者:SQL> archive log listDatabase log mode No Archive Mode原创 2013-05-19 22:05:47 · 881 阅读 · 0 评论 -
控制文件的添加,转移
在oracle数据库运行过程中,总会碰到控制文件损坏或版本不一致所造成的数据库启动失败问题。因此,对控制文件的一些基本操作必须掌握,以防出问题了再心生无望之感。首先,需要了解的是查询控制文件的路径:select name from v$controlfile;(1)控制文件出现版本不一致时,执行操作如下:假设出现的错误是control01.ctl与control03.ctl不一致。则原创 2013-03-29 13:20:55 · 774 阅读 · 0 评论 -
数据库启动关闭原理之:mount状态浅析
知识点参考 盖国强《深入浅出oracle-入门,进阶与诊断案例》1. 启动nomount 状态以后,oracle可以从参数文件中获得控制文件的位置信息,数据库中一般缺省为3个控制文件,控制文件的内容是一样的;SQL> startup nomountORACLE instancestarted. Total SystemGlobal Area 167772160 byt原创 2013-06-08 22:46:07 · 2213 阅读 · 0 评论 -
数据库启动关闭原理之一:nomount状态浅析
知识点参考:盖国强:《由浅入深oracle-DBA入门,进阶和诊断案例》概念解释:(Instance)实例:指一组后台进程(linux)/线程(windows)和一块(shared pool)共享内存区域.数据库启动过程:(1) 启动数据库到nomount状态;(2) 启动数据库到mount状态;(3) 启动数据库到open状态一:nomount状态:启动数据原创 2013-06-07 18:32:24 · 1825 阅读 · 0 评论 -
oracle执行sql查询语句的步骤
首先,编译:编译时,服务器进程会将sql语句的正文放入共享池的库高速缓存中:》在共享池中搜索是否有相同的sql语句,若没有进行后面的操作》检查sql语法是否正确》通过数据字典检查表和列的定义》对操作的对象添加编译锁以便在编译期间这些对象的定义不能被改变》检查所引用对象的用户权限》生成执行计划》将sql语句和执行计划装入共享的sql区编译完成后,执行,执行完毕原创 2013-07-07 14:02:52 · 897 阅读 · 0 评论 -
oracle实例
oracle 实例有内存和后台进程组成。内存结构又叫做SGA(系统全局区),其中SGA中包括(共享池,数据库高速缓冲区,重做日志缓冲区和其它的一些结构)。后台进程有五个必须的,就是指5个后台进程中的任何一个没有启动,实例都将自动关闭。这五个后台进程分别是SMON进程,PMON进程,DBWR进程,LGWR进程,和CKPT进程。一个实例只能操作一个数据库,但是一个数据库可以被多个实例所操作原创 2013-07-07 13:45:35 · 568 阅读 · 0 评论 -
shared pool 共享池
SGA中的shared pool是由库高速缓存(library cache)和数据字典高速缓存(data dictionary cache)两部分组成。服务器进程将sql编译后的代码和执行计划都放在共享池中的库高速缓存区中,库高速缓存区中又包括sql区和pl/sql区。oracle是怎么管理库高速缓存的呢?oracle使用一个LRU算法来实现对库高速缓存的管理。当一个服务器进程需要原创 2013-07-07 14:52:11 · 872 阅读 · 0 评论 -
ARCH进程
在oracle数据库中,重做日志文件分为若干个组,当一组重做日志文件被写满后,oracle就开始写下一组重做日志,这被称为日志切换。当oracle数据库运行在非归档方式下,当遇到数据文件丢失或损坏时,oracle系统很难保证完全恢复数据库中的数据。因为此时所需的重做记录可能因重做日志循环使用而被覆盖掉了。 在归档模式下,ARCn进程把切换后的重做日志文件复制到归档日志文件。归档日原创 2013-07-09 13:05:30 · 1581 阅读 · 0 评论 -
获取内存缓冲区信息
select name,type,value from v$parameter where name='sga_max_size';或者show sga原创 2013-07-09 13:09:24 · 799 阅读 · 0 评论 -
PMON进程
当某个进程崩溃时,例如重启了pc,pmon进程将负责它的清理工作,pmon进程进行如下操作:*回滚用户当前的事务*释放用户所加的所有表一级和行一级的锁。*释放用户所有地其他资源等原创 2013-07-09 13:10:12 · 1555 阅读 · 0 评论 -
内存缓冲区顾问
内存缓冲区顾问(v$db_cache_advice)用来帮助调整数据库高速缓冲区的统计信息,内存缓冲区顾问有三种状态:(1)ON;工具打开,为该工具分配内存并进行统计信息的收集,要有一定的内存和cpu开销。(2)READY:该工具关闭。为该工具分配内存但不进行统计信息的收集,没有cpu开销(3)OFF:该工具关闭,不为该工具分配内存也不进行统计信息的收集,因此没有cpu的开销,也没有原创 2013-07-09 13:11:10 · 1159 阅读 · 0 评论 -
数据库高速缓冲区
当select * from emp;时,服务器进程首先在数据库高速缓冲区中搜索所需的数据。如果找到了就直接使用而不进行磁盘操作,如果没有找到,就进行磁盘操作把数据文件中的数据读入到数据库高速缓冲区中。 管理数据库高速缓存也是使用LRU算法,一般使用参数文件中的db_block_size和db_block_buffers两个参数来设置数据库高速缓存区的大小。其中db_block_si原创 2013-07-09 13:12:12 · 2267 阅读 · 0 评论 -
SMON进程
当oracle系统崩溃,导致SGA中没有来得及写到磁盘中的信息都将丢失,例如有些已经提交的数据还没有真正的被写到数据文件中时就会丢失。在这种情况下,当数据库重新开启时,系统监督进程将自动的执行Oracel实例的恢复工作。步骤:(1)执行前滚,将已经写到重做日志文件中但还没写到数据文件中的提交数据写到数据文件中。Oracle使用SCN号来识别提交记录的(2)在前滚完成后,立即打开数据库,此时原创 2013-07-09 13:13:05 · 1155 阅读 · 0 评论 -
重做日志缓冲区
设置重做日志缓冲区的目的就是为了在数据库崩溃的时候可以进行恢复数据库。当oracle进行dml或者ddl操作的时候,在写数据高速缓冲区之前,先写入重做日志缓冲区。oracle执行dml操作的时候,只有编译和执行,没有提取数据。例如,在进行update操作的时候:(1)如果数据或者回滚的数据不在数据库高速缓冲区中,oracle将从数据文件中读到数据库高速缓存区中。(2)oracl原创 2013-07-09 13:14:24 · 2949 阅读 · 0 评论 -
DBWR进程
数据库的典型操作就是进行大规模的输入/输出(I/O)。为了提高效率,减少I/O量,引入了LGWR进程,为了减少I/O次数,引入了DBWR进程。一般一个实例有多个DBWR进程,Oracle允许在一个实例上最多启动10个数据库写进程分别为DBW0-DBW9.DBWR进程负责将数据库高速缓冲区中的脏缓冲区中的数据写到数据文件中,为了提高效率,数据库写进程并不是数据库高速缓冲区中的数据一有变化原创 2013-07-09 13:06:31 · 1728 阅读 · 0 评论 -
java池和大池
SGA中除了包含有共享池,数据库高速缓存区,重做日志缓存区,还可能包含有大池和java池。引入大池的目的是为了提高效率。大池是没有LRU队列的。一般在大规模的I/O及备份和恢复操作时可能使用该区。设置大池的值可以使用large_pool_size.是个动态参数。 而之所以引入java pool是为了可以编译java语言的命令。一般通过参数java_pool_size的值来配置jav原创 2013-07-09 13:08:21 · 757 阅读 · 0 评论 -
oracle参数文件
Oracle数据库中的参数文件有两种类型:(1)显式:在初始化参数文件中有一个参数项(2)隐式:在初始化参数文件中没有参数项,但使用Oracle的默认值Oracle中有两个不同类型的初始化参数文件:静态参数文件:是一个正文文件,一般文件名为initSID.ora动态参数文件:是一个二进制文件,一般为spfileSID.ora初始化参数文件中包括:*实例名,数据库名*原创 2013-07-09 13:15:13 · 653 阅读 · 0 评论 -
oracle启动数据库和关闭数据库的几种方式
启动数据库的方式:startup nomount 不加载控制文件和数据文件和日志文件startup mount 加载控制文件,不加载数据文件和控制文件startup restrict:只有sysdba权限才可以登录alter system enable restricted session;select username,sid,serial# from v$session原创 2013-07-09 13:16:10 · 828 阅读 · 0 评论 -
使用诊断文件监督事例
oracle数据库中有三种类型的诊断文件:报警文件(alert_SID.log),路径在background_dump_dest参数所定义的目录下show parameter background_dump_dest或者select name,value from v$parameter where name like '%_dest'后台进程跟踪文件(background t原创 2013-07-09 13:17:11 · 672 阅读 · 0 评论 -
使用数据字典的实例
1.查看Oracle数据库的名称,创建日期。SQL> select name,created,log_mode,open_mode from v$database;NAME CREATED LOG_MODE OPEN_MODE--------- -------------- ------------ ----------LAW 24-05原创 2013-07-09 13:19:42 · 7642 阅读 · 0 评论 -
数据字典的操作和使用
数据字典是由Oracle服务器通过访问基表来获得诸如用户,用户对象和存储结构等方面的信息并利用这些信息进行所需的数据库的管理和维护。通常只有Oracle服务器可以修改数据字典中的数据。在Oracle数据库运行期间,如果数据库的结构发生了变化,Oracle服务器就及时的修改相应的数据字典以记录这种变化。 那么,哪些sql语句可以引起Oracle服务器修改数据字典呢? 首先是DDL原创 2013-07-09 13:20:41 · 1693 阅读 · 0 评论 -
oracle数据字典的介绍
数据字典是由Oracle服务器创建和维护的一组只读的系统表(与审计有关的数据字典(以AUD$开头的表)除外,这些表是可以修改的)。数据字典分为两类:一种是基表,另一种是数据字典视图。Oracle服务器在数据库创建时运行sql.bsq自动的生成这些基表。在任何数据库中基表永远是被最先创建的对象。考虑到系统效率,Oracle服务器以最简捷(最快)的方式来操作数据字典的基表,所以,数据字典的原创 2013-07-09 13:21:29 · 824 阅读 · 0 评论 -
oracle数据字典视图
数据字典视图分为三大类.它们用前缀来区别,分别为:USER,ALL,DBA.许多数据字典视图包含相似的信息。USER_*:有关用户所拥有的对象的信息,即用户自己创建的对象的信息。ALL_*:有关用户可以访问的对象的信息,即用户自己创建的对象的信息再加上其他用户创建的对象但该用户有权访问的信息。DBA_*:有关整个数据库中对象的信息。这里的*可以是TABLES,INDEXES,O原创 2013-07-09 13:22:21 · 780 阅读 · 0 评论 -
LGWR进程
LGWR进程负责将重做日志缓冲区的记录顺序的写到重做日志文件中。oracle通过一种快速提交的技术,来保证数据的恢复和系统的效率。当一个事务被提交的时候,oracle会产生一个scn,并将其赋予该事务的所有数据行。在同一个数据库中scn是单调递增并且是唯一的。当commit之后,oracle内部发生:(1)服务器进程把提交的记录和产生的scn一起写入重做日志缓冲区中(2)lgw原创 2013-07-09 13:07:25 · 1900 阅读 · 0 评论 -
校验点和校验点进程
oracle为了提高系统的效率和数据库的一致性,引入了一个称为校验点的事件。该事件在当DBWR进程把在SGA中所有所有改变了得数据库高速缓冲区中的数据(包括提交的和没提交的)写到数据文件上时产生。从理论上,校验点和校验点进程没必要存在。因为oracle系统通过重做日志数据和SCN号是能够保证数据库的完全恢复的,引入校验点是为了提高系统的效率。因为所有到校验点为止的变化了的数据已经写到了原创 2013-07-09 13:13:48 · 1088 阅读 · 0 评论 -
oracle数据字典中的动态性能视图
动态性能视图是一组虚表.在Oracle数据库运行期间,这些虚表存在于内存中。在整个数据库运行期间,Oracle数据库运行期间,这些虚表存在于内存中,在整个数据库运行期间,Oracle服务器将当前数据库的活动记录在这组虚表中。因此这些动态性能视图中的信息(这些信息来自内存和控制文件)实时的反映了数据库运行的状态。sys用户拥有的所有的动态性能视图。它们的名字都是以v$开头。 一般,原创 2013-07-09 13:18:36 · 832 阅读 · 0 评论 -
oracle查看控制文件的配置情况
1.获取控制文件中全部记录的相关信息select type,record_size,records_total,records_used from v$controlfile_record_section;TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED------------------------原创 2013-07-10 13:40:47 · 2326 阅读 · 0 评论 -
怎样添加删除控制文件
如果oracle数据库使用pfile参数文件,添加控制文件步骤:(1)利用数据字典v$controlfile来获取现有控制文件的名字(2)正常关闭数据库(3)把新的控制文件名添加到参数文件的CONTROL_FILES参数中(4)使用操作系统的复制命令将现有控制文件复制到指定位置。(5)重新启动数据库(6)利用数据字典v$controlfile来验证新的控制文件的名字是否正确原创 2013-07-10 13:48:50 · 1547 阅读 · 1 评论 -
oracle中获取重做日志信息
获取重做日志信息的数据字典有两个:v$log,v$logfile。使用这两个数据字典需要使用sysdba登录。1.获取日志文件组,每个组多少成员,以及打下和状态SQL> select group#,sequence#,members,bytes/1024/1024 MB,status,archived from v$log; GROUP# SEQUENCE# MEMB原创 2013-07-10 13:49:56 · 786 阅读 · 0 评论 -
oracle中的日志切换和检查点
当一组联机重做日志写满时,LGWR进程将开始写下一组日志文件。这被称为日志切换。此时,会产生检查(校验)点操作,还有一些信息被写到控制文件中。除了在重做日志自动切换和自动产生的检查点之外,Oracle数据库dba还可能根据管理和维护的需要,在任何时候强制性的进行重做日志切换,也可以强制性的产生校验点。强制性产生重做日志文件切换的命令为:SQL> alter system switch原创 2013-07-10 13:51:58 · 5722 阅读 · 0 评论 -
了解oracle中的重做日志成员
在每个重做日志组中的每个数据文件就称为成员。一般来说,每个组中的成员至少两个,分别放在不同的磁盘上,以防止磁盘损坏造成文件不能使用。如果Oracle服务器当前组中有一个成员坏了,Oracle继续使用该组中其他没有问题的成员并将相关的错误信息写入报警文件中。只有当该组中所有的成员都坏时,Orace才会关闭系统,如果日志组不是Oracle服务器当前正在操作的组,即使该组中所有的成员都坏原创 2013-07-10 13:55:08 · 810 阅读 · 0 评论 -
了解重做日志组
LGWR进程在任意时刻只能写一组日志组,LGWR进程正在写的组称作current。LGWR进程将完全相同的信息从重做日志缓冲区复制到该组的每个重做日志文件中。它是以循环的方式写重做日志组的。当LGWR写满了最后一组重做日志时,LGWR开始写第一组重做日志。 为了解决日志文件信息被覆盖的问题,引入了归档结构。当Oracle数据库运行在归档方式下(Oracle默认模式是非归档方式原创 2013-07-10 13:56:11 · 669 阅读 · 0 评论 -
oracle控制文件中存储的信息
(1)数据库的名字(2)数据库标识符(3)数据库创建的时间戳(4)联机重做日志的名字和准确位置。(5)当前日志的序列号(6)校验点信息(7)日志的历史信息(8)归档日志文件的位置和状态(9)数据文件的名字和准确位置(10)表空间的信息(11)备份的准确位置和状态.原创 2013-07-10 13:43:44 · 712 阅读 · 0 评论