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表空间管理进行详细介绍,包括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 tablespace (表空间)的创建、删除、修改、扩展及检查等

Oracle tablespace (表空间)的创建、删除、修改、扩展及检查等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 data01datafile '/oracle/oradata/db/data01.dbf' size 500muniform size 128k; --指定区尺寸为128k,如不指定,区尺寸默认为64kcreate tablespace "test"loggingdatafile 'd:\oracle\oradata\oracle\sample.ora' size 5m,'d:\oracle\oradata\oracle\dd.ora' size 5mextent management localuniform segment space managementauto;--详解/*第一: create tablespace "sample"创建一个名为"sample" 的表空间.对表空间的命名,遵守oracle 的命名规范就可了. 第二: logging 有nologging 和logging 两个选项,nologging: 创建表空间时,不创建重做日志.logging 和nologging正好相反, 就是在创建表空间时生成重做日志.用nologging时,好处在于创建时不用生成日志,这样表空间的创建较快,但是没能日志,数据丢失后,不能恢复;但是一般我们在创建表空间时,是没有数据的,按通常的做法,是建完表空间,并导入数据后,是要对数据做备份的;所以通常不需要表空间的创建日志,因此,在创建表空间时,选择nologging,以加快表空间的创建速度.第三: datafile 用于指定数据文件的具体位置和大小.datafile 的文件是建立表空间后创建的,不过文件路径必须存在才是合法的datafile设置如: datafile 'd:\oracle\oradata\ora92\luntan.ora' size 5m说明文件的存放位置是'd:\oracle\oradata\ora92\luntan.ora' , 文件的大小为5m.如果有多个文件,可以用逗号隔开:如:datafile 'd:\oracle\oradata\ora92\luntan.ora' size 5m, 'd:\oracle\oradata\ora92\ dd.ora' size 5m但是每个文件都需要指明大小.单位以指定的单位为准如5m 或500k.对具体的文件,可以根据不同的需要,存放大不同的介质上,如磁盘阵列,以减少io竟争. 指定文件名时,必须为绝对地址,不能使用相对地址.第四: extent management local 存储区管理方法在字典中管理(dictionary):将数据文件中的每一个存储单元做为一条记录,所以在做dm操作时,就会产生大量的对这个管理表的delete和update操作.做大量数据管理时,将会产生很多的dm操作,严得的影响性能,同时,长时间对表数据的操作,会产生很多的磁盘碎片.本地管理(local):用二进制的方式管理磁盘,有很高的效率,同进能最大限度的使用磁盘.同时能够自动跟踪记录临近空闲空间的情况,避免进行空闲区的合并操作。
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表空间自增长机制1. 概述在Oracle数据库中,表空间(tablespace)是用于存储数据和索引的逻辑结构。
它可以包含一个或多个数据文件(datafile),而数据文件则是物理上存储数据的文件。
为了有效地管理存储空间,Oracle提供了自增长机制,使得表空间可以根据需要自动增加或减少存储容量。
本文将详细介绍Oracle表空间自增长机制的原理、配置和管理方法。
2. 自增长类型Oracle表空间的自增长机制主要有两种类型:自动扩展和手动扩展。
2.1 自动扩展当表空间中的数据文件达到其最大大小时,Oracle会自动扩展该数据文件。
自动扩展可以通过设置表空间的最大大小(MAXSIZE)来限制。
当数据文件达到最大大小时,Oracle会创建一个新的数据文件,并将新写入的数据分配给新的数据文件。
自动扩展还可以通过设置增量大小(INCREMENT BY)来控制每次扩展的大小。
例如,如果设置增量大小为100M,则每次扩展时会新增100M的存储容量。
2.2 手动扩展除了自动扩展外,用户还可以手动地对表空间进行扩展。
手动扩展可以通过执行ALTER TABLESPACE语句来实现。
手动扩展时,可以指定增加的数据文件的大小和位置。
Oracle会在指定位置创建一个新的数据文件,并将新写入的数据分配给新的数据文件。
3. 配置表空间自增长要配置表空间的自增长机制,需要使用ALTER TABLESPACE语句。
下面是一些常用的配置选项:3.1 设置最大大小可以使用以下语法设置表空间的最大大小:ALTER TABLESPACE tablespace_name MAXSIZE size;其中,tablespace_name是要配置的表空间名称,size是最大大小(例如1G、100M等)。
3.2 设置增量大小可以使用以下语法设置表空间的增量大小:ALTER TABLESPACE tablespace_name AUTOEXTEND ON NEXT size;其中,tablespace_name是要配置的表空间名称,size是增量大小(例如100M、1G等)。
oracle表空间总结(个人笔记总结)

表空间含义:表空间是数据库的逻辑组成部分。
从物理上讲,数据库数据存放在数据文件中;从逻辑上讲,数据库则是存放在表空间中,表空间由一个或多个数据文件组成1,oracle 中逻辑结构包括表空间、段、区和块。
说明一下数据库由表空间构成,而表空间又是由段构成,而段又是由区构成,而区又是由oracle 块构成的这样的一种结构,可以提高数据库的效率。
表空间用于从逻辑上组织数据库的数据。
数据库逻辑上是由一个或是多个表空间组成的2,创建表空间:create tablespace data01 datafile 'd:\test\dada01.dbf' size 20m uniform size 128k;或SQL> create tablespace lqb datefile 'e:\lqb.dbf' size 50M autoextend on next 50M maxsize unlimited extend mangement local;-------------extend mangement local;本地管理表空间。
autoextend on next 50M maxsize unlimited 在50M后最大的扩展时没有限制的3,第3步:创建用户并指定表空间*/ create user USERNAME identified by PASSWORD default tablespace USER_DATE temporary tablespace user_temp;-------------temporary 临时的,暂时的4,如何将表移动到指定表空间alter table TABLE_NAME move tablespace TABLESPACE_NAME;如何将索引移动到指定的表空间alter index INDEX_NAME REBUILD tablespace TABLESPACE_NAME;5,改变表空间的状态a,使表空间脱机alter tablespace 表空间名offline; b,使表空间联机alter tablespace 表空间名online; c,只读表空间alter tablespace 表空间名read only; (修改为可写是alter tablespace 表空间名read write;)6, 知道表空间名,显示该表空间包括的所有表select * from all_tables where tablespace_name='表空间名';7,知道表名,查看该表属于那个表空间select tablespace_name, table_name from user_tables where table_name='emp';8,扩展该表空间,为其增加更多的存储空间。
ORACLE创建表空间、创建用户、更改用户默认表空间以及授权、查看权限(修改表空间大小)

