实验一表空间管理
- 格式:doc
- 大小:156.50 KB
- 文档页数:3
第 10 章◄ 表空间管理►为了管理数据文件,Oracle提出了表空间的概念,Oracle将数据逻辑地存储在表空间中,而实际上是存储在数据文件。
本节讲解Oracle引入的逻辑机构和物理结构、二者之间的关系,以及DBA需要熟练操纵的表空间管理,读者通过本章的学习,应该掌握如何创建表空间(数据字典管理和本地管理),如何设置表空间为脱机或只读状态,以及如何修改表空间中数据文件的大小等。
10.1 Oracle数据库的逻辑结构Oracle曾经声称,自己的数据库系统具有跨平台特性,在一个数据库平台上开发的数据库可以不加修改地移植到另一个操作系统平台上。
这样Oracle就不会直接操作底层操作系统的数据文件,而是提供一个中间层,这个中间层就是Oracle的逻辑结构,它与操作系统的平台无关,而中间层到数据文件的映射通过DBMS来完成。
如图10-1所示。
图10-1 Oracle的跨平台特性图如图10-1所示,Oracle数据库应用系统通过操作中间件来实现逻辑操作,而逻辑操作到数据文件操作之间是通过DBMS来映射完成的。
这样数据文件对于Oracle数据库应用系统是透明的。
我们再给出Oracle为了管理数据文件而引入的逻辑结构,该逻辑结构也正是图10-1中的中间件的内容,如图10-2所示。
该图展示了数据文件管理的逻辑结构和物理结构。
图的左边是逻辑结构。
逻辑结构从上到下是包含关系,也是一对多的关系,即一个数据库有一个或多个表空间,一个表空间有一个或多个段,而一个段有一个或多个区段组成,一个区段由多个数据库块组成,一个数Oracle DBA基础教程据库块由多个操作系统数据库块组成。
图10-2 数据文件管理的逻辑结构图右边是物理结构,一个表空间有一个或多个数据文件,一个数据文件物理上由操作系统块组成。
下面详细解释逻辑结构的各种组成:表空间(Tablespace):在逻辑上一个数据库由表空间组成,一个表空间只能属于一个数据库,而反之不成立,一个表空间包括一个或多个操作系统文件,把这些操作系统文件称为数据文件。
实验一数据文件和表空间的管理【开发语言及实现平台或实验环境】Oracle10g【实验目的】(1)熟悉ORACLE的环境,学习使用SQL*Plus与ORACLE进行交互;(2)掌握连接数据库以及断开连接的方法;(3)掌握数据文件和控制文件的管理基本命令(4)掌握表空间管理的基本命令【实验原理】1.SQL*Plus命令2.数据文件的管理(1)创建数据文件数据文件依附于表空间而存在,创建数据文件就是向表空间添加文件在创建数据文件时应该根据文件数据量的大小确定文件的大小以及文件的增长方式。
语法:ALTER TABLESPACE…ADD DA TAFILEALTER TABLESPACE…ADD TEMPFILE例:向ORCL数据库的USERS表空间中添加一个大小为10 MB的数据文件。
ALTER TABLESPACE USERS ADD DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADA TA\ORCL\USERS02.DBF' SIZE 10M;(2)修改数据文件大小创建后修改数据文件为自动增长:AUTOEXTEND ON NEXT …MAXSIZE…|UNLIMITED手工改变数据文件的大小ALTER DATABASE DA TAFILE…RESIZE…例:为ORCL数据库的USERS表空间添加一个自动增长的数据文件。
ALTER TABLESPACE USERS ADD DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADA TA\ORCL\USERS03.DBF' SIZE 10M AUTOEXTEND ON NEXT 512K MAXSIZE 50M;例:修改ORCL数据库USERS表空间的数据文件USERS02.DBF为自动增长方式。
ALTER DATABASE DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF ' AUTOEXTEND ON NEXT 512K MAXSIZE UNLIMITED;例:取消ORCL数据库USERS表空间的数据文件USERS02.DBF的自动增长方式。
Oracle-undo-表空间管理Oracle的Undo表空间管理是Oracle数据库中非常重要而又基础的管理工作之一。
因为数据库中的Undo表空间与事务有着紧密的联系,影响着数据库的性能和稳定性。
本文将对Oracle的Undo表空间管理进行详细介绍,包括Undo表空间的概念、作用、管理方法、优化等方面。
一、Undo表空间的概念Undo表空间是用来存储Oracle数据库中操作的回滚信息,主要的作用是进行事务的回滚和恢复。
在Oracle数据库中,事务的ACID属性可以保证数据的完整性和一致性,而Undo表空间就是为了保证事务的ACID属性而存在的。
在Oracle数据库中,Undo表空间分为两种类型:System Undo表空间和User Undo表空间。
系统Undo表空间是由系统自动创建的一个表空间,用于存储系统级的回滚信息,用户不能自己创建或删除该表空间。
而用户Undo表空间则是由用户自己创建的,用来存储用户级别的回滚信息,一个数据库中可以有多个用户Undo表空间。
二、Undo表空间的作用Undo表空间的作用非常重要,它主要用来完成以下几个方面的功能:1. 事务的回滚当某个事务需要回滚时,Oracle会将该事务所做的修改操作写入到Undo表空间中,然后撤销这些操作来回滚事务。
因此Undo表空间的存储能力和速度直接影响着Oracle数据库回滚事务的性能和效率。
2. 数据库恢复当数据库需要恢复时,Oracle会利用Undo表空间中的回滚信息将数据库恢复到特定的时间点。
因此Undo表空间存储的时间范围和存储能力对数据库恢复能力有着直接的影响。
3. MVCC机制在Oracle数据库中,MVCC(多版本并发控制)机制是一种用来实现并发控制的技术,它需要利用Undo表空间中的回滚信息来实现数据的版本控制。
当多个事务同时对一个数据进行操作时,Undo表空间就派上用场了。
三、Undo表空间的管理方法为了更好地管理Undo表空间,我们需要掌握以下几种管理方法:1. 创建Undo表空间在Oracle数据库中,可以通过语句CREATE UNDO TABLESPACE来创建Undo表空间。
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这条语句主要适合用户表空间,在执行这条语句时表空间必须脱机才能执行。
Oracle表空间区的管理方式1. 什么是Oracle表空间区在Oracle数据库中,表空间是用来存储和管理数据的逻辑结构,它是由一个或多个数据文件组成的,而数据文件则是物理存储数据的文件。
表空间是Oracle数据库中最高层次的存储结构,它可以包含多个段,而段则可以包含多个数据块。
表空间的管理是数据库管理的重要组成部分,它决定了数据库存储的灵活性、性能和安全性。
Oracle提供了多种管理表空间的方式,以满足不同的需求和场景。
2. Oracle表空间的创建和管理2.1 创建表空间在Oracle数据库中,可以使用CREATE TABLESPACE语句来创建表空间。
创建表空间时需要指定表空间的名称、数据文件的位置和大小等参数。
下面是一个创建表空间的示例:CREATE TABLESPACE my_tablespaceDATAFILE '/path/to/datafile.dbf'SIZE 100M;这个例子创建了一个名为my_tablespace的表空间,使用/path/to/datafile.dbf作为数据文件,并设置数据文件的大小为100MB。
2.2 管理表空间在Oracle数据库中,可以通过以下方式来管理表空间:2.2.1 表空间的扩展和缩小当表空间使用的空间不足时,可以通过扩展表空间来增加可用空间。
可以使用ALTER TABLESPACE语句来扩展表空间的大小。
下面是一个扩展表空间的示例:ALTER TABLESPACE my_tablespaceADD DATAFILE '/path/to/new_datafile.dbf'SIZE 100M;这个例子向my_tablespace表空间添加了一个新的数据文件/path/to/new_datafile.dbf,并设置数据文件的大小为100MB。
当表空间中的数据不再需要时,可以通过缩小表空间来释放空间。
可以使用ALTER TABLESPACE语句来缩小表空间的大小。
表空间管理表空间(TABLESPACE)管理1 定义表空间是⼀个逻辑概念,物理上对应⼀个或多个数据⽂件datafile或临时⽂件tempfiles,逻辑上表空间时存储段的容器(段也是逻辑概念,是数据库中的对象如表、索引等)2 类型和管理⽅式表空间类型:① PERMANENT 永久表空间② UNDO 撤销表空间③ TEMPORARY 临时表空间管理⽅式重点是段的管理⽅式和区的管理⽅式,是建⽴在表空间时确定的。
段管理⽅式有AUTO和MANUAL两种,区管理⽅式有本地管理和字典管理(已淘汰)两种。
2.1 查看表空间类型、段和区的管理⽅式select tablespace_name,contents,segment_space_management,extent_management from dba_tablespaces;查看所有的表空间select*from v$tablespace;2.2 查看表空间(数据⽂件)⼤⼩、是否⾃动扩展col file_name for a45col tablespace_name for a10select file_id,file_name,tablespace_name,bytes/1024/1024 M,status,AUTOEXTENSIBLE from dba_data_files order by1;2.3 查看表空间总⼤⼩⼀个表空间可能会对应多个数据⽂件select tablespace_name,sum(bytes)/1024/1024 M from dba_data_files group by tablespace_name;2.4 查看表空间空闲⼤⼩select tablespace_name,sum(bytes)/1024/1024 M from dba_free_space group by tablespace_name;3 基本操作3.1 small表空间扩展表空间的⼤⼩等同于它的所有数据⽂件件⼤⼩之和,默认使⽤small表空间,当发⽣表空间不⾜的问题时常⽤的3个解决⽅法:①增加原有的数据⽂件⼤⼩(resize)②增加数据⽂件(add datafile)③设置表空间⾃动增长(autoextend on)3.1.1 创建small表空间语法:create tablespace 表空间名 datafile '路径/数据⽂件名.dbf' size ⼤⼩(M);create tablespace demo datafile '/u01/oradata/orcl/demo01.dbf' size 5M;3.1.2 创建表并指定所要使⽤的表空间语法:create table 表名(字段1 数据类型,字段2 数据类型) tablespace 表空间名;create table demo_f(id number,name varchar2(10)) tablespace demo;3.1.3 resize 增加原有的数据⽂件⼤⼩语法:alter database datafile 数据⽂件的file_id resize ⼤⼩(M);alter database datafile 5 resize 10M;3.1.4 add datafile增加数据⽂件语法:alter tablespace 表空间名 add datafile '路径/数据⽂件名.dbf' size ⼤⼩(M);alter tablespace demo add datafile '/u01/oradata/orcl/demo02.dbf' size 10M;3.1.5 autoextend on设置表空间⾃动增长语法:alter database datafile 数据⽂件的file_id autoextend on next 下次⾃动增长多少M maxsize 最⼤多少M; alter database datafile 5 autoextend on next 10M maxsize 500M;3.1.6 数据⽂件移动或改名可以将⼀个在线呢数据⽂件从⼀种存储系统移动或改名到另⼀个存储系统⽐如:本地系统⽂件--->ASM共享存储ASM共享存储--->本地系统⽂件当⼀个数据⽂件正在进⾏移动的时候,可以执⾏查询、DML、DDL操作,包括如下:查询语句,创建表和索引,重建索引。
Oralce tablespace表空间创建和管理1.表空间的概述Java代码1.1.表空间是数据库的逻辑组成部分。
2.2.从物理上讲,数据库数据存放在数据文件中;3.3.从逻辑上讲,数据库是存放在表空间中,表空间由一个或者多个数据文件组成。
2.oracle的逻辑组成Java代码1.1.oracle 的逻辑结构包含表空间段区块2.2.数据库是由表空间构成,表空间又是有段构成,段是由区构成,区是由 oracle的块构成,这样做是为了提高数据库的效率3.3.作用4. A.控制数据库占用的磁盘空间5. B dba 可以将不同数据类型部署到不同的位置,这样有利于i/0的性能,同时利于备份和恢复等管理3.查询Oracle的表空间Java代码1.select tablespace_name from dba_tablespaces;4.创建表空间的语法和步骤Java代码1.1.创建表空间采用create tablespace命令完成2.2.需要注意的是一般情况下,建立表空间,是特权用户和dba来执行的。
如果其他用户要创建必须要有 create tablespace 的系统权限5.案例: 创建一个表空间Java代码1.crate tablesapce data01 datafile 'd:\test\data01.dbf' size 20m uniform size 128k; // 说明:创建一个名称为 data01 的表空间,并为该表空间建立一个名称为data.01.dbf的数据文件,区的大小为128k6.案例: 使用自定义的表空间Java代码1.1.create table mydept(deptno number(4),dname varchar2(14),loc varchar2(13)) tablespace data01;//如果不指定表空间,就默认放在 SYSTEM 表空间下2.2. create table emp(empno,ename) tablespace data01 as select empno,ename from scott.emp; //利用其他方案的表创建自己的表后放在自定义表空间下7.什么是表空间的状态Java代码1.1. 当建立表空间的时候,表空间处于联机的(online)状态,此时表空间是可以访问的,并且是可以读写,既可以在表空间上执行各种语句。
数据库原理实验一数据库和表的创建与管理The following text is amended on 12 November 2020.一. 实验内容、步骤以及结果1.利用图形用户界面创建,备份,删除和还原数据库和数据表(1)创建SPJ数据库,初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名和物理文件名均采用默认值。
(2)在SPJ数据库中创建如图图的四张表(3)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。
(提示:最好先删除系统默认的备份文件名,然后添加自己指定的备份文件名)(4)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。
(5) 删除已经创建的工程项目表(J表)。
(6) 删除SPJ数据库。
(可以在系统默认的数据存储文件夹下查看此时SPJ数据库对应的mdf,ldf文件是否存在)(7) 利用备份过的bak备份文件还原刚才删除的SPJ数据库。
(还原数据库)(8) 利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。
(附加)(9) 将SPJ数据库的文件大小修改为100MB。
(10) 修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类型。
2. 利用SQL语言创建和删除数据库和数据表(1) 用SQL语句创建如图图要求的数据库Student,初始大小为20MB,最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名和物理文件名,日志文件名请自定义。
(2) 用SQL语句创建上述的三张表,各个字段的数据类型请自己确定,每张表只要有主键约束即可,不要其他约束。
不用输入数据。
(3) 用SQL中的backup 语句将数据库Student备份到一个bak文件。
Oracle表空间区的管理方式Oracle数据库中的表空间是用来存储和管理数据库对象的逻辑结构的一种方式。
表空间由一个或多个数据文件组成,而数据文件是实际存储数据的物理文件。
在Oracle数据库中,表空间区的管理方式包括以下几个方面:1. 创建表空间通过使用CREATE TABLESPACE语句可以创建一个新的表空间。
创建表空间时需要指定表空间的名称、数据文件的位置和大小等信息。
可以选择将表空间设置为自动扩展,这样当表空间中的空间不足时,Oracle会自动增加数据文件的大小。
2. 分配空间在Oracle数据库中,表空间可以被分割为多个段,每个段都用来存储特定类型的数据库对象,如表、索引等。
在创建表时,可以指定该表所使用的表空间,Oracle会自动分配适当的空间给该表。
也可以手动分配空间给表或索引,通过ALTER TABLE或ALTER INDEX语句来实现。
3. 管理空间在使用表空间的过程中,可能会出现空间不足的情况。
为了解决这个问题,Oracle提供了一些管理空间的方法:•扩展表空间:可以通过增加新的数据文件或扩展已有数据文件的大小来扩展表空间。
可以使用ALTER TABLESPACE语句来完成这个操作。
•压缩表空间:如果表空间中存在大量未使用的空间,可以使用ALTER TABLESPACE语句中的SHRINK SPACE选项来压缩表空间,回收未使用的空间。
•移动表空间:可以将表空间中的数据文件移动到其他磁盘位置,以避免某个磁盘空间不足的问题。
可以使用ALTER TABLESPACE语句中的RENAMEDATAFILE选项来完成这个操作。
4. 监控空间使用情况为了更好地管理表空间,需要监控表空间的使用情况。
可以使用以下方法来监控表空间的空间使用情况:•查看表空间使用情况:可以使用DBA_TABLESPACES视图来查看当前数据库中所有表空间的使用情况。
该视图包含了表空间的名称、总空间、已使用空间、剩余空间等信息。
实验报告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)中创建的用户,将代码和运行结果贴在下方
提示:。
Oracle表空间管理及操作详解(附带案例)一:表空间概述表空间是数据库的逻辑组成部分,从物理上讲,数据库数据存放在数据文件中;数据库逻辑上讲是由一个或者多个表空间组成,数据文件则是存放在表空间中,表空间有一个或者多个数据文件组成即表空间有数据文件构成的。
数据库,表空间,段,区,块,按大小排列依次是:数据库---》表空间-----》段-----》区----》块。
1.建立表空间的作用:(1.)控制数据库占用的磁盘空间。
(2).dba可以将不同的数据类型部署到不同的位置,这样有利于提高i/o性能,同时有利与备份和恢复等管理操作。
二:管理表空间和数据文件。
(1)建立表空间create tablespace;一般情况下建立表空间是特权用户或者dba来执行的,如果其他用户来创建表空间,则用户建必须要具有create tablespace的系统权限。
(2)建立数据表空间在建立数据库后,为便于管理表,最好建立自己的表空间。
create tablespace sp02 datafile 'd:\test\sp02.dbf' size 20m uniform size 128k说明:执行完上述命令后,会建立名称为sp02的表空间,并为该表空间建立名称为sp02.dbf的数据文件,区的大小为128k。
(3.)在表空间建表create table tablesp02(ID number(5),name varchar2(20)) tablespace sp02(4)显示当前用户拥有哪些表。
select * from tab;(5).知道表空间名,显示该表空间包括的所有表。
select * from all_tables where tablespace_name='表空间名'。
注:拥有权限不同的用户在进行以上操作得到的结果可能不同。
System可以查看得到某空间的所拥有表。
(比如users表空间)(6)知道表名,查看该表属于那个表空间。
实验一表空间管理
一、实验目的
(1)了解表空间的区、段管理方式;
(2)熟练掌握表空间状态查询、表空间创建、修改、扩展、删
除等基本操作;
(3)掌握数据文件的创建方法;
(4)了解数据文件与表空间的关系;
二、主要仪器设备
Windows系统、Oracle 10g、SQL*PLUS。
三、实验内容
表空间是Oracle数据库的逻辑概念,用户创建的对象在逻辑上都存放在表空间里,所以用户的活动是在表空间之上的。
管理表空间,可以分为创建、修改和删除。
四、操作方法与实验步骤
(1)使用autoallocate方式创建表空间:
(2)使用uniform区分配方式创建表空间:
(3)使用auto段管理方式创建数据库:
(4)创建临时表空间及撤销表空间:
(5)修改表空间:
增加文件:
修改大小:
修改状态使其脱机:
(6)删除表空间:
(7)查询创建的某些表空间的信息:
五、问题解答
(1)在创建表空间时,其对应的物理数据文件需要提前创建吗?
新建表空间时,不需要提前创建对应的数据文件,而且也不能单独创建不属于任何表空间的数据文件。
一个数据文件一旦创建成功,那么它必定对应一个表空间。
(2)一个表空间可以有多个数据文件吗?一个数据文件可以存放多个表空间吗?
在例子中我们可以看到,一个表空间可以对应多个数据文件,但是一个数据文件只能属于一个表空间。
六、思考题
(1)SYSYTEM表空间、SYSAUX表空间、TEMP表空间、UNDOTBS1表空间可以被脱机吗?
在数据库打开后,需要用到system、sysaux系统表空间,因此它们不可以被脱机,否则数据库不可用。
TEMP表空间也不可以被脱机,UNDOTBS1可以被设置为脱机。