ORACLE教程DBA_les04_tablespace

合集下载

Oracle管理表空间和数据文件详解

Oracle管理表空间和数据文件详解

Oracle管理表空间和数据⽂件详解介绍表空间是数据库的逻辑组成部分从物理上将:数据库数据存放在数据⽂件中从逻辑上将:数据库则是存放在表空间中表空间由⼀个或是多个数据⽂件组成数据库的逻辑结构介绍:Oracle中逻辑结构包括表空间、段、区、块说明:数据库由表空间构成⽽表空间⼜是由段构成⽽段⼜是由区构成⽽区⼜是由Oracle块构成这样的⼀种结果,可以提⾼数据库的效率表空间介绍:表空间⽤于从逻辑上组织数据库的数据数据库逻辑上是由⼀个或是多个表空间组成的表空间的作⽤:1、控制数据库占⽤的磁盘空间2、dba可以将不同数据类型部署到不同的位置。

这样有利于提⾼i/o性能,同时利于备份和恢复等管理操作建⽴表空间建⽴表空间是使⽤create tablespace命令完成的,要注意时,⼀般情况下,建⽴表空间是特权⽤户或是dba来执⾏的,如果⽤其它⽤户来创建表空间,则⽤户必须要具有create tablespace的系统权限建⽴数据表空间在建⽴数据库后,为便于管理表,最好建⽴⾃⼰的表空间create tablespace 表空间名 datafile '数据⽂件路径' size 数据⽂件的⼤⼩ uniform size 区的⼤⼩;create tablespace tangtao001 datafile 'd:\t001.dbf' size 20m uniform size 128k;使⽤数据表空间向新建的表空间添加表:create table myDept(deptno number(4),dname varchar2(15),loc varchar2(13)) tablespace tangtao001;说明:执⾏完上述命令后,会建⽴名称为tangtao001 的表空间,并为该表空间建⽴名称为t001.dbf的数据⽂件,区的⼤⼩为128k1、显⽰表空间信息a) 查询数据字典视图dba_tablespaces。

oracle表空间管理

oracle表空间管理

用oracle企业管理器登陆oracle,选择表空间,查看oracle表空间的使用率重点查看bpms_data bpms_index temp这三个表空间,如果表空间使用率达到80%,就须扩容.扩容命令如下:例:给bpms_data扩容20G1.在datadg1逻辑卷组分配新的逻辑卷bpms_data4vxassist -g datadg1 -U gen make BPMS_data4 20g &2.将权限分配给oracle用户和dba组vxedit -g datadg set user=oracle group=dba mode=644 BPMS_data43.将空间分配给oracle表空间ALTER TABLESPACE "BPMS_DA TA" ADDDA TAFILE '/dev/vx/rdsk/datadg/BPMS_data4' SIZE 10000M以前扩容命令如下:vxassist -g datadg1 -U gen make BPMS_data 20g &vxassist -g datadg1 -U gen make BPMS_data2 20g &vxassist -g datadg1 -U gen make BPMS_data3 20g &vxassist -g datadg1 -U gen make BPMS_index 20g &vxassist -g datadg1 -U gen make BPMS_index2 20g &vxassist -g datadg1 -U gen make BPMS_index3 20g &vxassist -g datadg1 -U gen make PERFSTAT_DA TA 500m & vxassist -g datadg1 -U gen make config 1g & vxassist -g datadg1 -U gen make control1 256m & vxassist -g datadg1 -U gen make control2 256m & vxassist -g datadg1 -U gen make control3 256m & vxassist -g datadg1 -U gen make cwmlite1 100m & vxassist -g datadg1 -U gen make data_recover 11g & vxassist -g datadg1 -U gen make drsys1 200m & vxassist -g datadg1 -U gen make example1 160m & vxassist -g datadg1 -U gen make indx1 100m & vxassist -g datadg1 -U gen make odm1 100m & vxassist -g datadg1 -U gen make redo1_1 128m & vxassist -g datadg1 -U gen make redo1_1_02 128m & vxassist -g datadg1 -U gen make redo1_2 128m & vxassist -g datadg1 -U gen make redo1_2_02 128m & vxassist -g datadg1 -U gen make redo1_3 128m & vxassist -g datadg1 -U gen make redo1_3_02 128m & vxassist -g datadg1 -U gen make redo2_1 128m & vxassist -g datadg1 -U gen make redo2_1_02 128m & vxassist -g datadg1 -U gen make redo2_2 128m & vxassist -g datadg1 -U gen make redo2_2_02 128m & vxassist -g datadg1 -U gen make redo2_3 128m & vxassist -g datadg1 -U gen make redo2_3_02 128m & vxassist -g datadg1 -U gen make spfile1 100m & vxassist -g datadg1 -U gen make system1 2g & vxassist -g datadg1 -U gen make temp1 4g & vxassist -g datadg1 -U gen make temp2 4g &vxassist -g datadg1 -U gen make test_0902 5g & vxassist -g datadg1 -U gen make tools 50m & vxassist -g datadg1 -U gen make undotbs1 4g & vxassist -g datadg1 -U gen make undotbs2 4g & vxassist -g datadg1 -U gen make undotbs3 4g & vxassist -g datadg1 -U gen make undotbs4 4g & vxassist -g datadg1 -U gen make user1 500m & vxassist -g datadg1 -U gen make xdb1 100m & vxassist -g datadg1 -U gen make file_data 10g & vxassist -g datadg1 -U gen make file_index 10g & vxassist -g datadg1 -U gen make file_blob 10g & vxedit -g datadg set user=oracle group=dba mode=644 temp4#省公司RAC 裸设备文件的管理命令。

