当前位置:文档之家› 实验五 重做日志文件、表空间管理操作

实验五 重做日志文件、表空间管理操作

实验五 重做日志文件、表空间管理操作
实验五 重做日志文件、表空间管理操作

基础概念:Oracle数据库、实例、用户、表空间、表之间的关系

基础概念:Oracle数据库、实例、用户、表空间、表之间的关系 数据库: Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle就只有一个大数据库。 实例: 一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有n个实例。 用户: 用户是在实例下建立的。不同实例可以建相同名字的用户。 表空间: 表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。 数据文件(dbf、ora): 数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。 注: 表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。由于oracle的数据库不是普通的概念,oracle是有用户和表空间对数据进行管理和存放的。但是表不是有表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了! 关系示意图:

3-实验三-表空间及数据文件管理

实验三表空间及数据库文件管理 实验报告 姓名:班级:学号: 一、实验目的 1)理解Oracle数据库的体系结构 2)掌握表空间的概念及其管理方法 3)掌握数据文件的作用及其管理 4)掌握控制文件的作用及其管理 5)掌握重做日志文件的工作方式及其管理 6)掌握数据库归档模式设置及归档管理 二、预习内容(参考教材第5章、第6章的内容) 1)什么是Oracle数据库的物理结构,具体包括哪几类文件? 2)什么是Oracle数据库的逻辑结构,如何表现? 3)数据库、表空间、数据文件、数据库对象之间的关系如何? 三、实验环境 32位Windows XP/Windows Server2000/Windows Server2003 +Oracle10g环境 四、实验内容 1)在SQL*PLUS环境下,使用SQL命令创建一个本地管理方式下自动分区管理的表空间USERTBS1,其对应的数据文件为usertbs1_1.DBF,大小为20MB。 2)使用SQL命令创建一个本地管理方式下自动分区管理的表空间USERTBS2,要求每个分区大小为512KB。 3)修改USERTBS1表空间的大小为30MB,将其数据文件改为自动扩展方式,每次扩展5MB,最大值为100MB。 4)使用SQL命令创建一个本地管理方式下的临时表空间TEMPTBS,并将该表空间作为当前数据库实例的默认临时表空间。 5)使用SQL命令对USERTBS1表空间进行联机和脱机状态转换。 6)创建一个回滚表空间UNDOTBS,并作为数据库的撤销表空间。 7)删除表空间USERTBS2,同时删除该表空间的内容以及对应的操作系统文件。 8)为USERS表空间添加一个数据文件users03.DBF,大小为50MB。 9)为EXAMPLE表空间添加一个数据文件,文件名为example02.dbf,大小为20M。 10)将表空间USERS中的数据文件users03.DBF更名为userdata03.dbf,将表空间EXAMPLE中的数据文件example02.dbf更名为example03.dbf。 11)修改USER表空间的userdata03为自动扩展方式,每次扩展5MB,最大为100MB。 12)查询当前数据库中所有表空间及其对应的数据文件信息。 13)将数据库的控制文件以二进制文件的形式备份。 14)为数据库ORCL添加一个重做日志文件组,组内包含两个成员文件,分别为redo4a.log和redo4b.log,大小分别为5MB。 15)为新建的重做日志文件组添加一个成员完文件,名称为redo4c.log。 16)将数据库设置为归档模式,并采用自动归档方式。 17)设置数据库归档路径为D:\ORACLE\BACKUP。

oracle表空间管理

实验一数据文件和表空间的管理 【开发语言及实现平台或实验环境】 Oracle10g 【实验目的】 (1)熟悉ORACLE的环境,学习使用SQL*Plus与ORACLE进行交互;(2)掌握连接数据库以及断开连接的方法; (3)掌握数据文件和控制文件的管理基本命令 (4)掌握表空间管理的基本命令 【实验原理】 1.SQL*Plus命令

