实验四 表空间及数据文件管理
4.2 管理表空间和数据文件
表空间的空间管理
•
本地管理的表空间: 本地管理的表空间
– 在表空间内管理空闲区 – – – 使用位图来记录空闲区 每一位与一个块或一组块相对应 位的数值指明是空闲还是已占用
•
字典管理的表空间: 字典管理的表空间
– 由数据字典管理空闲区 – 在分配或回收区时更新对应的表
8-8
Copyright © Oracle Corporation, 2001. All rights reserved.
ALTER DATABASE
– – ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
8-14
Copyright © Oracle Corporation, 2001. All rights reserved.
创建缺省临时表空间
• 在创建数据库期间:
管理表空间和数据文件
Copyright © Oracle Corporation, 2001. All rights reserved.
内容
本节应掌握: 本节应掌握
• • • •
确定表空间和数据文件的用途 创建表空间 管理表空间 使用“Oracle 管理文件” (Oracle Managed Files, “ ” OMF)创建和管理表空间
临时表空间
• • • •
用于排序操作 不能包含任何永久对象 建议在本地管理区 OEM
CREATE TEMPORARY TABLESPACE temp TEMPFILE '/u01/oradata/temp01.dbf' SIZE 500M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M;
表空间与数据文件管理.
【例7-3】 建立本地管理表空间index_tbs,用 于存放索引数据。其包含1个数据文件 index01.dbf,区尺寸指定为统一大小128KB。 SQL>CREATE TABLESPACE index_tbs DATAFILE’index01.Dbf’ SIZE 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;
Tablespace
Segment 112K Extent 84K
Database Blocks
逻 辑 结 构 图 示
DataFile
Database
数据库中的对象如表、索引及其数据必 须存储于表空间中。而且表空间上数据 的可用性是可以控制的。如果允许用户 或应用程序访问,那么该表空间必须要 处于联机状态(ONLINE),脱机(OFFLINE) 状态下的表空间,其数据是不可用的。 SYSTEM表空间必须联机。
到数据字典,所以分配和释放区避免了 访问数据字典,从而降低了在数据字典 上的冲突; 另外,本地管理表空间会自动跟踪并合 并相邻空闲空问,而字典管理表空间则 可能需要手工合并空间碎片。
7.2创建表空间
当建立数据库时会自动建立SYSTEM 表空间,该表空间用于存放数据字典对 象。尽管SYSTEM表空间也可以存放用 户数据,但Oracle建议用户数据应存放 在另外的表空问中。 因此,建立数据库之后,DBA应该建 立其他表空间,以存放不同类型的数据。
【例7.6】 创建字典管理表空间userdata,仅包含一 个数据文件,大小100MB。因为从Oracle9i开始,默认 会创建本地管理表空间,因此在创建命令中必须用 EXTENT MANAGEMENT DICTIONARY指明是字典管理 的。 SQL>CREATE TABLESPACE userdata DATAFILE‘E:\Oracle\oradata\USerdata01.dbf‘SIZE 100M EXTENT MANAGEMENT DICTIONARY; 注意,创建字典管理表空间命令只能在Oracle 9.0.1.1.1或acle数据库通过表空间来组织数据库数据。一个数 据库逻辑上由一个或多个表空间组成,一个表空间由 一或多个段组成,一个段由一或多个区组成,一个区 由多个连续的数据库块组成。 而表空间物理上是由一个或多个数据文件组成的, 并且一个数据文件只能属于一个表空间。表空间的空 间大小是所有从属于它的数据文件大小的总和。如果 一个表空问的空间不够用,可以通过添加数据文件的 办法来增加表空问的大小。一旦数据文件加入到某个 表空间之后,就不能从该表空间中删除该数据文件了。
oracle表空间和数据文件的管理实验
oracle表空间和数据文件的管理实验第一篇:oracle表空间和数据文件的管理实验表空间和数据文件的管理实验试验目的:全面掌握表空间和数据文件的创建、管理过程试验内容:1、创建表空间、增加数据文件2、管理表空间和数据文件的的各种操作试验步骤:1、掌握表空间和数据文件相关的概念1)oracle默认的表空间系统默认的表空间:SYSTEM、SYSAUX、UNDOTBS1、EMP、EXAMPLE、USERS 2)系统表空间SYSTEM、SYSAUX是系统表空间,SYSTEM用于存放oracle数据字典的结构和内部元数据。
SYSAUX是SYSTEM的辅助表空间用于存放个模式(用户)的对象元数据。
3)非系统表空间由DBA根据需要创建,存放用户自己的数据,也可以包含临时数据以及UNDO数据。
2、创建表空间1)创建表空间的语法CREATE [smallfile|bigfile] TABLESPACE tablespace_name DATAFILE ‘/path/filename’ SIZE [k|m] REUSE[‘/path/filename’ SIZE [k|m] REUSE][AUTOEXTEND [ON|OFF] NEXT [k|m] MAXSIZE [UNLIMITED|[K|M]]] [ONLINE|OFFLINE] [LOGGING|NOLOGGING] [PERMANENT|TEMPORARY] [DICTIONARY|LOCAL]2)定义表空间名字及属性创建两个表空间ts_test1、ts_test2,本地化管理(Local,默认)、永久表空间(permantent,默认)3)定义数据文件名字、路径、初始大小、自动扩展等属性数据文件data_test1、data_test2 路径:c:disk1data_test1.dbf c:disk2data_test24)创建脚本:a、创建本地永久表空间//创建本地永久表空间ts_test1和ts_test2,默认为永久和本地SQL>create tablespace ts_test1 datafile ‘c:disk1data_file1.dbf’ size=50m reuse autoextend on next 10m;SQL>create tablespace ts_test2 datafile ‘c:disk2data_file2.dbf’ size=50m reuse autoextend on next 10m maxsize unlimited;查看一下创建完成的结果//查看dba_tablespaces结构SQL>desc dba_tablespaces;//查看字典中的所有表空间情况,extent_management值为local 时为本地表空间SQL>select tablespace_name,status,extent_management,content from dba_tablespaces;//查看创建表空间时创建的数据文件,首先查看dba_data_files字典结构SQL>desc dba_data_files;//查看数据文件情况SQL>set linesize 120 SQL>col file_name for a20 SQL>col file_id for a20 SQL>col tablespace_name a30 SQL>col online_status for a20 SQL>select file_name,file_id,tablespace_name,online_status from dba_data_files;b、创建还原表空间和临时表空间//创建还原表空间SQL>create undo tablespace test_undo datafile ‘c:disk3test_undo’ size 20m;//查看创建结果,contents为表空间内容类型,如undoSQL>select tablespace_name,contents fromdba_tablespaces;c、创建临时表空间//创建临时表空间SQL>create temporary tablespace test_temptempfile ‘c:disk4test_temp.dbf’ size 20m extent management local;//查询创建结果SQL>select tablespace_name,extent_management,contents from dba_tablespaces;d、增加数据文件//增加数据文件SQL>alter tablespace ts_test1 add datafile ‘c:disk1ts_test11.dbf’ size 10m;//查看增加数据文件的结果SQL>col file_name for a30SQL>col tablespace_name for a30 SQL>select file_name,tablespace_name from dba_data_files;3、管理表空间的各种操作1)改变表空间的读写状态//将表空间设为只读//这时表空间应为online状态,表空间不能包含回滚段,不能是归档模式//查看数据库日志模式SQL>archive log list;//查看表空间contentsSQL>select tablespace_name,contents from dba_tablespaces where tablespace_name like‘TS_%’;//修改为只读SQL>alter tablespace ts_test1 read only;2)表空间脱机离线、在线连接SQL>alter tablespace ts_test1 offline;SQL>alter tablespace ts_test1 online;//查看表空间状态SQL>select tablespace_name,status from dba_tablespaces;3)修改表空间名称 //查询当前表空间名称和所包含的数据文件SQL>select file_name,tablespace_name from dba_data_files;//确认表空间处在online状态SQL>select tablespace_name,status from dba_tablespaces;//表空间改名SQL>alter tablespace ts_test2 rename to ts_test22;//查询修改结果SQL>Col file_name for a30;SQL>col tablespace_name for a30;SQL>select file_name,tablespace_name from dba_data_files;4)设置默认表空间SQL>alter database default tablespace users //设置默认临时表空间SQL>alter database default temporary tablespace temp;5)删除表空间SQL>drop tablespace ts_test2;//仅删除表空间信息不删除表空间数据文件 SQL>drop tablespace ts_test2 includng contents;//包括数据文件全部删除查看删除后的结果情况SQL>select file_name,tablespace_name from dba_data_files;6)切换undo表空间SQL>alter system set undo_tablespace =undotbs02;7)删除undo表空间要删除正在使用的undo表空间,首先切换undo表空间后在进行删除例如删除undost01 SQL>alter system set undo_tablespace=undost02;SQL>drop tablespace undost01;8)查询undo表空间信息SQL>show parameter undo_tablespace;4、管理数据文件的各种操作 1)在表空间中新增一个数据文件SQL>alter tablespace ts_test1 add datafile‘c:dsk1ta_test111.dbf’ size 50m;2)删除表空间中无数据的数据文件第一种语法SQL>alter database datafile ‘c:disk1ts_test1.dbf’ offline;//数据文件脱机SQL>alter tablespace ts_test1 drop datafile ‘c:disk1ts_test111.dbf’;第二种语法:SQL>alter database datafile ‘mytb.dbf’ offline drop;3)数据文件自动扩展设置SQL>alter tablespace ts_test1 datafile ‘c:disk1ts_test1.dbf’ autoextend on next 10m maxsize 500m;4)重置数据文件大小,收回或扩数据文件空间SQL>alter tablespace ts_test1 datafile ‘c:disk1ts_test1.dbf’ resize 45m;查询重置数据文件大小后的结果SQL>col file_name for a30;SQL>col tablespace_name for a30;SQL>selectfile_name,tablespace_name,bytes/(1024*1024)fromdba_data_files;5)移动数据文件有两条语句可以实现对数据文件的移动:a、alter tablespace tablespace_name rename datafile ‘/path/file_name1’to ‘/path/file_name_new’;a这条语句主要适合用户表空间,在执行这条语句时表空间必须脱机才能执行。
课件:实践四 管理表空间和数据文件
一、表空间 一、创建(永久)表 空间 二、创建临时表空间 三、扩展表空间 四、修改表空间的属 性、状态 五、删除表空间 六、查看表空间的信 息
二、数据文件
1 创建数据文件 2 改变数据文件的
大小
3 改变数据文件的 可用性
4 重命名和重定位 数据文件参考课件或教材相关章节
具体要求
– 其它表空间的所含数据文件的名称、路径、数量、 大小,区、段的管理方式依据自身的限制自行定 义,但要求各种磁盘空间管理方式均要使用到
具体内容
表空间的创建和维护
• 4)将表空间demouserts02的数据文件加大到 500M
• 5)将表空间demouserts01中的一个数据文件移 动到其他位置,并验证。
课时建议 4课时
实践四 管理表空间和数据文件
【任务描述】
– 使用不同的系统视图命令查看表空间和 数据文件信息
– 使用SQL*PLUS和OEM工具管理表空间 和数据文件
– 能根据实际情况操作表空间和数据文件 包括:创建、修改、删除等
实践四 使用命令和OEM分别完成以下任务
要求 (名称和路径自定义)
• 1.上机完成课件中的所有实例 • 2.上机完成教材中相关的内容 • 3.使用OEM来管理表空间和数据文件(创建、
修改、查看等)[选题]
具体内容
表空间和数据文件的创建和维护
对当前的数据库demo进行表空间和数据 文件的创建和维护
• 具体要求:
– 根据表空间管理策略对各数据文件的路径和 大小、磁盘空间管理方式进行合理配置
• 6)查看表空间的状态 • 7)将表空间demouserts01脱机,看在该表空间
上创建表时会发生什么错误? (补充:创建表命令:
实验四 表空间及数据文件管理
实验四表空间及数据库文件管理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 归档模式与非归档模式有什么区别?七、实验总结写出本次实验的收获、不足和改进。
Oracle大型数据库 实验四 参数文件与控制文件管理
集美大学计算机工程学院实验报告课程名称:大型数据库技术班级:计算12实验成绩:指导教师:杨艳华姓名:实验项目名称:参数文件与控制文件管理学号:上机实践日期:2014.11实验项目编号:实验四组号:上机实践时间:2学时一、目的1、掌握动态性能视图数据的填充和查询;2、掌握初始化参数文件的创建和设置;3、了解控制文件的结构;4、掌握控制文件的多路存储、备份和重新创建。
二、实验要求1、将数据库启动到不同状态,检索动态性能视图;2、完成文本初始化参数文件和服务器参数文件的创建;3、完成数据库控制文件的多路存储、备份。
三、实验内容(1)将数据库启动到NOMOUNT状态,检索:(2)当前实例的状态信息:(3)SGA的汇总信息:(4)SGA各个组件的内存大小、粒度尺寸和空闲内存量:(5)后台进程信息:(6)控制文件名称:(7)数据文件信息:(8)数据库所有表空间:(9)将数据库继续启动到MOUNT状态,检索:(10)数据文件信息:件(11)数据库所有表空间:(12) 会话中当前生效的初始化参数信息:(13) 重做日志文件组信息:(14) 查看当前实例的初始化参数设置,检索参数名、值、是否会话可修改、是否系统可修改和是否实例可修改这些信息,然后从这些设置创建文本初始化参数文件,命名为“init+姓名简拼(大写)+学号后三位+INS.ora”:(15) 依据当前数据库服务器参数文件创建文本初始化参数文件,命名为“init+姓名简拼(大写)+学号后三位+SPF.ora”;再依据第一步操作中创建的文本初始化参数文件(init+姓名简拼(大写)+学号后三位+INS.ora)创建服务器参数文件,命名为“SPFILE+姓名简拼(大写)+学号后三位.ora”:(16) 修改参数audit_file_dest、nls_language、sga_target和sga_max_size的值:(17) 检索当前数据库的控制文件信息,然后,进行控制文件的备份。
【VIP专享】实验四 表空间及数据文件管理
实验四表空间及数据库文件管理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 归档模式与非归档模式有什么区别?七、实验总结写出本次实验的收获、不足和改进。
管理表空间和数据文件
管理表空间和数据文件表空间是数据库的逻辑组成部分。
物理上讲,数据库数据存放在数据文件中。
从逻辑上讲,数据库则是存放在表空间中的,表空间由一个或多个数据文件组成。
数据库的逻辑结构表空间-段-区-块表空间用于从逻辑上组织数据库的数据。
数据库逻辑上是由一个或多个表空间组成的。
通过表空间可以控制数据库占用的磁盘空间;dba可以将不同数据类型部署到不同的位置,这样有利于提高i/o性能,同时有利于备份和恢复等管理操作。
建立表空间,特权用户或者dba执行,具有create tablespace的系统权限create tablespace data01datafile ‘d:\test\data01.dbf’ size 20m uniform size 128k建立名为data01的表空间,为该表空间建立data01.dbf的数据文件,区大小为128kcreate table mytest(deptno number(4),dname varchar2(20),loc varchar2(20))tablespace data01;改变表空间的状态建立表空间时,表空间是联机状态,此时该表空间可以访问,可读写,可查询该表空间的数据,而且还可以在表空间执行各种语句,但是进行系统维护时,需要改变表空间的状态,一般是特权用户或dba操作。
使表空间脱机alter tablespace 表空间名offline;使表空间联机alter tablespace 表空间名online;只读表空间如果不希望表空间进行update|delete|insert,可将其修改为只读alter tablespace表空间名read only;可读表空间alter tablespace表空间名read write;显示表空间下所有表select * from all_table where tablespace_name=’表空间名’显示表所属表空间select tablespace,table_name from user_tables where table_name=’表名’删除表空间特权用户或dba操作或具有drop tablespace系统权限drop tablespace 表空间名including contents and datafiles;including contents 删除表空间时,删除该空间的所有数据库对象datafiles表示将数据库文件也删除扩展表空间表空间由数据文件组成,表空间大小实际就是数据文件大小的总和。
Oracle表空间和数据文件的管理
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)。
第四章 表空间及数据文件管理
为ORCL数据库创建一个永久性的表空间,区定制分配, 段采用手动管理方式。
CREATE TABLESPACE ORCLTBS4 DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ ORCLTBS4_1.DBF' SIZE 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K SEGMENT SPACE MANAGEMENT MANUAL;
语法
示例
Oracle 10g 数据库基础教程
(7)设置默认表空间
在Oracle10g数据库中,默认表空间为USERS表空间,默 认临时表空间为TEMP表空间。 设置数据库的默认表空间
ALTER DATABASE DEFAULT TABLESPACE ALTER DATABASE DEFAULT TEMPORARY TABLESPACE
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ ORCL\ORCLTBS1_2.DBF' RESIZE 20M;
将ORCL数据库的ORCLTBS1表空间的数据文件 ORCLTBS1_2.DBF设置为自动扩展,每次扩展5 MB空 间,文件最大为100 MB。
Oracle 10g 数据库基础教程
4.1 Oracle数据库体系结构
Oracle 数据库由数据库实例和物理存储结构组成。
Oracle 10g 数据库基础教程
Oracle数据库的存储结构包括物理存储结构和逻 辑存储结构。
管理表空间和数据文件
修改表空间默认存储参数
INITIAL NEXT PCTINCREASE MINEXTENTS MAXEXTENTS
Alter TABLESPACE tablespace { minimum extent integer [k|m] | default storage_clause}
1-11
1-4
创建用户表空间
1、创建本地管理方式的表空间(效率高) 创建本地管理方式的表空间(效率高) 2、创建字典管理的表空间(存储管理灵活) 创建字典管理的表空间(存储管理灵活)
1-5
创建本地管理方式的表空间
CREATE TABLESPACE USER01 DATAFILE ‘d:\oralce\oradata\db01\userdata01.dbf’ SIZEቤተ መጻሕፍቲ ባይዱ5M EXTENT MANAGEMENT LOCAL(可省略,默认) 可省略,默认) AUTOALLOCATE UNIFORM size 128K
1-7
创建字典管理的表空间
CREATE TABLESPACE USER02 DATAFILE ‘d:\oralce\oradata\db01\userdata02.dbf’ SIZE 5M EXTENT MANAGEMENT DICTIONARY DEFAULT STORAGE( INITIAL 50K NEXT 50K MINEXTENTS 2 PCTINCREASE 0 MAXEXTENTS 50) 区的分配通过存储子句设置。段的管理与本地表空间一样。 区的分配通过存储子句设置。段的管理与本地表空间一样。 没有显示指定,则继承表空间这些参数设置。 没有显示指定,则继承表空间这些参数设置。 表空间为本地管理方式, 如果Oracle 9i的SYSTEM表空间为本地管理方式,其它用 户表空间必须使用本地管理方式。 户表空间必须使用本地管理方式。
表空间和数据文件的管理
2021/5/23
第九章 表空间和数据文件的管理 【教学导航】
知识技能 目标和 要求
本章重点
• 理解表空间和数据文件等各种存储 概念
• 理解数据库、表空间、数据文件三 者的关系
• 掌握使用SQL命令和OEM有效地管 理表空间和数据文件的方法
• 理解表空间各种存储概念
• 掌握对表空间管理方法
9.3 创建表空间
9.3.1 创建表空间的准则 9.3.2 使用OEM创建表空间 9.3.3 使用SQL命令创建表空间
9.3 创建表空间
9.3.1 创建表空间的准则
– 1.创建多个(非SYSTEM)表空间 – 2.设置表空间的默认存储参数(针对数据
字典管理方式) – 3.为用户设置表空间配额
9.3 创建表空间
本章难点 表空间和数据文件的管理策略
课时建议 4课时
第九章 表空间和数据文件的管理
【内容纲要】
9.1 表空间和数据文件概述
9.2 表空间磁盘空间管理
– 9.2.1 空间管理的策略
– 9.2.2 创建表空间
– 9.2.3 修改表空间 – 9.2.4 删除表空间 – 9.2.5查看表空间
勇于开始,才能找到成 功的路
CREATE UNDO TABLESPACE 创建撤销表空间
以下以创建本地管理的表空间为例,介绍表空间的创建方法
9.3 创建表空间
1 创建(永久)表空间
有三种创建(永久)表空间的方法 1)使用uniform区分配方式 – 在这种方式下,oracle将为表空间中所有对象都分配 指定的相同大小的区(默认为1MB)。 – Uniform区分配方式的优点:在表空间中不会产生磁 盘碎片,可以节约磁盘空间 – 条件:能预测到表空间中存放的大部分对象都要求 使用相同大小的区
实验报告4-1 表空间、用户
实验报告4 (表空间、用户、权限管理)
本次目标:
(1) 掌握表空间的创建、删除
(2) 掌握用户的创建、删除
题1、表空间的操作
(1) 创建名为 tbs_姓名首字母大写 的表空间,dbf 文件路径为 F:\tbs_姓名首字母大写.dbf ,初始大小为20M ,
开启自动增长
将代码和运行结果贴在下方
在F 盘下找到所生成的
dbf 文件,将截图贴在下方 提示:命令格式
题2、用户的操作
(1) 用户的创建
创建名为 姓名首字母 的用户,密码为123456,默认表空间为 (1)中创建的表空间,临时表空间为temp ,Create tablespace tbs_LGH
datafile 'F:\tbs_LGH.dbf' size 20M
autoextend on ;
将代码和运行结果贴在下方:
Create User LGH
IDENTIFIED BY123456
Default Tablespace tbs_LGH
Temporary Tablespace temp;
提示:
命令格式
使用创建的用户登录数据库,将登录成功的界面贴在下方
(2)用户的删除
删除(1)中创建的用户,将代码和运行结果贴在下方
提示:。
实验四(表空间)
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as systemSQL> SELECT * FROM DBA_TABLESPACE;//DBA_TABLESPACES,错误原因注意SELECT * FROM DBA_TABLESPACEORA-00942: 表或视图不存在SQL> SELECT * FROM V$TABLESPACE;TS# NAME INCLUDED_IN_DATABASE_BACKUP BIGFILE FLASHBACK_ON ENCRYPT_IN_BACKUP---------- ------------------------------ --------------------------- ------- ------------ -----------------0 SYSTEM YES NO YES1 UNDOTBS1 YES NO YES2 SYSAUX YESNO YES4 USERS YES NO YES3 TEMP NO NO YESSQL> CREATE TABLESPACE TEST LOGGING DATAFILE 'D:\ORACLE\TEST1.DBF' SIXE 5M REUSE;CREATE TABLESPACE TEST LOGGING DATAFILE 'D:\ORACLE\TEST1.DBF' SIXE 5M REUSEORA-02180: 无效的CREATE TABLESPACE 选项SQL> CREATE TABLESPACE TEST LOGGING DATAFILE 'D:\ORACLE\TEST1.DBF' SIZE 5M REUSE AUTOEXTEND OFF;Tablespace createdSQL> CREATE TABLESPACE DATA2 LOGGING DATAFILE 'D:\ORACLE\DATA1.DBF' SIZE 50M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE 200M;Tablespace created//创建表空间,允许自动扩展数据文件SQL> CREATE TABLESPACE TEXT LOGGING DATAFILE 'D:\ORACLE\TEXT1.DBF' SIZE 1M REUSE AUTOEXTEND OFF;Tablespace created//创建表空间,禁止自动扩展数据文件SQL> CREATE TABLESPACE DATA2 LOGGING DATAFILE 'D:\ORACLE\DATA21.DBF' SIZE 10M REUSE AUTOEXTEND ON NEXT 2M MAXSIZE 50M;CREATE TABLESPACE DATA2 LOGGING DATAFILE 'D:\ORACLE\DATA21.DBF' SIZE 10M REUSE AUTOEXTEND ON NEXT 2M MAXSIZE 50MORA-01543: 表空间'DATA2' 已存在SQL> CREATE TABLESPACE DATA LOGGING DATAFILE 'D:\ORACLE\DATA0.DBF' SIZE 10M REUSE AUTOEXTEND ON NEXT 2M MAXSIZE 100M;Tablespace createdSQL> SELECT * FROM V$TABLESPACE;TS# NAME INCLUDED_IN_DATABASE_BACKUP BIGFILE FLASHBACK_ON ENCRYPT_IN_BACKUP---------- ------------------------------ --------------------------- ------- ------------ -----------------0 SYSTEM YES NO YES1 UNDOTBS1 YES NO YES2 SYSAUX YES NO YES4 USERS YES NO YES3 TEMP NO NO YES6 TEST YES NO YES7 DATA2 YESNO YES8 TEXT YES NO YES9 DATA YES NO YES9 rows selected//查询表空间SQL> CREATE TEMPORARY TABLESPACE TEM LOGGING TEMPFILE 'D:\ORACLE\TEMP1.DBF' SIZE 3M REUSE AUTOEXTEND OFF;CREATE TEMPORARY TABLESPACE TEM LOGGING TEMPFILE 'D:\ORACLE\TEMP1.DBF' SIZE 3M REUSE AUTOEXTEND OFFORA-25139: CREATE TEMPORARY TABLESPACE 的选项无效SQL> CREATE TEMPORARY TABLESPACE TEM ADD TEMPFILE 'D:\ORACLE\TEMP1.DBF' SIXE 10M REUSE;CREATE TEMPORARY TABLESPACE TEM ADD TEMPFILE 'D:\ORACLE\TEMP1.DBF' SIXE 10M REUSEORA-02180: 无效的CREATE TABLESPACE 选项SQL> SELECT * FROM DBA_TABLESPACE;SELECT * FROM DBA_TABLESPACEORA-00942: 表或视图不存在SQL> SELECT * FROM DBA_TABLESPACES;TABLESPACE_NAME BLOCK_SIZE INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE MIN_EXTLEN STATUS CONTENTS LOGGING FORCE_LOGGING EXTENT_MANAGEMENT ALLOCATION_TYPE PLUGGED_IN SEGMENT_SPACE_MANAGEMENT DEF_TAB_COMPRESSION RETENTION BIGFILE------------------------------ ---------- -------------- ----------- ----------- ----------- ------------ ---------- --------- --------- --------- ------------- ----------------- --------------- ---------- ------------------------ ------------------- ----------- -------SYSTEM 8192 65536 1 2147483645 65536 ONLINE PERMANENT LOGGING NO LOCAL SYSTEM NO MANUAL DISABLED NOT APPLY NOUNDOTBS1 8192 65536 1 2147483645 65536 ONLINE UNDO LOGGING NO LOCAL SYSTEM NO MANUAL DISABLED NOGUARANTEE NOSYSAUX 8192 65536 1 2147483645 65536 ONLINE PERMANENT LOGGING NO LOCAL SYSTEM NO AUTO DISABLED NOT APPLY NOTEMP 8192 1048576 1048576 1 0 1048576 ONLINE TEMPORARY NOLOGGING NO LOCAL UNIFORM NO MANUAL DISABLED NOT APPLY NOUSERS 8192 65536 1 2147483645 65536 ONLINEPERMANENT LOGGING NO LOCAL SYSTEM NO AUTO DISABLED NOT APPLY NOTEST 8192 65536 1 2147483645 65536 ONLINE PERMANENT LOGGING NO LOCAL SYSTEM NO AUTO DISABLED NOT APPLY NODATA2 8192 65536 1 2147483645 65536 ONLINE PERMANENT LOGGING NO LOCAL SYSTEM NO AUTO DISABLED NOT APPLY NOTEXT 8192 65536 1 2147483645 65536 ONLINE PERMANENT LOGGING NO LOCAL SYSTEM NO AUTO DISABLED NOT APPLY NODATA 8192 65536 1 2147483645 65536 ONLINE PERMANENT LOGGING NO LOCAL SYSTEM NO AUTODISABLED NOT APPLY NO9 rows selected//查询表空间,注意DBA_TABLESPACES复数形式SQL> CREATE TABLESPACE WORK DATAFILE 'D:\ORACLE\WORK1.DBF' SIZE 5M EXTENT MANAGEMENT LOCAL AUTOALLOCATE;Tablespace created//创建本地管理表空间SQL> CREATE TABLESPACE WORK2 DATAFILE 'D:\ORACLE\WORK20.DBF' SIZE 5M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;Tablespace created//创建表空间,指定其区间为128kbSQL> CREATE BIGFILE TABLESPACE BIGTBS DATAFILE 'D:\ORACLE\BIG1.DBF' SIZE 2G;SQL>Tablespace created//使用BIGFILE关键词可以创建大文件表空间SQL> CREATE TEMPORARY TABLESPACE TEM TEMPFILE 'D:\ORACLE\TEMP1.DBF' SIZE 20M REUSE EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M;Tablespace created//创建临时表空间,注意uniformSQL> ALTER TABLESPACE WORK ADD DATAFILE 'D:\ORACLE\WORK10.DBF' SIZE 5M EXTENT MANAGEMENT LOCAL AUTOALLOCATE;ALTER TABLESPACE WORK ADD DATAFILE 'D:\ORACLE\WORK10.DBF' SIZE 5M EXTENT MANAGEMENT LOCAL AUTOALLOCATEORA-00933: SQL 命令未正确结束SQL> ALTER TABLESPACE WORK ADD DATAFILE 'D:\ORACLE\WORK10.DBF' SIZE 5M;Tablespace altered//修改表空间SQL> ALTER TABLESPACE WORK OFFLINE;Tablespace alteredSQL> ALTER TABLESPACE WORK RENAME DATAFILE 'D:\ORACLE\WORK10.DBF' TO 'E:\ORACLE\WORK10.DBF';ALTER TABLESPACE WORK RENAME DATAFILE 'D:\ORACLE\WORK10.DBF' TO 'E:\ORACLE\WORK10.DBF'ORA-01525: 重命名数据文件时出错ORA-01141: 重命名数据文件13 时出错- 未找到新文件'E:\ORACLE\WORK10.DBF'ORA-01110: 数据文件13: 'D:\ORACLE\WORK10.DBF'ORA-27041: 无法打开文件OSD-04002: 无法打开文件O/S-Error: (OS 2) 系统找不到指定的文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四表空间及数据库文件管理
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 归档模式与非归档模式有什么区别?
七、实验总结
写出本次实验的收获、不足和改进。