new第8章oracle中的管理表空间和数据文件

合集下载

oracle 文件层级概念

oracle 文件层级概念

oracle 文件层级概念
Oracle的文件层级概念主要涉及物理存储结构和逻辑存储结构两个层面。

1.物理存储结构:
o数据文件:存放数据库中的数据。

o控制文件:记录数据库的物理结构信息。

o临时文件:存放临时数据。

o撤销段:用于执行某些事务时的数据还原,保证事务的原子性和一致性。

o参数文件:包含Oracle数据库实例的配置信息。

2.逻辑存储结构:
o表:存储数据的主要构建单元。

o索引:提高检索效率的数据结构。

o视图:虚拟表,是对表或其他视图的查询结果进行的封装。

o序列:用于生成唯一数字,通常用于主键或唯一索引的值上。

Oracle的存储结构由底层的文件组成,这些文件以特定的方式组织和存储,以支持数据库的高效管理和数据的正确存储、检索和使用。

oracle下的数据库实例、表空间、用户及其表的区分

oracle下的数据库实例、表空间、用户及其表的区分

oracle下的数据库实例、表空间、⽤户及其表的区分完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例。

1) 数据库是⼀系列物理⽂件的集合(数据⽂件,控制⽂件,联机⽇志,参数⽂件等);2) Oracle数据库实例则是⼀组Oracle后台进程/线程以及在服务器分配的共享内存区。

在启动Oracle数据库服务器时,实际上是在服务器的内存中创建⼀个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台内存),然后由这个Oracle数据库实例来访问和控制磁盘中的数据⽂件。

Oracle有⼀个很⼤的内存快,成为全局区(SGA)。

⼀、数据库、表空间、数据⽂件1、数据库数据库是数据集合。

Oracle是⼀种数据库管理系统,是⼀种关系型的数据库管理系统。

通常情况了我们称的“数据库”,并不仅指物理的数据集合,他包含物理数据、数据库管理系统。

也即物理数据、内存、操作系统进程的组合体。

我们在安装Oracle数据库时,会让我们选择安装启动数据库(即默认的全局数据库)如下图:全局数据库名:就是⼀个数据库的标识,在安装时就要想好,以后⼀般不修改,修改起来也⿇烦,因为数据库⼀旦安装,数据库名就写进了控制⽂件,数据库表,很多地⽅都会⽤到这个数据库名。

启动数据库:也叫全局数据库,是数据库系统的⼊⼝,它会内置⼀些⾼级权限的⽤户如SYS,SYSTEM等。

我们⽤这些⾼级权限账号登陆就可以在数据库实例中创建表空间,⽤户,表了。

查询当前数据库名:select name from v$database;2、数据库实例⽤Oracle官⽅描述:实例是访问Oracle数据库所需的⼀部分计算机内存和辅助处理后台进程,是由进程和这些进程所使⽤的内存(SGA)所构成⼀个集合。

其实就是⽤来访问和使⽤数据库的⼀块进程,它只存在于内存中。

就像Java中new出来的实例对象⼀样。

我们访问Oracle都是访问⼀个实例,但这个实例如果关联了数据库⽂件,就是可以访问的,如果没有,就会得到实例不可⽤的错误。

oracle修改表空间大小的方法

oracle修改表空间大小的方法

oracle修改表空间大小的方法一、引言Oracle数据库是广泛应用于企业级应用系统的数据库管理系统,表空间是Oracle数据库中最基本的数据存储单位。

为了满足业务需求或应对数据增长,常常需要对表空间的大小进行调整。

本篇文章将详细介绍如何修改Oracle数据库中的表空间大小。

二、准备工作1. 确认具有足够的权限:修改表空间大小需要具有足够的权限,通常需要具有DBA(数据库管理员)角色或与之相关的权限。

2. 了解表空间状态:在修改表空间大小之前,需要确保表空间处于正确的状态,例如是否打开了,是否是只读状态等。

3. 备份数据:修改表空间大小可能会对数据库中的数据产生影响,因此在执行此操作之前,强烈建议进行数据备份。

1. 使用ALTER TABLESPACE命令:使用ALTER TABLESPACE命令可以动态地增加或减少表空间中的存储空间。

以下是基本语法:```sqlALTER TABLESPACE tablespace_name ADD SPACE[ ( space_number ) ] [ DATAFILE 'file_path' [ SIZE{ file_size | next_autoextend } ] ] ;```* `tablespace_name`:要修改的表空间名称。

* `space_number`:要添加的空间编号(可选)。

* `file_path`:新数据文件的路径和文件名。