2.数据文件的管理 (1)创建数据文件 数据文件依附于表空间而存在,创建数据文件就是向表空间添加文件 在创建数据文件时应该根据文件数据量的大小确定文件的大小以及文件的增长方式。 语法: ALTER TABLESPACE…ADD DA TAFILE ALTER TABLESPACE…ADD TEMPFILE 例:向ORCL数据库的USERS表空间中添加一个大小为10 MB的数据文件。 ALTER TABLESPACE USERS ADD DA TAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADA TA\ORCL\USERS02.DBF' SIZE 10M; (2)修改数据文件大小 创建后修改数据文件为自动增长: AUTOEXTEND ON NEXT …MAXSIZE…|UNLIMITED 手工改变数据文件的大小 ALTER DA TABASE DA TAFILE…RESIZE… 例:为ORCL数据库的USERS表空间添加一个自动增长的数据文件。 ALTER TABLESPACE USERS ADD DA TAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADA TA\ORCL\USERS03.DBF' SIZE 10M AUTOEXTEND ON NEXT 512K MAXSIZE 50M; 例:修改ORCL数据库USERS表空间的数据文件USERS02.DBF为自动增长方式。ALTER DA TABASE DA TAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADA TA\ORCL\USERS02.DBF ' AUTOEXTEND ON NEXT 512K MAXSIZE UNLIMITED; 例:取消ORCL数据库USERS表空间的数据文件USERS02.DBF的自动增长方式。ALTER DA TABASE DA TAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADA TA\ORCL\USERS02.DBF ' AUTOEXTEND OFF; 例:将ORCL数据库USERS表空间的数据文件USERS02.DBF大小设置为8 MB 。ALTER DA TABASE DA TAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADA TA\ORCL\USERS02.DBF' RESIZE 8M; (3)删除数据文件 删除某个表空间中的某个空数据文件 ALTER TABLESPACE…DROP DA TAFILE 例:删除USERS表空间中的数据文件USERS003.DBF。 ALTER TABLESPACE USERS DROP DA TAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADA TA\ORCL\USERS003.DBF'; 3.表空间的管理

NC数据源配置和数据库表空间的配置

NC数据源配置和数据库表空间的配置 NC61数据源配置和数据 发现童鞋们在安装NC61的时候遇到的问题非常多,尤其是建立多个帐套的时候更是问题多多。 我总结了一下,问题的症结就在于对数据库的表空间、用户、UAP配置等关系没有理清楚。 如果这篇文章帮助你解决了问题,希望你能把你出现问题的截图发上来,并告诉大家用这个方法可以解决。 写了一个下午,看完好歹给个回复。 -------------------------------------------------------------------------------- 问题症状往往表现为: 1.数据源配置的时候测试通不过; 2.数据源配置的时候测试能通过,但在建库的时候通不过,比如到10%的时候

弹出错误“物理布局错误”,到30%的时候弹出错误“表或视图不存在”等等。 3.按照下面的方法,UAP配置测试通不过,出现ORA-12519错误的时候,可以尝试先关闭中间件,再测试。 小伙伴们,如果你遇到类似的问题,建议你继续往下看,一定要看到最后哟。 -------------------------------------------------------------------------------- 授人以鱼不如授人以渔 首先告诉大家一个小秘密,相信很多童鞋都还不知道呢。 在NC61安装盘的根目录下,有三个文档,你们都看过么? 还有其他的那些文件,你们都知道是干什么用的么?

既然是放到安装盘里的内容,肯定是有用的吧。 在NC61安装盘的DOC目录下,有很多的帮助文档,你们都看过了么? 还记得配置数据库的时候我们用了几段代码么? 其实就是《NC6.1数据库参考脚本及临时表要求.pdf》这篇文档里的,自己去找找看。 看完上面这些东东,小伙伴们都惊呆了!有木有! 哦。。。原来解决方案远在天边,近在眼前呢! 下次再遇到问题你还会直接就去问别人么? 也希望大家有什么好的方法都共享出来哦! 其实我还有别的小秘密,下次告诉大家吧。 下面进入正题了,本着知其然并知其所以然的精神,我重点讲讲我的理解和方法。 --------------------------------------------------------------------------------

oracle 数据文件、表空间、日志文件、控制文件数据库管理

实验四 oracle 数据库管理 一、试验目的 掌握对数据文件、表空间、日志文件、控制文件的常用命令,作为DBA的必要准备。 二、实验内容 2.1 数据文件的管理 (1)在安装完毕之后,在INITsid.ORA参数文件有一个DB_FILES 参数,用于设置当前实例的数据外文件的个数。如: db_files = 80 如果在INITsid.ORA文件没有该参数,则可以用下面查询语句从视图中查到。如: SQL> col name for a20 SQL> col value for a50 SQL> set lin 100 SQL> select name,value from v$parameter where name = 'db_files'; NAME V ALUE -------------------- -------------------------------------------------- db_files 1024 (2)行命令建立表空间: 例1 CREATE TABLESPACE user_stu DA TAFILE 'h:/oracle/oradata/orcl/user_stu.dat' SIZE 20M DEFAULT STORAGE ( INITIAL 10K NEXT 50K MINEXTENTS 1 MAXEXTENTS 99 PCTINCREASE 10 ) ONLINE ; 例2:建立一个新的表空间,具有两个数据文件: CREATE TABLESPACE CRM_TAB DA TAFILE 'h:/oracle/oradata/orcl/crm01.dbf' size 10 MB,'h:/oracle/oradata/orcl/crm02.dbf' size 10 MB; (3)对一个已存在的表空间追加新数据文件: 例1 ALTER TABLESPACE user_stu Add datafile 'H:/oracle/oradata/orcl/user_stu01.dbf' size 30M; 例2 为表空间增加数据文件 ALTER TABLESPACE users ADD DATAFILE 'userora1.dbf ' SIZE 10M ; (4)数据文件更名 ALTER TABLESPACE users