ORACLE创建表空间、创建⽤户、更改⽤户默认表空间以及授权、查看权限(修改表空间⼤⼩)查询表空间路径:select * from dba_data_files删除表空间:正常情况下,删除表空间的正确⽅法为:DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;实例:1、CREATE TABLESPACE UCITDB_dataLOGGINGDATAFILE '/home/app/oracle/app/oracle/oradata/UCITDB/UCITDB_DATA01.DBF'SIZE 32MAUTOEXTEND ONNEXT 32M MAXSIZE 2048MEXTENT MANAGEMENT LOCAL;创建表空间UCITDB_data:⽤户表空间不限制表空间⼤⼩⽤:maxsize unlimited2、CREATE USER UCITDBA IDENTIFIED BY 111111DEFAULT TABLESPACE UCITDB_data;创建帐号并设置默认表空间UCITDBA:创建的帐号名111111:为设置帐号的密码修改⽤户默认表空间:alter user dbcenter default tablespace DBCENTER_DATA3、grant dba TO UCITDBA给⽤户授予权限dba:⽤户组UCITDBA:⽤户创建临时表空间:CREATE TEMPORARY TABLESPACE test_tempTEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf'SIZE 32MAUTOEXTEND ONNEXT 32M MAXSIZE 2048MEXTENT MANAGEMENT LOCAL;创建⽤户表空间:CREATE TABLESPACE test_dataLOGGINGDATAFILE 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\TEST_DATA01.DBF'SIZE 32MAUTOEXTEND ONNEXT 32M MAXSIZE 2048MEXTENT MANAGEMENT LOCAL;创建⽤户并制定表空间:CREATE USER username IDENTIFIED BY passwordDEFAULT TABLESPACE TEST_DATATEMPORARY TABLESPACE TEST_TEMP;给⽤户授予权限:GRANTCREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE, ALTER ANY TABLE, ALTER ANY PROCEDURE,DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLETO username;将role这个⾓⾊授与username,也就是说,使username这个⽤户可以管理和使⽤role所拥有的资源GRANT role TO username;-----------------------------------------------查看⽤户权限---------------------------------------------------------查看所有⽤户:SELECT * FROM DBA_USERS;SELECT * FROM ALL_USERS;SELECT * FROM USER_USERS;查看⽤户系统权限:SELECT * FROM DBA_SYS_PRIVS;SELECT * FROM USER_SYS_PRIVS;查看⽤户对象或⾓⾊权限:SELECT * FROM DBA_TAB_PRIVS;SELECT * FROM ALL_TAB_PRIVS;SELECT * FROM USER_TAB_PRIVS;查看所有⾓⾊:SELECT * FROM DBA_ROLES;查看⽤户或⾓⾊所拥有的⾓⾊:SELECT * FROM DBA_ROLE_PRIVS;SELECT * FROM USER_ROLE_PRIVS;------遇到no privileges on tablespace 'tablespace 'alter user userquota 10M[unlimited] on tablespace;oracle表空间增加和修改数据⽂件1、增加数据⽂件alter tablespace tablespace_name add datafile '/usr/app/oracle/oradata/dbm/UCITDB_DATA01.DBF' size 10240M;2、⼿⼯改变数据⽂件尺⼨alter database datafile '/usr/app/oracle/oradata/dbm/UCITDB_DATA01.DBF' resize 2048M;3、容许数据⽂件⾃动扩展alter database datafile '/usr/app/oracle/oradata/dbm/UCITDB_DATA01.DBF' autoextend on next 200M maxsize 30G; (解决oracle:ora 00017 01659错误)。
oracle表空间路径配置文件