* `file_size`:新数据文件的大小(可选)。

* `next_autoextend`:自动扩展的最小大小(可选)。

2. 使用ALTER TABLE命令:通过修改表的数据块大小来间接调整表空间的大小。

这种方法适用于调整单个表的大小。

以下是基本语法:```sqlALTER TABLE table_name MODIFY (data_block_size =new_size);```* `table_name`:要修改的表的名称。

Oracle-undo-表空间管理

Oracle-undo-表空间管理

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 中SCHEMA的概念以及数据库,表空间,数据文件等的区别

ORACLE 中SCHEMA的概念以及数据库,表空间,数据文件等的区别

ORACLE 中SCHEMA的概念以及数据库,表空间,数据文件等的区别(转)有的人还是对schema的真正含义不太理解,现在我再次整理了一下,希望对大家有所帮助。

我们先来看一下他们的定义:A schema is a collection of database objects (used by a user.).Schema objects are the logical structures that directly refer to the database’s data.A user is a name defined in the database that can connect to and access objects.Schemas and users help database administrators manage database security.从定义中我们可以看出schema为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema,schema里面包含了各种对象如tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links。

一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema。

这也就是我们在企业管理器的方案下看到schema 名都为数据库用户名的原因。

Oracle数据库中不能新创建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决(Oracle中虽然有create schema语句,但是它并不是用来创建一个schema的),在创建一个用户的同时为这个用户创建一个与用户名同名的schem并作为该用户的缺省shcema。

表空间(TABLESPACE)

表空间(TABLESPACE)

表空间(TABLESPACE)表空间(TABLESPACE)是ORACLE数据库中最大的逻辑结构。

ORACLE数据库是由一个或多个表空间组成的。

它在物理上与磁盘上的数据文件相对应(一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表空间)。

从物理上说数据库的数据被存放在数据文件中,而从逻辑上说是被存放在表空间中的。

数据库的逻辑配置实际上就是指表空间的配置。

一、表空间概述表空间是ORACLE数据库中最大的逻辑结构。

数据库的所有对象和方案都被逻辑的保存在表空间中。

(一)表空间的特性与作用数据库管理系统(DBMS)是建立在操作系统(OS)基础上的,它的数据也必须存储在各个文件中,如数据文件、重做日志文件、归档日志文件等。

表不是文件,表不是空间。

表空间是组织结构和分配空间的逻辑结构。

除了数据文件之外,控制文件、重做日志文件、归档日志文件等其他文件都不属于任何表空间。

表空间的特性如下:1.一个数据库可以有多个表空间。

可以在数据库中创建、删除表空间;2.一个表空间只属于一个数据库;3.一个表空间必须要有一个数据文件;4.一个表空间的大小等于其中所有数据文件的大小之和。

数据库的大小等于其中所有表空间的大小之和;5.表空间可以被联机和脱机。

SYSTEM表空间不能被脱机;6.表空间可以在读写、只读状态之间切换;7.每个表空间由一个或多个物理存在的操作系统的数据文件组成。

这种数据文件可以具有固定的大小,或允许其自动变大。

可以在表空间中添加、删除数据文件;8.方案对象、表、索引的数据都被存储在表空间的数据文件中。

一个数据文件存储不下,就存储在另一个数据文件中,只要该数据文件是本表空间中的就可以;9.一个用户默认使用一个表空间,但他的不同方案对象的数据可以被存储在不同表空间中;10.一个用户使用的表空间的数量是有一定配额的,不能超出这个配额;11.可以根据使用目的,创建不同类型的表空间,如永久表空间、临时表空间、撤销表空间、大表空间等。

oracle数据库表空间扩容方法

oracle数据库表空间扩容方法

一、概述数据库管理是企业信息系统中极为重要的一环,而Oracle数据库作为业界优秀的关系型数据库管理系统,通常被广泛应用于企业级应用中。

在数据库管理中,表空间是一个很重要的概念,它用于管理数据库中的数据存储。

随着数据量的增加,表空间可能会出现空间不足的情况,因此扩容表空间变得至关重要。

本文将介绍几种扩容Oracle数据库表空间的方法。

二、从数据文件角度扩容表空间1. 增加数据文件当表空间中的数据文件即将满的时候,可以通过增加数据文件的方式来扩容表空间。

具体操作步骤如下:1) 在Oracle数据库中使用“alter tablespace 表空间名 add datafile 新数据文件名 size 新数据文件大小”命令来增加数据文件;2) 通过以上操作,可以为表空间增加数据文件,并使表空间的空间得到扩容。