Oracle表空间和数据文件的管理

第六章表空间和数据文件的管理 6.1 Oracle引入逻辑结构的目的 Oracle数据库管理系统并没有像不少其它数据库管理系统那样直接地操作数据文件,而是引入一组逻辑结构。如图6-1所示。 图6-1 图6-1的虚线左边为逻辑结构,右边为物理结构。与计算机原理或计算机操作系统中所讲的有些不同,在Oracle数据库中,逻辑结构为Oracle引入的结构,而物理结构为操作系统所拥有的结构。 曾有不少学生问过我同样的一个问题,那就是Oracle为什么要引入逻辑结构呢? 首先可能是为了增加Oracle的可移植性。Oracle公司声称它的Oracle数据库是与IT 平台无关的,即在某一厂家的某个操作系统上开发的Oracle数据库(包括应用程序等)可以几乎不加修改地移植到另一厂家的另外的操作系统上。要做到这一点就不能直接操作数据文件,因为数据文件是跟操作系统相关的。 其次可能是为了减少Oracle从业人员学习的难度。因为有了逻辑结构Oracle的从业人员就可以只对逻辑结构进行操作,而在所有的IT平台上逻辑结构的操作都几乎完全相同,至于从逻辑结构到物理结构的映射(转换)是由Oracle数据库管理系统来完成的。 6.2 Oracle数据库中存储结构之间的关系 其实图6-1类似于一个Oracle数据库的存储结构之间关系的实体-关系图。如果读者学过实体-关系模型(E-R模型)的话,从图6-1中可以很容易地得到Oracle数据库中存储结构之间的关系。为了帮助那些没有学过E-R模型的读者理解图6-1,也是为了帮助那些

学过但已经忘的差不多了的读者恢复一下记忆,在下面对E-R模型和图6-1给出一些简单的解释。 在图6-1中,园角型方框为实体,实线表示关系,单线表示一的关系,三条线(鹰爪)表示多的关系。于是可以得到: 每个数据库是由一个或多个表空间所组成(至少一个)。 每个表空间基于一个或多个操作系统的数据文件(至少一个)。 每个表空间中可以存放有零个或多个段(Segment)。 每个段是由一个或多个区段(Extent)所组成。 每个区段是由一个或多个连续的Oracle数据块所组成。 每个Oracle数据块是由一个或多个连续的操作系统数据块所组成。 每个操作系统数据文件是由一个或多个区段(Extent)所组成。 每个操作系统数据文件是由一个或多个操作系统数据块所组成。 有关段,区段,和Oracle数据块等我们在接下来的章节中要详细地介绍。 6.3 表空间和数据文件之间的关系及表空间的分类 通过前面的讨论可知:Oracle将数据逻辑地存放在表空间里,而物理地存放在数据文件里。表空间(Tablespaces)在任何一个时刻只能属于一个数据库,但是反过来并不成立,因为一个数据库一般都有多个表空间。每个表空间都是由一个或多个操作系统的数据文件所组成,但是一个操作系统的数据文件只能属于一个表空间。 表空间可以被进一步划分成一些更小的逻辑存储单位。在一个Oracle数据库中,每个数据文件(Data files)可以而且只能属于一个表空间和一个数据库。数据文件实际上是存储模式对象数据的一个容器/仓库。 在一个Oracle数据库中一般有两类表空间,他们是系统(SYSTEM)表空间和非系统(Non-SYSTEM)表空间。 系统(SYSTEM)表空间是与数据库一起建立的,在系统表空间中存有数据字典,在系统表空间中还包含了系统还原(回滚)段。虽然在系统表空间中可以存放用户数据,但考虑到Oracle系统的效率和管理上的方便,在系统表空间上不应该存放任何用户数据。非系统(Non-SYSTEM)表空间可以由数据库管理员创建,在非系统表空间中存储一些单独的段,这些段可以是用户的数据段,索引段,还原段,和临时段等。引入非系统表空间可以方便磁盘空间的管理,也可以更好地控制分配给用户磁盘空间的数量。引入非系统表空间还可以将静态数据和动态数据有效地分开,也可以按照备份的要求将数据分开存放。使用如下的命令创建一个非系统表空间:CREATE TABLESPACE表空间名 [DATAFILE子句] [MINIMUM EXTENT 正整数[K|M]] [BLOCKSIZE正整数[K]] [LOGGING|NOLOGGING] [DEFAULT 存储子句] [ONLINE|OFFLINE] [PERMANENT|TEMPORARY] [区段管理子句] [段管理子句] 在这里对以上命令中的一些子句和选项给出进一步的解释: 表空间名:所要创建的表空间名。