Oracle数据库应用教程--管理表空间(ppt 39页)_4050

Oracle数据库应用教程--管理表空间(ppt 39页)_4050

SQL> SELECT tablespace_name , bytes , blocks
2 FROM dba_free_space
3 WHERE tablespace_name = 'MYSPACE';
TABLESPACE_NAME
BYTES
BLOCKS
---------------------------
6
4.1.2 表空间状态属性
1.在线(ONLINE)
语句形式如下:
ALTER TABLESPACE tablespace_name ONLINE;
2.离线(OFFLINE)
语句形式如下:
ALTER TABLESPACE tablespace_name OFFLINE parameter;
3.只读(READ ONLY)
【例4.4】修改myspace表空间的名称 为myspace2,语句如下:
ALTER TABLESPACE myspace RENAME TO myspace2;
8 4.1.4 修改表空间中数据文件的大小
【例4.5】通过数据字典dba_free_space查看 myspace表空间的空闲空间信息,如下:
]
[ , ...]
]
[ MININUM EXTENT number K | M ]
[ BLOCKSIZE number K]
[ ONLINE | OFFLINE ]
[ LOGGING | NOLOGGING ]
[ FORCE LOGGING ]
[ DEFAULT STORAGE storage ]
number K | M ]
15 4.1.7 修改表空间中数据文件的自动扩展性

Oracle_表空间(数据文件)迁移

Oracle_表空间(数据文件)迁移