2. 自动扩展在表空间创建的时候,可以选择启用自动扩展功能。

当表空间中的数据文件空间不足时,可以自动扩展表空间的空间大小。

具体操作步骤如下:1) 在创建表空间的时候,使用“autoextend on”选项来启用自动扩展功能;2) 当表空间中的数据文件空间不足时,系统会自动扩展表空间的空间大小。

三、从段角度扩容表空间1. 移动段移动段是一种有效的扩容表空间的方法。

通过移动段,可以将表或索引从原有的表空间移动到具有足够空间的表空间中,从而实现表空间的扩容。

具体操作步骤如下:1) 使用“alter table 表名 move tablespace 新表空间名”命令来将表移动到新的表空间;2) 使用“alter index 索引名 rebuild tablespace 新表空间名”命令来将索引移动到新的表空间。

2. 压缩段通过压缩段的方式,可以释放表空间中的空闲空间,从而实现表空间的扩容。

具体操作步骤如下:1) 使用“alter table 表名enable row movement”命令来启用行移动功能;2) 使用“alter table 表名shrink spacepact”命令来压缩表,释放表空间中的空闲空间。

oracle建立表空间的方法

oracle建立表空间的方法

oracle建立表空间的方法Oracle数据库中建立表空间的方法主要有两种:一种是通过SQL命令的方式,另一种是通过Oracle客户端Enterprise Manager Console来创建。

通过SQL命令的方式创建表空间,需要先创建临时表空间和数据表空间,然后创建用户并指定表空间。

具体步骤如下:1. 创建临时表空间。

可以通过以下命令创建:```sqlcreate temporary tablespace user_temptempfile 'D:\oracle\oradata\Oracle9i\user_'size 50m autoextend on next 50mmaxsize 20480mextent management local;```2. 创建数据表空间。

可以通过以下命令创建:```sqlcreate tablespace user_dataloggingdatafile 'D:\oracle\oradata\Oracle9i\user_'size 50m autoextend on next 50mmaxsize 20480mextent management local;```3. 创建用户并指定表空间。

可以通过以下命令创建用户并将表空间指定给该用户:```sqlcreate user username identified by password;grant create session, create tablespace to username;alter user username default tablespace user_data temporary tablespace user_temp;```通过Oracle客户端Enterprise Manager Console来创建表空间,可以通过以下步骤完成:1. 打开Oracle客户端Enterprise Manager Console。

oracle扩展表空间的三种方法

oracle扩展表空间的三种方法

oracle扩展表空间的三种方法在Oracle数据库中,扩展表空间是一种常见的管理数据库空间的操作。

当表空间的容量不足时,需要扩展表空间以满足数据库的需求。

以下将介绍三种常见的Oracle扩展表空间的方法。

1.增加数据文件增加数据文件是扩展表空间最直接和常见的方法。

数据文件是Oracle数据库中存储数据的基本单位,通过增加数据文件可以扩展表空间的容量。

以下是增加数据文件的步骤:步骤1:选择要扩展的表空间使用如下语句选择要扩展的表空间:```sqlSELECT tablespace_name FROM dba_tablespaces;```步骤2:创建数据文件使用如下语句创建数据文件:```sqlALTER TABLESPACE tablespace_name ADD DATAFILE 'file_name' SIZE size [AUTOEXTEND ON NEXT size NEXT size ...];```其中,tablespace_name是要扩展的表空间名称,file_name是新数据文件的名称,size是数据文件初始大小。

AUTOEXTEND关键字用于设置数据文件的自动增长。

可以通过NEXT关键字设置数据文件的自动增长的大小。

2.增加临时表空间临时表空间用于存储排序、连接和其他需要临时存储空间的操作。

当临时表空间的空间不足时,需要扩展临时表空间。

以下是增加临时表空间的步骤:步骤1:选择要扩展的临时表空间使用如下语句选择要扩展的临时表空间:```sqlSELECT tablespace_name FROM dba_temp_files;```步骤2:创建临时文件使用如下语句创建临时文件:```sqlALTER TABLESPACE tablespace_name ADD TEMPFILE 'file_name' SIZE size [AUTOEXTEND ON NEXT size NEXT size ...];```其中,tablespace_name是要扩展的临时表空间名称,file_name是新临时文件的名称,size是临时文件初始大小。

Oracle表空间和数据文件的关系

Oracle表空间和数据文件的关系

数据库的物理结构是由数据库的操作系统文件所决定,每一个Oracle数据库是由三种类型的文件组成:数据文件和控制文件。

数据库的文件为数据库提供真正的物理存储。