1如何判断数据库表空间使用情况

如何判断数据库表空间使用情况 经常会有一些同事反映数据库表空间不足,使用率达到90%以上,我远程后发现,其实表空间还有很大的可扩展空间,之所有查出使用率95%以上,是与数据文件的扩展属性与查询语句有关,本文档介绍如何查看表空间最大可扩展空间。 1,数据文件与表空间介绍 表空间是一个逻辑概念,数据文件是物理概念,数据文件是实实在在存在于磁盘上的文件。一个表空间可以1022个数据文件,公司项目中的一个数据文件如果开启了自动扩展属性,那最大可以扩展到32G。 2,查看数据文件信息 公司的绝大部分RAC环境是使用ASM方式管理数据文件的,可以通过数据文件名称直观的辨别数据文件是的存储方式,一般ASM磁盘名都是以加号"+"开头,例如"+DATA"、"+FRA"之类。如果是单机环境,那数据文件会存放在本地文件系统上,例如D盘或E盘的某个目录下,使用select * from dba_data_files;命令查看当前数据库的数据文件信息,如下图: 建议按tablespace_name排序,图中DLMIS表空间有12个数据文件,而且12个数据文件都开启的自动扩展属性(AUTOEXTENSIBLE=YES),都存储在+DATA 磁盘组上,最大可扩展到12*32G=384G。目前DLMIS表空间有4个文件扩展到了32G(图中红框标示)。另外8个数据文件还有很大的可扩展空间,目测估计还有约130G左右的可扩展空间,所以DLMIS表空间当前是足够的。其他表空间也是这样查看。 3,增加数据文件 如果某个表空间的所有数据文件都快扩展到了32G,那就需要手动增加数据文件,以DLMIS表空间为例,向DLMIS表空间增加一个数据文件:

实验四 表空间及数据文件管理

实验四表空间及数据库文件管理 1)在SQL*PLUS环境下,使用SQL命令创建一个本地管理方式下自动分区管理的表空间USERTBS1,其对应的数据文件为usertbs1_1.DBF,大小为20MB。 2)使用SQL命令创建一个本地管理方式下自动分区管理的表空间USERTBS2,要求每个分区大小为512KB。 3)修改USERTBS1表空间的大小为30MB,将其数据文件改为自动扩展方式,每次扩展5MB,最大值为100MB。 4)为USERS表空间添加一个数据文件usere03.DBF,大小为50MB。 5)使用SQL命令创建一个本地管理方式下的临时表空间TEMPTBS,并将该表空间

作为当前数据库实例的默认临时表空间。 6)使用SQL命令对USERTBS1表空间进行联机和脱机状态转换。 7)创建一个回滚表空间UNDOTBS,并作为数据库的撤销表空间。 8)删除表空间USERTBS2,同时删除该表空间的内容以及对应的操作系统文件。

9)将表空间USERS中的数据文件usere03.DBF更名为userdata03.dbf,将表空间EXAMPLE中的数据文件example02.dbf更名为example03.dbf。 10)查询当前数据库中所有表空间及其对应的数据文件信息。

11)将数据库的控制文件以二进制文件的形式备份。

12)为数据库ORCL添加一个重做日志文件组,组内包含两个成员文件,分别为redo4a.log和redo4b.log,大小分别为5MB。 13)为新建的重做日志文件组添加一个成员完文件,名称为redo4c.log。 14)将数据库设置为归档模式,并采用自动归档方式。 15)设置数据库归档路径为D:\ORACLE\BACKUP。 一、实验步骤 参考PPT内容。 二、思考题 1)Oracle 归档模式与非归档模式有什么区别? 七、实验总结 写出本次实验的收获、不足和改进。

oracle10g数据库的表空间查看和修改

oracle数据库表空间大小的查看、修改 1、通过oracle客户端连接到oracle数据库 a)安装好oracle客户端后,通过net manager工具配置本地net服务名, 依次点击开始,程序,Oracle - OraClient10g_home1,配置和移植工具,Net Manager。 b)进入Net Manager配置窗口。