oracle表空间路径配置文件(实用版)目录1.Oracle 表空间简介2.Oracle 表空间路径配置文件的作用3.Oracle 表空间路径配置文件的创建与编辑4.Oracle 表空间路径配置文件的应用示例5.Oracle 表空间路径配置文件的注意事项正文一、Oracle 表空间简介Oracle 表空间(Table Space)是 Oracle 数据库中用于存储数据的基本逻辑结构。
表空间由一个或多个物理数据文件组成,是数据库中数据的组织和管理单位。
每个表空间都有一个唯一的名称,可以由用户创建和管理。
在 Oracle 数据库中,表空间扮演着至关重要的角色,因为它们负责存储所有的数据,包括用户数据和系统数据。
二、Oracle 表空间路径配置文件的作用Oracle 表空间路径配置文件主要用于指定表空间数据文件的存储位置。
通过配置文件,数据库管理员可以灵活地控制表空间数据文件的存储路径,以便更好地管理数据库存储空间和优化系统性能。
三、Oracle 表空间路径配置文件的创建与编辑1.创建表空间路径配置文件要创建表空间路径配置文件,需要使用 Oracle 提供的命令行工具——SQL*Plus。
以下是创建表空间路径配置文件的示例:```CREATE OR REPLACE DIRECTORY 表空间路径配置文件AS "C:Oracledata表空间名称";```其中,“表空间名称”需要替换为实际的表空间名称。
2.编辑表空间路径配置文件要编辑表空间路径配置文件,可以使用以下命令:```ALTER DIRECTORY 表空间路径配置文件PATH "C:Oracledata表空间名称"DELETE;CREATE OR REPLACE DIRECTORY 表空间路径配置文件AS "C:Oracledata新的表空间名称";```其中,“表空间名称”需要替换为实际的表空间名称,“新的表空间名称”需要替换为实际的新的表空间名称。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一数据文件和表空间的管理
【开发语言及实现平台或实验环境】
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.表空间的管理
(1)创建表空间
创建表空间时,应该确定表空间的名称、类型、对应的数据文件的名称和位置以及区的分配方式、段的管理方式:
表空间名称以字母开头,可以包含字母、数字以及一些特殊字符等;
表空间的类型包括普通表空间、临时表空间和撤销表空间;
表空间中区的分配方式包括两种方式:自动扩展(AUTOALLOCATE)和定制(UNIFORM);段的管理包括两种方式:自动管理(AUTO)和手动管理(MANUAL)。
创建永久表空间:
创建永久表空间使用CREATE TABLESPACE语句来实现,该语句包含以下几个子句:DATAFILE:设定表空间对应的数据文件。
EXTENT MANAGEMENT:指定表空间的管理方式,取值为LOCAL(默认)或DICTIONARY。
AUTOALLOCATE(默认)或UNIFORM:设定区的分配方式。
SEGMENT SPACE MANAGEMENT:设定段的管理方式,其取值为MANUAL或AUTO(默认)。
例:为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用自动管理方式。
CREATE TABLESPACE ORCLTBS1 DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_1.DBF' SIZE 50M;
例:为ORCL数据库创建一个永久性的表空间,区定制分配,段采用自动管理方式。
CREATE TABLESPACE ORCLTBS2 DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS2_1.DBF' SIZE 50M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K;
例:为ORCL数据库创建一个永久性的表空间,区自动扩展,段采用手动管理方式。
CREATE TABLESPACE ORCLTBS3 DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS3_1.DBF' SIZE 50M
SEGMENT SPACE MANAGEMENT MANUAL;
例:为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;
(2)修改表空间
I)扩展表空间:
为表空间添加数据文件:
通过ALTER TABLESPACE…ADD DATAFILE语句为永久表空间添加数据文件。
例:为ORCL数据库的ORCLTBS1表空间添加一个大小为10 MB的新数据文件。
ALTER TABLESPACE ORCLTBS1 ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF' SIZE 10M;
还可以通过改变表空间已有数据文件的大小,达到扩展表空间的目的。
例:将ORCL数据库的ORCLTBS1表空间的数据文件ORCLTBS1_2.DBF大小增加到20 MB。
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF' RESIZE 20M;
II)设置默认表空间
在Oracle10g数据库中,默认表空间为USERS表空间。
设置数据库的默认表空间:
ALTER DATABASE DEFAULT TABLESPACE
例:将默认表空间设为ORCLTBS1
ALTER DATABASE DEFAULT TABLESPACE ORCLTBS1;
(3)删除表空间
语法:
DROP TABLESPACE tablespace_name
如果表空间非空,应带有子句INCLUDING CONTENTS
若要删除操作系统下的数据文件,应带有子句AND DATAFILES
删除参照完整性约束,应带有子句CASCADE CONSTRAINTS
【实验内容】
用sys/manager登录到orcl数据库实例,完成以下内容:
1.为Users表空间添加一个数据文件,文件名为users03.dbf,大小为50M。
2.修改上述数据文件为自动扩展方式,每次扩展5MB,文件最长100M。
3.修改上述数据文件为自动扩展方式,每次扩展5MB,文件最长无限制。
4.创建一个本地管理方式下自动分区管理的表空间USERTBS1,其对应的数据文件名称为
USERTBS1_1.DBF,大小为20M。
5.为上述表空间USERTBS1添加一个数据文件USERTBS1_2.DBF,大小为20M。
6.修改表空间USERTBS1的数据文件USERTBS1_2.DBF大小为50M。
7.创建一个本地管理方式下的表空间USERTBS2,要求每个分区大小为512KB。
8.为数据库添加一个重做日志文件组,组内包含两个成员文件,分别为redo04a.log和
redo04b.log,大小分别为5M。
9.为新建的重做日志文件组添加一个成员文件,名称为redo04clog。