每一个Oracle数据库有一个或多个物理的数据文件(data file)。

一个数据库的数据文件包含全部数据库数据。

逻辑数据库结构(如表,索引等)的数据物理地存储在数据库地数据文件中。

数据文件通常为*.dbf格式,例如: userCIMS.dbf. 数据文件有一下特征:①、一个数据文件仅与一个数据库联系; ②、一旦建立, 数据文件只增不减; ③、一个表空间(数据库存储地逻辑单位)由一个或多个数据文件组成。

其次, 我们再来叙述一下Oracle的逻辑结构: Oracle的逻辑结构包括表空间(tablespace), 段(segment), 数据块(data block)以及模式对象(schema object)。

Oracle数据库在逻辑上是由多个表空间组成的, 表空间在物理上包含一个或者多个数据文件。

而数据文件大小是块大小的整数倍; 表空间中存储的对象叫段, 比如数据段, 索引段和回退段。

段由区组成, 区是磁盘分配的最小单位。

段的增大是通过增加区的个数来实现的。

每个区的大小是数据块大小的整数倍,取得大小可以不同;数据块是数据库中的最小的I/O单位,同时也是内存数据缓冲区的单位,及数据文件存储空间单位。

块的大小由参数DB_BLOCK_SIZE设置,其值影设置为操作系统块大小的整数倍。

⑴表空间(TABLESPACE)表空间是数据库中最大的逻辑单位,每一个表空间由一个或多个数据文件组成,一个数据文件只能与一个表空间相联系。

每一个数据库都有一个SYSTEM表空间,该表空间是在数据库创建或数据库安装时自动创建的,用于存储系统的数据字典表,程序系统单元,过程函数,包和触发器等,也可用于存储用户数据表,索引对象。

表空间具有在线(online)和离线(offline)属性,可以将除SYSTEM以外的任何表空间置为离线。

oracle表空间的概念和作用

oracle表空间的概念和作用

oracle表空间的概念和作用
Oracle表空间是逻辑上的一个概念,用于组织和管理数据库中的表、索引、存储过程、视
图等数据库对象。

作用如下:
1. 数据存储:表空间是物理存储数据库对象的地方,包括表、索引、数据文件等。

通过在不同
的表空间存储不同的数据库对象,可以对数据进行组织和管理。

2. 空间管理:通过表空间可以对数据库中的数据进行逻辑上的划分,方便进行空间管理和监控。

可以通过创建多个表空间在不同的磁盘上存储数据,提高数据库的性能和容量。

3. 管理对象:可以通过分配不同的表空间给不同的数据库用户,实现对数据库对象的权限管理。

不同的用户可以在自己的表空间中创建、修改和删除数据库对象。

4. 数据备份和恢复:使用表空间可以方便地进行数据备份和恢复。

可以根据需要备份或恢复整
个表空间,而不必担心其他表空间中的数据。

5. 性能优化:通过合理划分表空间可以提高数据库的性能。

可以将相互关联的表放在同一个表
空间中,减少物理I/O操作和提高查询性能。

总之,表空间的概念和作用是为了更好地管理和组织数据库中的数据,提高数据库的性能和管
理效率。

大型数据库技术智慧树知到答案2024年临沂大学

大型数据库技术智慧树知到答案2024年临沂大学

大型数据库技术临沂大学智慧树知到答案2024年第一章测试1.下面的语句中,( ) 是DDL的例子。

A:delete B:select C:create D:insert答案:C2.显示登录的用户名,可以用的命令是:( )A:REM user B:SELECT user C:SHOW user D:DESCRIB user答案:C3.下面哪一个like命令会返回名字象HOTKA的行?( )A:where ename like ‘H_T% B:where ename like ‘_HOT%'C:where ename like ‘%TOK%' D:where ename like ‘%TKA_'答案:A4.哪个函数与||运算有相同的功能:( )A:concat B:substr C:instr D:ltrim答案:A5.下列哪个聚合函数的参数要求必须是数值型( )。

A:max B:count C:sum D:min答案:C6.Order by子句仅对检索数据的显示有影响,并不改变表中行的内部顺序。

( )A:错 B:对答案:B7.having子句是随着group by子句的出现而出现的,没有group by就没有having。

A:对 B:错答案:A8.在查询中,建议多使用列别名提升输出结果的可读性。

A:错 B:对答案:B第二章测试1.Test表有一列: test_data number(5,4),下面哪个值可以添加到该列中()。