c)依次点击本地,服务命名。 d)可以看到左侧的号变成绿色,此时可以点击该,弹出net服务名的 配置窗口

e)这里的网络服务名是指的oracle客户端所在机器的本地服务名,随便设 置个名字,例如sbzw,点击下一步。 f)默认设置,点击下一步。 g)在主机名后的输入框中输入oracle数据库所在的服务器的ip地址,例 如:192.168.1.236.,点击下一步。

h)在服务名后的输入框中输入oracle数据库的全局服务名,例如tjsb, 点击下一步。 i)此处不要点击完成,先点击测试查看连接是否正常。

j)在连接测试窗口中显示的应该是测试没有成功,此时请点击更改登录。 k)修改了用户名和密码后,点击确定,然后再次点击“测试”,提示连接成功后,关闭连接测试窗口,点击完成,至此本地net服务名配置完成。 2、通过oracle客户端的企业管理器修改数据库的表空间大小

a)依次点击开始,程序,Oracle - OraClient10g_home1,Enterprise Manager Console(企业管理器)。 b)进入了oracle的企业管理器 c)依次点击数据库,sbzw,弹出登录窗口,

查看表空间数据文件

查看那些表空间满 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100, 2), '990.99') "使用比", F.TOTAL_BYTES "空闲空间(M)", F.MAX_BYTES "最大块(M)" FROM (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES, ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES FROM SYS.DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F, (SELECT DD.TABLESPACE_NAME, ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB FROM SYS.DBA_DATA_FILES DD GROUP BY DD.TABLESPACE_NAME) D WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME; 2.查出该表空间中的数据文件位置 select FILE_NAME,TABLESPACE_NAME from dba_data_files WHERE TABLESPACE_NAME L IKE '**' order by TABLESPACE_NAME; 3.添加数据文件: alter tablespace ****** add datafile '' size 20480m;

oracle 数据文件、表空间、日志文件、控制文件数据库管理

实验四oracle 数据库管理 一、试验目的 掌握对数据文件、表空间、日志文件、控制文件的常用命令,作为DBA的必要准备。 二、实验容 2.1 数据文件的管理 (1)在安装完毕之后,在INITsid.ORA参数文件有一个DB_FILES 参数,用于设置当前实例的数据外文件的个数。如: db_files = 80 如果在INITsid.ORA文件没有该参数,则可以用下面查询语句从视图中查到。如: SQL> col name for a20 SQL> col value for a50 SQL> set lin 100 SQL> select name,value from v$parameter where name = 'db_files'; NAME VALUE -------------------- -------------------------------------------------- db_files 1024 (2)行命令建立表空间: 例1 CREATE TABLESPACE user_stu DATAFILE 'h:/oracle/oradata/orcl/user_stu.dat' SIZE 20M DEFAULT STORAGE ( INITIAL 10K NEXT 50K MINEXTENTS 1 MAXEXTENTS 99 PCTINCREASE 10 ) ONLINE ; 例2:建立一个新的表空间,具有两个数据文件: CREATE TABLESPACE CRM_TAB DATAFILE 'h:/oracle/oradata/orcl/crm01.dbf' size 10 MB,'h:/oracle/oradata/orcl/crm02.dbf' size 10 MB; (3)对一个已存在的表空间追加新数据文件: 例1 ALTER TABLESPACE user_stu Add datafile 'H:/oracle/oradata/orcl/user_stu01.dbf' size 30M; 例2 为表空间增加数据文件 ALTER TABLESPACE users ADD DATAFILE 'userora1.dbf ' SIZE 10M ; (4)数据文件更名

简述表空间和数据文件之间的关系

1、简述表空间和数据文件之间的关系。 2、概述Oracle数据库体系的物理结构。 3、简要介绍表空间、段、区和数据块之间的关系。 4、简述Oracle实例系统中各后台进程的作用。 5、简述Oracle初始化参数文件。 6、简述启动数据库时的状态。 7、简述数据库的各种关闭方式。 8、Oracle实例和数据库的概念和关系是什么? 9、SGA的各个组成部分的名称和作用,PGA与它有什么区别? 10、简述行迁移、行链接的产生原因? 14、truncate操作与delete操作的区别? 15、B-Tree与Bitmap索引的比较? 16、解释冷备份和热备份的不同点以及各自的优点 18、还原段的作用是什么 19、影响oracle数据库性能的因素都有哪些? 20、ORACLE数据库有哪几种标准备份方式? 21、对raid1+0 和raid5有何认识? 22、rman是什么? 23、oracle系统后台进程的作用? 24、某数据运行在archivelog,且用rman作过全备份和数据库的冷备份,且所有的归档日志都有,现非system表空间的数据文件损坏,其他文件全部完好,请问该怎么恢复该数据库。

参考答案: 1.简述表空间和数据文件之间的关系。 答:每一个数据文件都必须隶属于某个表空间,但一个表空间可以由多个数据文件组合而成。tablespace是逻辑上的概念,datafile则在物理上储存了数据库的种种对象。 2.概述Oracle数据库体系的物理结构。 答:Oracle数据库体系的物理结构是指数据库上实际的、可以从操作系统看到的文件,可以利用操作系统指令进行管理作业,物理存储结构组成文件如下所列:数据文件(Data File):实际存储数据的地方;在线重做日志文件(Online Redo Log File):记录曾经发生过的动作,当数据库受损时,可利用在线重做日志文件进行必要的恢复动作;控制文件(Control File):记录数据库必要的信息,以验证及维护数据库的完整性的信息;初始化参数文件(Parameter File):当数据库开启时,用来架构出Oracle内存结构的文件;密码文件(Password File):验证哪些帐号能开启、关闭Oracle数据库。 答:Oracle的逻辑存储单元从小到大依次为: 数据块、区、段和表空间。它们之间的关系如 右图所示。表空间又由许多段组成,段由多个 区组成,区又由多个数据块组成。 4.简述Oracle实例系统中各后台进程的作用。 答:(1)DBWRn(Database Writer)的主要工作是将数据 缓冲区中被改过的数据写回到数据文件里。 (2)LGWR(Log Writer)主要的工作是将Redo Log Buffer 里的记录写到在线重做日志文件中。 (3)SMON(System Monitor)有两个主要的功能。 <1>执行Instance Recovery:当数据库不正常中断后再度 开启时,SMON会自动执行Instance Recovery,也 就是会将在线重做日志里面的数据回写到数据文件里面。 <2>收集空间:将表空间内相邻的空间进行合并的动作。 (4)PMON(Process Monitor):监视数据库的用户进程。若用户的进程不当而被中断,PMON会负责清理任何遗留下来的资源,并释放失效的进程所保留的锁,然后从Process List中移除,以终止Process ID。 (5)CKPT(Checkpoint)主要负责更新数据库的最新状态,CKPT当Checkpoint完成时,会更新控制文件和数据库文件的文件头。 (6)ARCn(Archiver).当Oracle数据库设定为ARCHIVELOG Mode时,ARCn 会在Log Switch时自动将Redo Log File复制一份到指定的目录下称为归档日志文件(Archivedredologs)。 5.简述Oracle初始化参数文件。 答:Oracle在启动实例时将读取本地的一个文本文件,并利用从中获取的初始化参数对实例和数据库进行设置,这个文本文件称为初始化参数文件(简称PFILE)。 6.简述启动数据库时的状态。 答:开启数据库分成4种状态。 (1)SHUTDOWN状态:数据库是关闭的。 (2)NOMOUNT状态:Instance被开启的状态,会去读取初始化参数文件。 (3)MOUNT状态:会去读取控制文件。数据库被装载。 (4)OPEN状态:读取数据文件、在线重做日志文件等,数据库开启。

表空间创建与删除完整步骤

Oracle 10g表空间创建的完整步骤 当在数据库中创建用户时,基于应用性能和管理方面的考虑,最好为不同的用户创建独立的表空间。 1.创建表空间 不论是Lnux环境,还是Wndows环境,都要首先创建好表空间的存放路径,根据自己的情况修改。如: /opt/oracle/oradata/cocis 或D:\oracle\oradata\cocis 若事先不创建该目录路径,则在创建表空间的时候会出错。 通过pl/sql登录到Oracle数据库上,然后执行菜单:文件/新建/命令窗口,打开一个命令窗口然后在该命令窗口中执行脚本创建和删除表空间 引用 创建表空间 Sql>create tablespace histdb datafile 'D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf' size 200m autoextend on next 10m maxsize unlimited; Sql>alter database datafile 'D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf' autoextend on; 1) DATAFILE: 表空间数据文件存放路径 2) SIZE: 起初设置为200M 3) UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k 4) 空间名称histdb 与数据文件名称histdb.dbf 不要求相同,可随意命名. 5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间 6) alter database datafile ' D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf ' resize 500m; //手动修改数据文件大小为500M 删除表空间 DROP TABLESPACE histdb INCLUDING CONTENTS AND DATAFILES; 表空间已创建。 2.为应用创建用户 创建用户的同时,为用户指定缺省的永久表空间和临时表空间。 SQL> create user cocis identified by cocis