--表空间(数据文件)的迁移--【在线的操作方法-移动表空间的数据文件的路径(更改表空间数据文件的路径)】1.首先确定数据文件的状态要为OFFLINESQL> select tablespace_name,status,contents from dba_tablespaces;2.将该表空间修改为OFFLINE 【以users表空间为例】SQL> alter tablespace USERS offline;SQL> select tablespace_name,status,contents from dba_tablespaces; --查看表空间状态确定修改成功3.移动数据文件到新的路径[oracle@xxx ~]$ host copy /oracle/oradata/itpuxdb/itpux01.dbf/oracle/oradata/itpuxdb/itpux02.dbf;4.重新命名该表空间的新路径和名称(告诉数据库)SQL> alter tablespace users rename datafile'/oracle/oradata/itpuxdb/itpux01.dbf'to '/oracle/oradata/itpuxdb/itpux001.dbf';5.修改表空间的状态为ONLINE状态SQL> alter tablespace users online;---------------------------------------------------------------------------------------【离线的操作方法-移动数据文件-到其它目录】1.关闭数据库启动到模式下SQL> shutdown immediate;SQL> startup mount;2. 移动数据文件[oracle@xxx ~]$ host copy /oracle/oradata/itpuxdb/itpux01.dbf/oracle/oradata/itpuxdb/itpux02.dbf3. 重新命名(这里写更改数据库因为数据库没有起来就没有表空间)SQL> alter database rename file'/oracle/oradata/itpuxdb/itpux01.dbf'to'/oracle/oradata/itpuxdb/itpux001.dbf'4. 打开数据库SQL> alter database open5. 检查状态SQL> select * from dba_data_files where tablespace_name='ITPUX01';----------------------------------------------------------------------------------1.copy数据文件到其它目录【因为根目录撑爆,在数据库挂掉的情况下】2.启动startup mount;3.在mount模式下执行这两条命令alter database rename file'/oracle/app/oracle/oradata/ywxt1/undotbs01.dbf'to'/oradata/undotbs01.dbf';alter database rename file'/oracle/app/oracle/oradata/ywxt1/temp01.dbf'to'/oradata/temp01.dbf';4.启动数据库startup---------------------------------------------------------------------------------------把表和索引迁移其它的表空间1.查询该对象存放在哪个表空间select segment_name,tablespace_name,extents,blocks from dba_segments whereowner='SCUSER'2.查询该对象是索引,还是表select object_id,object_name,object_type,status,created from dba_objects whereowner='SCUSER'3.查询索引或者表存放在哪个表空间select index_name,table_name,tablespace_name,status from dba_indexes whereowner='SCUSER'4.移动表到另一个表空间alter table scuser.table01 move tablespace scdata025.查询该表是否移动到该表空间select segment_name,tablespace_name,extents,blocks from dba_segments whereowner='SCUSER'6.检查表是否有效(状态为 VALID 是有效)select object_id,object_name,object_type,status,created from dba_objects whereowner='SCUSER'7.重建索引并且将索引移动到另一个表空间alter index scuser.idx_table01_id rebuild tablespace scdata028.查询索引对应的表空间select index_name,table_name,tablespace_name,status from dba_indexes whereowner='SCUSER'9.如果表空间里面表有大字段?alter table USER.RESUME move lob(INTRO) store as(tablespace USER);。

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数据局库。

第4讲 Oracle对象管理(表空间)[18页]

第4讲 Oracle对象管理(表空间)[18页]

小结
• 通过本次学习,应该完成以下学习目标:
熟练掌握创建表空间的方法。 掌握如何重命名表空间。 掌握如何修改表空间。 掌握如何删除L Developer
PL/SQL Developer是第三方工具,All round Automations公司开发。 PL/SQL Developer是一个集成开发环境,专门面向 Oracle数据库存储程序单元的开发。 PL/SQL Developer侧重于易用性、代码品质和生产 力,充分发挥Oracle应用程序开发过程中的主要优 势。
一、连接数据库
• 运行PL/SQL Developer。 • 输入正确的用户名、密码、数据库名,并选择正确的连接身份可进
注意:数据库名是指在本机设置的数据库别名。
二、执行SQL语句
1、在SQL窗口中执行
• 在“文件”的下拉菜单中选“新建”。 • 选择“SQL 窗口”,产生一个SQL窗口。 • 按F8执行一条SQL查询语句。
• 在对象浏览器中展开Tables目录,选中某表 • 点右键 ,选择查看,或者双击。
注:在“查看”对话框中,点击右下角“查看SQL“可以查看该表的建表 语句
Oracle对象管理 (表空间)
Kegully
课程目标
• 通过本章的学习,应该完成以下学习目标:
熟练掌握创建表空间的方法。 掌握如何重命名表空间。 掌握如何修改表空间。 掌握如何删除表空间。
表空间
❖ 在创建数据库时,Oracle会自动地创建一系列表空间,例 如system表空间。用户可以使用这些表空间进行数据操作 。 Select tablespace_name from dba_tablespaces;
❖ 但是,在实际应用中,如果所有用户都使用系统自动创建 的这几个表空间,将会严重影响I/O性能。

ORACLE表空间详解

ORACLE表空间详解表空间概念ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的。

⼀个ORACLE数据库能够有⼀个或多个表空间,⽽⼀个表空间则对应着⼀个或多个物理的,但⼀个数据库⽂件只能与⼀个表空间相联系。

表空间是ORACLE的最⼩单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。