A:22.2 B:2222.2 C:222 D:2.2答案:D2.对于ROLLBACK命令,以下准确的说法是:( )A:撤销上一个COMMIT命令 B: 撤销刚刚进行的数据修改操作 C:撤销本次登录以来所有的数据修改 D:撤销到上次执行提交或回退操作的点答案:D3.表的主键特点中,说法正确的是:( )A:主键可以定义在表级或列级 B:主键的每一列都必须惟一 C:主键的列可以为空值D:一个表可以定义多个主键答案:A4.删除emp表的全部数据,但不提交,以下正确的语句是:( )A:DELETE FROM EMP B: DELETE * FROM EMP C:TRUNCATE TABLEEMP D:DELETE TABLE EMP答案:A5.下面有关表和视图的叙述中错误的是:( )A:删除视图不会影响基表的数据 B:基表不存在,不能创建视图 C:对视图的数据修改最终传递到基表 D:视图的数据可以来自多个表答案:B6.使用索引可以提高查询的速度,但索引不是越多越好。

Oracle中数据库、表空间、数据文件、表、用户之间的关系

Oracle中数据库、表空间、数据文件、表、用户之间的关系

Oracle中数据库、表空间、数据文件、表、用户之间的关系数据库的物理结构是由数据库的操作系统文件所决定,每一个Oracle数据库是由三种类型的文件组成:数据文件、日志文件和控制文件。

数据库的文件为数据库信息提供真正的物理存储。

每一个Oracle 数据库有一个或多个物理的数据文件(data file)。

一个数据库的数据文件包含全部数据库数据。

逻辑数据库结构(如表、索引等)的数据物理地存储在数据库的数据文件中。

数据文件通常为*.dbf格式,例如:userCIMS.dbf。

数据文件有下列特征:①、一个数据文件仅与一个数据库联系;②、一旦建立,数据文件只增不减;③、一个表空间(数据库存储的逻辑单位)由一个或多个数据文件组成。

Oracle的逻辑结构包括:表空间(tablespace),段(segment),数据块(data block)以及模式对象(schema object)。

Oracle数据库在逻辑上是由多个表空间组成的,表空间在物理上包含一个或多个数据文件。

而数据文件大小是块大小的整数倍;表空间中存储的对象叫段,比如数据段,索引段和回退段。

段由区组成,区是磁盘分配的最小单位。

段的增大是通过增加区的个数来实现的。

每个区的大小是数据块大小的整数倍,区的大小可以不相同;数据块是数据库中的最小的I/O单位,同时也是内存数据缓冲区的单位,及数据文件存储空间单位。

块的大小由参数DB_BLOCK_SIZE设置,其值应设置为操作系统块大小的整数倍。

⑴、表空间(tablespace)表空间是数据库中最大的逻辑单位,每一个表空间由一个或多个数据文件组成,一个数据文件只能与一个表空间相联系。

每一个数据库都有一个SYSTEM表空间,该表空间是在数据库创建或数据库安装时自动创建的,用于存储系统的数据字典表,程序系统单元,过程函数,包和触发器等,也可用于存储用户数据表,索引对象。

表空间具有在线(online)和离线(offline)属性,可以将除SYSTME以外的其他任何表空间置为离线。

查询ORACLE表空间和数据文件信息

查询ORACLE表空间和数据文件信息

查询ORACLE表空间和数据⽂件信息表空间是oracle数据库中最⼤的逻辑单位与存储空间单位,数据库系统通过表空间为数据库对象分配空间。

表空间在物理上体现为磁盘数据⽂件,每⼀个表空间由⼀个或多个数据⽂件组成,⼀个数据⽂件只可与⼀个表空间相联系,这是逻辑与物理的统⼀。

了解表空间和数据⽂件的的属性及使⽤率,是数据库管理员的⼀项重要职责。

下⾯以oracle9i为例,详细介绍查询Oracle数据库表空间信息和数据⽂件信息的⽅法。

⼀、查看Oracle数据库中表空间信息的⽅法1、查看Oracle数据库中表空间信息的⼯具⽅法:使⽤oracle enterprise manager console⼯具,这是oracle的客户端⼯具,当安装oracle服务器或客户端时会⾃动安装此⼯具,在windows操作系统上完成oracle安装后,通过下⾯的⽅法登录该⼯具:开始菜单——程序——Oracle-OraHome92——Enterprise Manager Console(单击)——oracle enterprise manager console登录——选择‘独⽴启动’单选框——‘确定’ —— ‘oracle enterprise manager console,独⽴’ ——选择要登录的‘实例名’ ——弹出‘数据库连接信息’ ——输⼊’⽤户名/⼝令’ (⼀般使⽤sys⽤户),’连接⾝份’选择选择SYSDBA——‘确定’,这时已经成功登录该⼯具,选择‘存储’ ——表空间,会看到如下的界⾯,该界⾯显⽰了表空间名称,表空间类型,区管理类型,以”兆”为单位的表空间⼤⼩,已使⽤的表空间⼤⼩及表空间利⽤率。