表空间管理作业答案

表空间管理作业1 1、创建本地管理表空间test01,数据文件test01.dbf,初始大小8M,可以自动扩充,每次增加5M,最大大小100M。区的大小由系统自动分配,段的管理为手动。 Create tablespace test01 Datafile ‘d:\oracle\test\test01.dbf’size 8M Autoextend on Next 5M Maxsize 100M Extent management local autoallocate /可省略 Segment space management manual; 2、创建本地管理表空间test02,数据文件test02_1.dbf,初始大小1024K,允许自动扩充,每次扩充50M,最大大小无限制,数据文件test01_2.dbf,初始大小1M,不允许自动扩充。区的大小统一为2048K,段的管理为自动。 Create tablespace test02 Datafile ‘d:\oracle\test\test02_1.dbf’size 1024K Autoextend on Next 50M Maxsize unlimited, Datafile ‘d:\oracle\test\test02_2.dbf’size 1M Autoextend off Extent management local uniform size 2048K Segment space management auto; 3、创建本地管理表空间indx,数据文件indx01.dbf,初始大小5M,允许自动扩充,每次扩充50M,最大大小1000M,区采用统一大小,使用系统默认值。 Create tablespace indx Datafile ‘d:\oracle\test\indx01.dbf’size 5M Autoextend on Next 50M Maxsize 1000M Extent management local uniform Segment space management auto;