每个ORACLE数据库均有表空间,这是数据库创建时⾃动创建的,⽤于存储系统的数据字典表、程序单元、过程、函数、包和触发器等。

SYSTEM表空间必须总要保持联机,因为其包含着数据库运⾏所要求的基本信息(关于整个数据库的、联机求助机制、所有回退段、临时段和⾃举段、所有的⽤户数据库实体、其它ORACLE软件产品要求的表)。

⼀个⼩型应⽤的ORACLE数据库通常仅包括SYSTEM表空间,然⽽⼀个稍⼤型应⽤的ORACLE数据库采⽤多个表空间会对数据库的使⽤带来更⼤的⽅便。

表空间类型永久性表空间:⼀般保存表、视图、过程和索引等的数据。

临时性表空间:只⽤于保存系统中短期活动的数据。

撤销表空间:⽤来帮助回退未提交的事务数据。

表空间作⽤表空间的作⽤能帮助DBA⽤户完成以下⼯作: 1. 决定数据库实体的空间分配 2. 设置的空间份额 3. 控制数据库部分数据的可⽤性 4. 分布数据于不同的设备之间以改善性能 5. 备份和恢复数据。

⽤户创建其数据库实体时,必须给予表空间中具有相应的权⼒,所以对⼀个⽤户来说,其要操纵⼀个ORACLE数据库中的数据,应该: 1. 被授予关于⼀个或多个表空间中的RESOURCE特权 2. 被指定缺省表空间 3. 被分配指定表空间的存储空间使⽤份额 4. 被指定缺省临时段表空间,建⽴不同的表空间,设置最⼤的存储容量。

操作⽰例1. 创建表空间语法:CREATE TABLESPACE 表空间名DATAFILE '数据⽂件路径' SIZE ⼤⼩[AUTOEXTEND ON] [NEXT ⼤⼩][MAXSIZE ⼤⼩];说明: [ ]⾥⾯内容可选项,数据⽂件路径中若包含⽬录需先创建 SIZE 为初始表空间⼤⼩,单位为K或者M AUTOEXTEND 是否⾃动扩展,值为ON或OFF NEXT 为⽂件满了后扩展⼤⼩ MAXSIZE 为⽂件最⼤⼤⼩,值为数值或UNLIMITED(表⽰不限⼤⼩)⽰例:CREATE TABLESPACE ts_testDATAFILE 'D:\oracle_tablespace\ts_test.dbf' SIZE 20MAUTOEXTEND ON;2. 查询表空间⽰例:--管理员⾓⾊查看表空间SELECT file_name, tablespace_name, bytes, autoextensibleFROM dba_data_filesWHERE tablespace_name = 'ts_test';3. 修改表空间语法:ALTER TABLESPACE 表空间名ADD DATAFILE '⽂件路径' SIZE ⼤⼩[AUTOEXTEND ON] [NEXT⼤⼩][MAXSIZE ⼤⼩];⽰例:ALTER TABLESPACE ts_testADD DATAFILE 'D:\oracle_tablespace\ts_test2.dbf 'SIZE 5M AUTOEXTEND ON;4. 删除表空间语法:--仅删除表空间DROP TABLESPACE 表空间名;--删除表空间及数据⽂件DROP TABLESPACE 表空间名 INCLUDING CONTENTS AND DATAFILES;⽰例:--仅删除表空间DROP TABLESPACE ts_test;--删除表空间及数据⽂件DROP TABLESPACE ts_test INCLUDING CONTENTS AND DATAFILES;。

ORACLE数据库表空间管理

必须的数据库信息。例如,RMAN恢复目录信息、Data Mining、OLAP等信息,这些信息增加了系统表空间的 存储空间。
Oracle10g将这些附加的表空间中的信息存储到表空间 SYSAUX中,该表空间成为SYSTEM的辅助表空间。
SYSAUX表空间类型必须为:本地化管理及Segment Space Management Auto类型。
SYSAUX
LOCAL
SYSTEM
TEMP
LOCAL
UNIFORM
USERS
LOCAL
SYSTEM
EXAMPLE
LOCAL
SYSTEM
DATA_2004
DICTIONARY USER
Oracle10g支持的表空间类型
SQL>select tablespace_name,extent_management,allocation_type from dba_tablespaces;
TABLESPACE_NAME EXTENT_MAN ALLOCATIO
------------------------------ ---------- -------------------------------------
SYSTEM
DICTIONARY USER
UNDOTBS1
LOCAL
SYSTEM
SYSTEM
DICTIONARY USER
RBS
DICTIONARY USER
TEMP
DICTIONARY USER
USERS
DICTIONARY USER
TOOLS
DICTIONARY USER
INDX
DICTIONARY USER