图1 表空间⼤⼩及使⽤率2、查看Oracle数据库中表空间信息的命令⽅法:通过查询数据库系统中的数据字典表(data dictionary tables)获取表空间的相关信息,⾸先使⽤客户端⼯具连接到数据库,这些⼯具可以是SQLPLUS字符⼯具、TOAD、PL/SQL等,连接到数据库后执⾏如下的查询语句:selecta.a1 表空间名称,c.c2 类型,c.c3 区管理,b.b2/1024/1024 表空间⼤⼩M,(b.b2-a.a2)/1024/1024 已使⽤M,substr((b.b2-a.a2)/b.b2*100,1,5) 利⽤率from(select tablespace_name a1, sum(nvl(bytes,0)) a2 from dba_free_space group bytablespace_name) a,(select tablespace_name b1,sum(bytes) b2 from dba_data_files group bytablespace_name) b,(select tablespace_name c1,contents c2,extent_management c3 fromdba_tablespaces) cwhere a.a1=b.b1 and c.c1=b.b1;该语句通过查询dba_free_space,dba_data_files,dba_tablespaces这三个数据字典表,得到了表空间名称,表空间类型,区管理类型,以”兆”为单位的表空间⼤⼩,已使⽤的表空间⼤⼩及表空间利⽤率。

Oracle 改变表的存储表空间和存储参数

Oracle  改变表的存储表空间和存储参数

Oracle 改变表的存储表空间和存储参数在创建表时,通过一些相应的参数可以规定表的存储位置、存储参数等。

在表创建后,如果发现这些参数设置不合适时,还可以对其进行修改。

使用ALTER TABLE … MOVE语句可以将一个非分区表移动到一个新的表空间。

例如,下面的语句将EMPLOYEES表移到了USER表空间:SQL> alter table employees2 move tablespace users;表已更改。

SQL> select tablespace_name,table_name2 from user_tables3 where table_name='EMPLOYEES';TABLESPACE_NAME TABLE_NAME------------------------------ -------------------USERS EMPLOYEES由于表空间对应的数据文件不同,所以在移动表空间时会在将数据从物理上移动到另一个数据文件。

除此之外,还可以修改表的数据块参数PCTFREE和PCTUSED。

改变这两个参数值后,表中所有的数据块都将受到影响,而不论数据块是否已经被使用。

例如,下面的ALTER TABLE语句将重新设置EMPLOYEES表的PCTFREE与PCTUSED参数:SQL> select tablespace_name,table_name2 from user_tables3 where table_name='EMPLOYEES';TABLESPACE_NAME TABLE_NAME------------------------------ ---------------------USERS EMPLOYEESSQL> alter table employees2 pctfree 303 pctused 50;表已更改。

oracle表空间自增长机制

oracle表空间自增长机制

oracle表空间自增长机制摘要:一、Oracle表空间简介二、Oracle表空间自增长机制1.自动增长设置2.扩展表空间文件3.修改表空间自动增长三、实战案例1.创建表空间2.插入数据并使用自动增长正文:一、Oracle表空间简介Oracle数据库中的表空间是用于存储表数据的物理存储区域。

在数据库创建时,需要为表空间分配数据文件和日志文件。

表空间分为永久表空间和临时表空间两种,其中永久表空间用于存储持久化数据,临时表空间用于存储临时数据。

二、Oracle表空间自增长机制1.自动增长设置在创建表空间时,可以通过`AUTOEXTEND`关键字设置表空间的自动增长。

例如,以下语句创建了一个名为`sirm2`的表空间,初始大小为1G,每次扩展10M,无限制扩展:```CREATE TABLESPACE sirm2DATAFILE "d:oracleproduct10.2.0oradataorclsirm2.dbf" SIZE 1024M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;```2.扩展表空间文件当表空间快满时,可以通过`ALTER TABLESPACE`语句扩展表空间文件。

例如,以下语句将`sirm2`表空间的文件大小扩展到2G:```ALTER TABLESPACE sirm2EXTEND (ONLINE = TRUE)DATAFILE "d:oracleproduct10.2.0oradataorclsirm2.dbf" SIZE 2048M;```3.修改表空间自动增长如果需要修改表空间的自动增长设置,可以使用`ALTER TABLESPACE`语句。