数据库表空间

oracle 删除表空间操作 1.drop tablespace mytbs01;表空间已丢弃,这种删除方式相关的数据文件仍然存在于磁盘上. 2.如果表空间里面含有数据对象,那么该表空间就不能像上面那样做直接删除了.如果按照上述删除,则会报ORA- 01549: 表空间非空,请使用INCLUDING CONTENTS 选项错误。 解决方法:drop tablespace mytbs01 including contents and datafiles; 3. Drop tablespace 有下面两种方式: drop tablespace crm_data including contents and datafiles; drop tablespace crm_data including contents cascade constraints; 报错有下面几种: 一. ORA-23515 --- ORA-23515: materialized views and/or their indices exist in the tablespace drop tablespace crm_data including contents and datafiles * ERROR at line 1: ORA-23515: materialized views and/or their indices exist in the tablespace 意思是:该表空间CRM_DATA含有物化视图,或者含有物化视图的索引 解决办法: -- 首先删掉该表空间下的的物化视图 select 'drop materialized view '||owner||'.'||segment_name||' ;' from dba_segments where segment_name in (select mview_name from dba_mviews) and tablespace_name = 'CRM_DATA' -- 然后删除该表空间下的其他表空间下物化视图在本表空间下创建的索引 select * from dba_segments where tablespace_name = 'CRM_DATA' and segment_name in (select index_name from dba_indexes where table_name in (select mview_name from dba_mviews)); 二. ORA-02429 ---ORA-02429: cannot drop index used for enforcement of unique/primary key drop tablespace crm_idx including contents cascade constraints * ERROR at line 1: ORA-00604: error occurred at recursive SQL level 1 ORA-02429: cannot drop index used for enforcement of unique/primary key ORA-02429的意思是:让你删除该表空间下面的primary key 和unique key 处理办法: select 'alter table '||owner||'.'||table_name||' drop constraint '||constraint_name||' ;' from dba_constraints

Oracle数据库表空间设计理念的典型应用