oracle表空间创建步骤

oracle表空间创建步骤Oracle表空间是Oracle数据库存储数据的重要单位,它主要用来存储表、视图、索引等对象,是保证Oracle数据质量和性能的关键。

因此,建立Oracle表空间是日常管理Oracle数据库的重要任务之一。

在本文中,我们将阐述建立Oracle表空间的步骤。

一、登陆系统账户建立Oracle表空间需要使用SYSDBA权限,因此首先需要以SYSDBA权限登陆Oracle数据库,例如:sqlplus / as sysdba。

二、初始化表空间在命令行输入CREATE TABLESPACE space_name DATAFILE'path/file_name.dbf' SIZE 500M AUTOEXTEND ON; 命令即可初始化空间,其中space_name是表空间名,path是文件路径,file_name.dbf为文件名,500M为表空间大小,AUTOEXTEND ON表示表空间可以自动扩展。

三、设置表空间的引擎类型可以设置表空间的引擎类型为本地文件系统引擎或ASM引擎两种。

本地文件系统引擎是把数据直接存储到磁盘中,而ASM引擎则是一个虚拟文件系统,利用Oracle自身的算法对数据块进行划分和管理。

使用DBCA工具创建表空间时,可以在设置的时候选择引擎类型。

而手动建立表空间,需要指定表空间的引擎类型,例如:CREATE TABLESPACE space_name DATAFILE 'path/file_name.dbf' SIZE 500M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL;四、设置表空间的块大小Oracle数据库默认的块大小是8KB,但在某些情况下可以修改该值,例如:CREATE TABLESPACE space_name DATAFILE'path/file_name.dbf' SIZE 500M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL DEFAULT STORAGE (BLOCKSIZE 32K);五、设置表空间的默认存储参数在建立表空间时,可以通过DEFAULT STORAGE子句设置表空间的默认存储参数,包括初始块大小、最大块数量、最小块数量、块增长率等等。

第四章 表空间及数据文件管理

ORCLTBS1 ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ ORCL\ORCLTBS1_2.DBF' SIZE 10M;

例2 为ORCL数据库的ORCLTEMP1表空间添加一个大小 为10 MB的临时数据文件。
Oracle 10g 数据库基础教程
(2)创建永久表空间

创建永久表空间使用CREATE TABLESPACE语 句来实现,该语句包含以下几个子句:


DATAFILE:设定表空间对应的数据文件。 EXTENT MANAGEMENT:指定表空间的区管理方 式,取值为LOCAL(默认)或DICTIONARY。 AUTOALLOCATE(默认)或UNIFORM:设定区 的分配方式。 SEGMENT SPACE MANAGEMENT:设定段的管 理方式,其取值为MANUAL或AUTO (默认) 。
Oracle 10g 数据库基础教程

非系统表空间



撤销表空间 专门进行回滚信息的自动管理,由UNDO_TABLESPACE 参数设置。 临时表空间 专门进行临时数据管理的表空间 在数据库实例运行过程中,执行排序等SQL语句时 会产生大量的临时数据,这些临时数据将保存在数 据库临时表空间中。 默认临时表空间 用户表空间 保存用户数据

Oracle 10g 数据库基础教程
(4)创建撤销表空间


在Oracle 10g中引入了撤销表空间的概念,专门用于回 滚段的自动管理。如果数据库中没有创建撤销表空间,那 么将使用SYSTEM表空间来管理回滚段。 如果数据库中包含多个撤销表空间,那么一个实例只能使 用一个处于活动状态的撤销表空间,可以通过参数 UNDO_TABLESPACE来指定;如果数据库中只包含一 个撤销表空间,那么数据库实例启动后会自动使用该撤销 表空间。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档