例如,以下语句将`sirm2`表空间的自动增长设置更改为每次扩展5M,最大扩展到5G:```ALTER TABLESPACE sirm2AUTOEXTEND ON NEXT 5M MAXSIZE 5000M;```三、实战案例1.创建表空间根据上述知识点,我们可以创建一个名为`customers`的表空间,并设置自动增长。

oracle删除表空间及数据文件方法

oracle删除表空间及数据文件方法

oracle删除表空间及数据⽂件⽅法oracle 11g版本,创建数据库表空间,默认单个数据⽂件最⼤为32G,如果数据⽂件⼤于32G,可以增加数据⽂件。

--删除空的表空间,但是不包含物理⽂件drop tablespace tablespace_name;--删除⾮空表空间,但是不包含物理⽂件drop tablespace tablespace_name including contents;--删除空表空间,包含物理⽂件drop tablespace tablespace_name including datafiles;--删除⾮空表空间,包含物理⽂件drop tablespace tablespace_name including contents and datafiles;--如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTSdrop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;如果删除表空间报 ORA-00959 错误那就确认⼀下表空间是否还存在:SELECT TABLESPACE_NAME, STATUS, CONTENTS FROM USER_TABLESPACES;表空间已经不存在了,那就直接删除 rm -rf *.dbf ⽂件。

以system⽤户登录,查找需要删除的⽤户:--查找⽤户select * from dba_users;--查找⼯作空间的路径select * from dba_data_files;--删除⽤户drop user ⽤户名称 cascade;--删除表空间drop tablespace 表空间名称 including contents and datafiles cascade constraint;例如:删除⽤户名成为ABC,表空间名称为ABC--删除⽤户,及级联关系也删除掉drop user ABC cascade;--删除表空间,及对应的表空间⽂件也删除掉drop tablespace ABC including contents and datafiles cascade constraint;删除⽆任何数据对象的表空间:⾸先使⽤PL/SQL界⾯化⼯具,或者使⽤oracle⾃带的SQL PLUS⼯具,连接需要删除的表空间的oracle数据局库。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8.4 设置默认表空间
设置数据库默认表空间
alter database default tablespace users; 数据库已更改。 alter database default temporary tablespace temp;
数据库已更改。
8.5修改数据文件的状态
数据文件的状态 online、offline和offline drop archivelog模式下
Alter database datafile 'f:\data01.dbf' offline;
noarchivelog模式下
alter database datafile 'f:\data01.dbf' offline drop;
注:将数据文件设置为offline,不会影响表空间 状态,但将表空间设置为offline,该表空间的数 据文件都被设置为offline状态。 要在归档模式下
8.1 建立表空间
在Oracle 11g中,当数据库管理员(DBA)创建数据库 时, SYSTEM UNDOTBS SYSAUX TEMP EXAMPLE USERS
8.1.1 建立普通表空间
根据表空间对盘区的管理方式,表空间分为: 数据字典管理表空间(Oracle7,8,8i)
2. 为表空间增加新的数据文件: alter tablespace 表空间名 add datafile 数据文件 size 大小
3. 修改数据文件的自动扩展空间 alter database datafile 数据文件 autoextend on [next 大小 maxsize {unlimited | 大小} ]
8.6 移动数据文件
第一步,将表空间offline alter tablespace tablespace_name offline; 第二步,cp文件到新的目录并rename修改文件 第三步,将相应表空间在线 SQL>col tablespace_name format A10; SQL>select tablespace_name,file_name from dba_data_files; SQL>alter tablespace data01 offline; SQL>alter tablespace myspace rename datafile 'f:\orcl\mysapce.dbf' to 'e:\orcl\mysapce.dbf'; SQL>alter tablespace myspace online;
回顾
控制文件与日志文件
物理文件
数据文件: 用来存储数 据的
控制文件和 重做日志文件: 用于维护 Oracle数据库 的正常运行
OPEN 根据控制文件打开数据 文件和重做日志 MOUNT 打开控制文件
NOMOUNT 根据参数文件启动实 例 SHUTDOWN
第8章 管理表空间和数据文件
表空间的基本概念
特点:
不能随意地修改存储参数。 不像数据字典(系统)管理的表空间那样灵活但系统 的效率较高。
Create tablespace user03 datafile 'f:\user03.dbf' size 50m extent management local uniform size 512k; //指定区的尺寸是512K,区尺寸默认为64k Create tablespace user02 datafile 'f:\user02.dbf' size 50m extent management local autoallocate;
path_filename为包含路径的数据文件名。在路径 中可用ORACLE_HOME和ORACLE_BASE这样的 Oracle环境变量 一般选择NOLOGGING以免影响系统性能 SEGMENT SPACE MANAGEMENT一般采用自动(AUTO)管理 使用BLOCKSIZE可以定义使用非标准大小块的表空间
datafile_tempfile_spec语法
'path_filename' [SIZE integer [K|M]] [REUSE] [AUTOEXTEND {OFF|ON [NEXT integer [K|M]] [MAXSIZE {UNLIMITED | integer [K|M]}] }]
Tablespace
Oracle数据库中 的数据逻辑地存 储在表空间并物 理地存储在数据 文件中。
Segment
Extent
Extent
Data Blocks Data File
逻辑存储结构 数据库
物理存储结构
表空间
数据文件