典型应用一:控制用户所占用的表空间配额。 在一些大型的数据库应用中,我们需要控制某个用户或者某一组用户其所占用的磁盘空间。这就好像在文件服务器中,需要为每个用户设置磁盘配额一样,以防止硬盘空间耗竭。所以,在数据库中,我们也需要限制用户所可以使用的磁盘空间大小。为了达到这个目的,我们就可以通过表空间来实现。 我们可以在Oracle数据库中,建立不同的表空间,为其设置最大的存储容量,然后把用户归属于这个表空间。如此的话,这个用户的存储容量,就受到这个表空间大小的限制。 典型应用二:控制数据库所占用的磁盘空间。 有时候,在Oracle数据库服务器中,可能运行的不止一个服务。除了数据库服务器外,可能还有邮件服务器等应用系统服务器。为此,就需要先对Oracle数据库的磁盘空间作个规划,否则,当多个应用程序服务所占用的磁盘空间都无限增加时,最后可能导致各个服务都因为硬盘空间的耗竭而停止。所以,在同一台服务器上使用多个应用程序服务,我们往往需要先给他们进行磁盘空间的规划和分配。各个服务都不能够超过我们分配给他的最大限额,或者超过后及时的提醒我们。只有这样,才能够避免因为磁盘空间的耗竭而导致各种应用服务的崩溃。 典型应用三:灵活放置表空间,提高数据库的输入输出性能。 数据库管理员还可以将不同类型的数据放置到不同的表空间中,这样可以明显提高数据库输入输出性能,有利于数据的备份与恢复等管理工作。因为我们数据库管理员在备份或者恢复数据的时候,可以按表空间来备份数据。如在设计一个大型的分销系统后台数据库的时候,我们可以按省份建立表空间。与浙江省相关的数据文件放置在浙江省的表空间中,北京发生业务记录,则记录在北京这个表空间中。如此,当浙江省的业务数据出现错误的时候,则直接还原浙江省的表空间即可。很明显,这样设计,当某个表空间中的数据出现错误需要恢复的时候,可以避免对其他表空间的影响。 另外,还可以对表空间进行独立备份。当数据库容量比较大的时候,若一下子对整个数据库进行备份,显然会占用比较多的时间。虽然说Oracle数据库支持热备份,但是在备份期间,会占用比较多的系统资源,从而造成数据库性能的下降。为此,当数据库容量比较大的时候,我们就需要进行设置多个表空间,然后规划各个表空间的备份时间,从而可以提高整个数据库的备份效率,降低备份对于数据库正常运行的影响。 典型应用四:大表的排序操作。 我们都知道,当表中的记录比较多的时候,对他们进行查询,速度会比较慢。第一次查询成功后,若再对其进行第二次重新排序,仍然需要这么多的时间。为此,我们在数据库设计的时候,针对这种容量比较大的表对象,往往把它放在一个独立的表空间,以提高数据库的性能。 典型应用五:日志文件与数据文件分开放,提高数据库安全性。 默认情况下,日志文件与数据文件存放在同一表空间。但是,这对于数据库安全方面来说,不是很好。所以,我们在数据库设计的过程中,往往喜欢把日志文件,特别是重做日志文件,放在一个独立的表空间中,然后把它存放在另外一块硬盘上。如此的话,当存放数据文件的硬盘出现故障时,能够马上通过存放在另一个表空间的重做日志文件,对数据库进行修复,以减少企业因为数据丢失所带来的损失。 当然,表空间的优势还不仅仅这些,企业对于数据库的性能要求越高,或者数据库容量越大,则表空间的优势就会越大。 下面,我们就具体来看看Oracle数据库中表空间的处理方式,看其在性能与安全性方面是否有足够的优势与SQL Server数据库抗衡。 数据库管理员设置表空间时建议采用的步骤。

Oracle 数据库表空间(tablespace)的创建、删除、修改、扩展以及检查

Oracle 数据库表空间(tablespace)的创建、删除、修改、扩展以及检查 -------------oracle 数据库表空间学习 ---------------------------------------------------- --oracle 数据库表空间的作用 1.决定数据库实体的空间分配; 2.设置数据库用户的空间份额; 3.控制数据库部分数据的可用性; 4.分布数据于不同的设备之间以改善性能; 5.备份和恢复数据。 --oracle 可以创建的表空间有三种类型: 1.temporary: 临时表空间,用于临时数据的存放; create temporary tablespace "sample"...... 2.undo : 还原表空间. 用于存入重做日志文件. create undo tablespace "sample"...... 3.用户表空间: 最重要,也是用于存放用户数据表空间 create tablespace "sample"...... --注:temporary 和 undo 表空间是oracle 管理的特殊的表空间.只用于存放系统相关数据. --oracle 创建表空间应该授予的权限 1.被授予关于一个或多个表空间中的resource特权; 2.被指定缺省表空间; 3.被分配指定表空间的存储空间使用份额; 4.被指定缺省临时段表空间。 select tablespace_name "表空间名称",status "状态",extent_management "区管理方式",allocation_type "磁盘扩展管理方式 ",segment_space_management "段管理方式" from dba_tablespaces; --查询各个表空间的区、段管理方式 --1、建立表空间 --语法格式: create tablespace 表空间名 datafile '文件标识符' 存储参数 [...] |[minimum extent n] --设置表空间中创建的最小范围大小 |[logging|nologging] |[default storage(存储配置参数)] |[online|offline]; --表空间联机\脱机 |[permanent|temporary] --指定该表空间是用于保存永久的对象还是只保存临时对象 |[...] --其中:文件标识符=’文件名’[size整数[k\m][reuse] --实例 create tablespace data01 datafile '/oracle/oradata/db/data01.dbf' size 500m uniform size 128k; --指定区尺寸为128k,如不指定,区尺寸默认为64k

相关主题
文本预览
相关文档 最新文档