Oracle块
OS块
本章知识要点:
掌握各种表空间的建立方法 掌握改变表空间状态的方法 掌握扩展表空间的方法 掌握管理数据文件的方法 了解UNDO表空间的作用
Offline 不允许访问该表空间中的数据。如向 表空间中创建表或者读取表空间的数据等操作 都将无法进行。这时可以对表空间进行脱机备 份;也可以对应用程序进行升级和维护。 read only和read write属于online的两种不同 情况,默认是read write;
示例
alter tablespace data01 offline; alter tablespace data01 online; alter tablespace data01 read only; alter tablespace data01 read write; select tablespace_name,status from dba_tablespaces
本地管理的表空间
本地管理的表空间其空闲EXTENTS是在表空间中管理 的,它是使用位图(Bitmap)来记录空闲EXTENTS, 位图中的每一位对应于一块或一组块,而每位的值指 示空闲或分配。当一个EXTENT被分配或释放时, Oracle服务器就会修改位图中相应位的值以反映该 EXTENT的新的状态。位图存放在表空间所对应的数据 文件的文件头中。
UNIFORM SIZE是指表空间中的每个区段大小总 是完全相同;
create tablespace data01 datafile 'f:\data01.dbf' size 10M Uniform;
create tablespace data02 datafile 'f:\data02.dbf' size 10M uniform size 256k
注意:不能指定autoallocate
8.2修改表空间大小
创建表空间时,必须在物理磁盘上为表空间建立数据 文件,数据文件的大小决定了创建表空间大小,构成 表空间的文件可以位于不同的物理磁盘上,表空间大 小等于不同物理磁盘上所有数据文件的大小之和。 增大表空间一般通过两种方式: 1. 增大原有的数据文件: alter database datafile 数据文件 resize 大小
8.1.2 建立Undo表空间
create undo tablespace undtbs2 datafile 'f:\undtbsd2.dbf' size 50M
8.1.3 建立临时表空间
临时表空间
临时数据的集 中化管理
提高其他表空 间的使用效率
并发排序操作
建立多个临时 表空间
建立本地临时表空间 create temporary tablespace temp01 tempfile 'f:\temp01.dbf' size 10m extent management local uniform size 256k;
表空间
本地化管理表空间
Uniform
AutoAllocate
数据字典管理表空间
在这种表空间的管理方法中所有的空闲区由数据字典 来统一管理。每当区段被分配或收回时,Oracle服务器 将修改数据字典中相应的(系统)表。
特点:
表空间中所有的EXTENTS的管理都是在数据字典中进 行的,而且每一个存储在同一个表空间中的段可以具 有不同的存储子句。 可以按用户的需要修改存储参数,存储管理比较灵活 但系统的效率较低。
AUTOALLOCATE则表示Oracle会使用一种内部 算法来确定每个区段应该是多大。(如不使用 uniform则默认为autoallocate)
CREATE TABLESPACE data04 DATAFILE 'f:\data04.dbf' SIZE 50M;
create tablespace myspace datafile 'f:\myspace.dbf' size 10M autoextend on next 5M maxsize 100M;
示例
alter database datafile 'f:\data01.dbf' resize 20M; alter tablespace data04 add datafile 'f:\data05.dbf' size 10M; select tablespace_name,file_name,bytes from dba_data_files; alter database datafile 'f:\data01.dbf' autoextend on next 5M maxsize 100M;
CREATE TABLESPACE user02 DATAFILE ‘f:\user01.DBF' SIZE 50 M, ‘f:\user02.DBF' SIZE 50 M MINIMUM EXTENT 50K EXTENT MANAGEMENT DICTIONARY DEFAULT STORAGE (INITIAL 50K NEXT 50K MAXEXTENTS 100 PCTINCREASE 0);
相关文档
最新文档