如何给添加表空间文件添加数据文件

查看: 8767|回复: 14
如何给表空间添加数据文件
论坛徽章:3
本人菜鸟,不怎么会弄,由于F盘空间快满了,好像不能直接添加吧,先上图
(86.06 KB, 下载次数: 30)
15:27 上传
(21.2 KB, 下载次数: 15)
15:27 上传
(36.59 KB, 下载次数: 11)
15:27 上传
认证徽章论坛徽章:55
_153304.png (18.1 KB, 下载次数: 17)
15:33 上传
也可用命令:ALTER TABLESPACE SYSSPC ADD DATAFILE 'S:\ORACLE\ORADATA\SFCDB\SYSSPC12.ORA' SIZE 1024M AUTOEXTEND OFF;
论坛徽章:3
diashad 发表于
也可用命令:ALTER TABLESPACE SYSSPC ADD DATAFILE 'S:\ORACLE\ORADATA\SFCDB\SYSSPC12.ORA' SIZE 102 ...
文件大小设置有限制吗
论坛徽章:3
catcat3496 发表于
文件大小设置有限制吗
ALTER TABLESPACE SYSSPC ADD DATAFILE 'S:\ORACLE\ORADATA\SFCDB\SYSSPC12.ORA' SIZE 1024M AUTOEXTEND OFF;
这个指令就是修改表空间 增加数据文件 (S:\ORACLE\ORADATA\SFCDB\SYSSPC12.ORA&&目录,名字)打小 1024M& & AUTOEXTEND 自动拓展 关。大小你可以根据之前的定,或者先放一个够用的
论坛徽章:2
警告的表空间是否自动扩容的,貌似有37个数据文件呢。
F盘要满了,看什么占用了空间,能不能释放掉。
论坛徽章:3
宝儿小萱 发表于
ALTER TABLESPACE SYSSPC ADD DATAFILE 'S:\ORACLE\ORADATA\SFCDB\SYSSPC12.ORA' SIZE 1024M AUTOEXTEND&&...
这是F盘的数据文件,大小都是2G,把1024改成2048应该没问题吧。由于没接触过这玩意,不敢随便操作
(10.99 KB, 下载次数: 11)
16:32 上传
论坛徽章:3
zhangzhu1984 发表于
警告的表空间是否自动扩容的,貌似有37个数据文件呢。
F盘是ORACLE的主目录,占磁盘的是表空间的数据文件。其他无关的的东西我都删了,只剩1.1G了。
(28.38 KB, 下载次数: 12)
16:39 上传
论坛徽章:2
使用下面的脚本查询,会查询出自动扩展的使用情况。。
SET lines 199 pages 66 feedback off
COLUMN tablespace_name& && &&&format a15& && && && & heading 'Tablespace|(TBS)|Name'
COLUMN autoextensible& && && &format a6& && && && &&&heading 'Can|Auto|Extend'
COLUMN files_in_tablespace& & format 999& && && && & heading 'Files|In|TBS'
COLUMN total_tablespace_space format 999,999,999,999,999 heading 'Total|Current|TBS|Space'
COLUMN total_used_space& && & format 999,999,999,999,999 heading 'Total|Current|Used|Space'
COLUMN total_tablespace_free_space format 999,999,999,999,999 heading 'Total|Current|Free|Space'
COLUMN total_used_pct& && && && &&&format 999.99& && &heading 'Total|Current|Used|PCT'
COLUMN total_free_pct& && && && &&&format 999.99& && &heading 'Total|Current|Free|PCT'
COLUMN max_size_of_tablespace& && &format 999,999,999,999,999 heading 'TBS|Max|Size'
COLUMN total_auto_used_pct& && && &format 999.99& && &heading 'Total|Max|Used|PCT'
COLUMN total_auto_free_pct& && && &format 999.99& && &heading 'Total|Max|Free|PCT'
TTITLE left _date center Tablespace Space Utilization Status Report skip 2
WITH tbs_auto AS
& &&&(SELECT DISTINCT tablespace_name, autoextensible
& && && && && &&&FROM dba_data_files
& && && && && & WHERE autoextensible = 'YES'),
& &&&files AS
& &&&(SELECT& &tablespace_name, COUNT (*) tbs_files,
& && && && && &SUM (BYTES) total_tbs_bytes
& && && & FROM dba_data_files
& && &GROUP BY tablespace_name),
& &&&fragments AS
& &&&(SELECT& &tablespace_name, COUNT (*) tbs_fragments,
& && && && && &SUM (BYTES) total_tbs_free_bytes,
& && && && && &MAX (BYTES) max_free_chunk_bytes
& && && & FROM dba_free_space
& && &GROUP BY tablespace_name),
& &&&AUTOEXTEND AS
& &&&(SELECT& &tablespace_name, SUM (size_to_grow) total_growth_tbs
& && && & FROM (SELECT& &tablespace_name, SUM (maxbytes) size_to_grow
& && && && && && &&&FROM dba_data_files
& && && && && && & WHERE autoextensible = 'YES'
& && && && && & GROUP BY tablespace_name
& && && && && & UNION
& && && && && & SELECT& &tablespace_name, SUM (BYTES) size_to_grow
& && && && && && &&&FROM dba_data_files
& && && && && && & WHERE autoextensible = 'NO'
& && && && && & GROUP BY tablespace_name)
& && &GROUP BY tablespace_name)
SELECT a.tablespace_name,
& && & CASE tbs_auto.autoextensible
& && && & WHEN 'YES'
& && && && & THEN 'YES'
& && && & ELSE 'NO'
& && & END AS autoextensible,
& && & files.tbs_files files_in_tablespace,
& && & files.total_tbs_bytes total_tablespace_space,
& && & (files.total_tbs_bytes - fragments.total_tbs_free_bytes
& && & ) total_used_space,
& && & fragments.total_tbs_free_bytes total_tablespace_free_space,
& && & (&&(&&(files.total_tbs_bytes - fragments.total_tbs_free_bytes)
& && && &&&/ files.total_tbs_bytes
& && && & )
& && &&&* 100
& && & ) total_used_pct,
& && & ((fragments.total_tbs_free_bytes / files.total_tbs_bytes) * 100
& && & ) total_free_pct,
& && & AUTOEXTEND.total_growth_tbs max_size_of_tablespace,
& && & (&&(&&(&&AUTOEXTEND.total_growth_tbs
& && && && &&&- (AUTOEXTEND.total_growth_tbs - fragments.total_tbs_free_bytes
& && && && && & )
& && && && & )
& && && &&&/ AUTOEXTEND.total_growth_tbs
& && && & )
& && &&&* 100
& && & ) total_auto_used_pct,
& && & (&&(&&(AUTOEXTEND.total_growth_tbs - fragments.total_tbs_free_bytes)
& && && &&&/ AUTOEXTEND.total_growth_tbs
& && && & )
& && &&&* 100
& && & ) total_auto_free_pct
&&FROM dba_tablespaces a, files, fragments, AUTOEXTEND, tbs_auto
WHERE a.tablespace_name = files.tablespace_name
& &AND a.tablespace_name = fragments.tablespace_name
& &AND a.tablespace_name = AUTOEXTEND.tablespace_name
& &AND a.tablespace_name = tbs_auto.tablespace_name(+);
论坛徽章:2
本帖最后由 zhangzhu1984 于
16:45 编辑
一个输出示例:
09:11:46& && && && && && && && && & TablespaceSpaceUtilizationStatusReport& && && && && && && && && && && && && &Total& && && &&&Total& && && &&&Total& &Total& &Total& && && && && && & Total& &Total
Tablespace& && &Can& & Files& && && &Current& && && &Current& && && &Current Current Current& && && && & TBS& &&&Max& &&&Max
(TBS)& && && &&&Auto& && &In& && && && & TBS& && && && &Used& && && && &Free& & Used& & Free& && && && & Max& & Used& & Free
Name& && && && &Extend& &TBS& && && &&&Space& && && &&&Space& && && &&&Space& &&&PCT& &&&PCT& && && && &Size& &&&PCT& &&&PCT
--------------- ------ ----- --------------- --------------- --------------- ------- ------- --------------- ------- -------
SYSAUX& && && & YES& && &&&1& &&&534,773,760& &&&506,068,992& && &28,704,768& &94.63& & 5.37&&34,359,721,984& &&&.08& &99.92
UNDOTBS1& && &&&YES& && &&&1& && &83,886,080& && &31,391,744& && &52,494,336& &37.42& &62.58&&34,359,721,984& &&&.15& &99.85
USERS& && && &&&YES& && &&&2& &&&121,896,960& && &16,515,072& &&&105,381,888& &13.55& &86.45&&34,464,579,584& &&&.31& &99.69
SYSTEM& && && & YES& && &&&1& &&&713,031,680& &&&705,953,792& && & 7,077,888& &99.01& &&&.99&&34,359,721,984& &&&.02& &99.98
Elapsed: 00:00:00.07
论坛徽章:4
数据文件大小才2G,加datafile的话,太多了,不如resizeALTER DATABASE DATAFILE '/u02/oracle/rbdb1/stuff01.dbf'
& &RESIZE 100M;复制代码官档
itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号: 广播电视节目制作经营许可证:编号(京)字第1149号【图文】表空间与数据文件_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
表空间与数据文件
上传于||暂无简介
大小:595.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢Oracle表空间数据文件移动的方法
字体:[ ] 类型:转载 时间:
最近接了个项目,遇到这样的问题,需要实现把用户表空间中的数据文件从某一个路径下移动到另一个路径下,实现过程说简单不简单,说复杂不复杂,下面小编给大家分享我的解决办法,对oracle表空间数据文件相关知识感兴趣的朋友一起学习吧
实现把用户表空间中的数据文件从某一个路径移动到另一个路径
一、针对可offline的非系统表空间
本例移动oracle的案例表空间(EXAMPLE表空间),将其从
D:\ORADATA\ORCL\ 移动到 D:\ORACLE\ORADATA\
1.查看要改变的表空间的数据文件信息
SQL& select tablespace_name,file_name,online_status
from dba_data_files
where tablespace_name='EXAMPLE';
TABLESPACE_NAME FILE_NAME
--------------- ----------------------------------- -------
D:\ORADATA\ORCL\EXAMPLE01.DBF
2.将目标表空间设置为脱机状态
SQL& alter tablespace EXAMPLE
3.再次查看目标表空间的状态,确保其已经是脱机状态
SQL& select tablespace_name,file_name,online_status
from dba_data_files
where tablespace_name='EXAMPLE';
TABLESPACE_NAME FILE_NAME
--------------- ----------------------------------- -------
D:\ORACLE\ORADATA\EXAMPLE01.DBF OFFLINE
4.将原来的数据文件移动(或复制)到新的路径
SQL& host move D:\ORADATA\ORCL\EXAMPLE01.DBF D:\ORACLE\ORADATA\
5.修改该表空间的数据文件路径
SQL& alter tablespace EXAMPLE
rename datafile 'D:\ORADATA\ORCL\EXAMPLE01.DBF'
to 'D:\ORACLE\ORADATA\EXAMPLE01.DBF';
6.查看该表空间修改后的信息,确保信息无误
SQL& select tablespace_name,file_name,online_status
from dba_data_files
where tablespace_name='EXAMPLE';
TABLESPACE_NAME FILE_NAME
--------------- ----------------------------------- -------
D:\ORACLE\ORADATA\EXAMPLE01.DBF OFFLINE
7.修改该表空间为在线状态
SQL& alter tablespace EXAMPLE
8.查看该表空间最后结果
SQL& select tablespace_name,file_name,online_status
from dba_data_files
where tablespace_name='EXAMPLE';
TABLESPACE_NAME FILE_NAME
--------------- ----------------------------------- -------
D:\ORACLE\ORADATA\EXAMPLE01.DBF ONLINE
备注:本方法对SYSAUX、USERS表空间也适用
二、系统表空间移动
该方法需要数据库处于mount状态
1.关闭运行中的数据库
SQL& shutdown immediate
2.启动数据库到mount状态
SQL& startup mount
3.移动系统表空间(SYSTEM表空间)的数据文件
SQL& host move D:\ORADATA\ORCL\SYSTEM01.DBF D:\ORACLE\ORADATA\
4.修改该表空间的数据文件路径
SQL& alter database rename file 'D:\ORADATA\ORCL\SYSTEM01.DBF' to 'D:\ORACLE\ORA
DATA\SYSTEM01.DBF';
5.启动数据库,打开实例
6.查看表空间修改结果
SQL& select tablespace_name,file_name,online_status from dba_data_files where ta
blespace_name='SYSTEM';
TABLESPACE_NAME FILE_NAME
--------------- ----------------------------------- -------
D:\ORACLE\ORADATA\SYSTEM01.DBF SYSTEM
备注:本方法对UNDOTBS1、TEMP表空间也适用。
以上内容是小编给大家分享的Oracle表空间数据文件移动的方法,希望大家喜欢。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具查看表空间、数据文件使用情况的SQL脚本
1、查看表空间使用情况的SQL脚本
a.a1 表空间名称,
c.c2 类型,
c.c3 区管理,
b.b2/ 表空间大小M,
(b.b2-a.a2)/ 已使用M,
substr((b.b2-a.a2)/b.b2*100,1,5) 利用率
(select& tablespace_name a1,
sum(nvl(bytes,0)) a2 from dba_free_space group by tablespace_name)
(select tablespace_name b1,sum(bytes) b2 from
dba_data_files group by tablespace_name) b,
(select tablespace_name c1,contents
c2,extent_management c3& from dba_tablespaces)
where a.a1=b.b1 and c.c1=b.b1;
b.file_name 物理文件名,
b.tablespace_name 表空间,
b.bytes/ 大小M,
(b.bytes-sum(nvl(a.bytes,0)))/& 已使用M,
substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5)&
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_name,b.bytes
order by b.tablespace_name
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Oracle管理表空间和数据文件详解 - qintangtao - 博客园
管理表空间和数据文件
表空间是数据库的逻辑组成部分
从物理上将:数据库数据存放在数据文件中
从逻辑上将:数据库则是存放在表空间中
表空间由一个或是多个数据文件组成
数据库的逻辑结构
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的数据文件,区的大小为128k
1、显示表空间信息
a)&查询数据字典视图dba_tablespaces。显示表空间信息
select&tablespace_name&from&dba_
2、显示表空间所包含的数据文件
a)&查询数据字典视图dba_data_files,可以显示表空间所包含的数据文件
select&file_name,bytes&from&dba_data_files&where&tablespace_name='表空间名';
改变表空间的状态
当建立表空间时,表空间处于联机的(online)状态,此时该表空间是可以访问的,并且该表空间是可以读写的,即可以查询该表空间的数据,而且还可以在表空间执行各种语句。但是在进行系统维护或是数据维护时,可能需要改变表空间的状态,一般情况下,由特权用户或是dba来操作
1、使表空间脱机
alter&tablespace&表空间名&
2、使表空间联机
alter&tablespace&表空间名&
3、只读表空间
a)&当建立表空间时,表空间可以读写,如果不希望在该表空间上执行update、delete、insert操作,那么可以将该表空间修改为只读
alter&tablespace&表空间名&read&
1、知道表空间名。显示该表空间的所有表
select&*&from&tall_tables&where&tablespace_name='表空间名';
2、知道表明,查看该表属于哪个表空间
select&tablespace_name,table_name&from&user_tables&where&table_name='emp';
通过2,可以知道scott.emp是在system这个表空间上,现在可以将system改为只读,但是不会成功。因为system是系统表空间,如果是普通表空间,可以将其设为只读
删除表空间
一般情况下,有特权用户或是dba来操作,如果是其它用户操作,那么要求用户具有drop&tablespace系统权限
drop&tablespace&表空间名&including&contents&and&
Including&contents&表示删除表空间,删除该表空间的所有数据库对象,而datafiles表示将数据库文件也删除
扩展表空间
表空间是由数据文件组成的,表空间的大小实际上就是数据文件相加后的大小。那么我们可以想象。假定表employee存放到tangtao001表空间上,初始大小就是2m。当数据满2m空间后,如果在向employee表插入数据,这样就会显示空间不足的错误
案例说明:
1、建立一个表空间tangtao001
2、在该表空间上建立一个普通标mydment&其结构和dept一样
3、向该表中加入数据insert&into&mydment&select&*&from&
4、当一定时候就会出现无法扩展的问题,怎么办?
5、就扩展该表空间,为其增加更多的存储空间。有三种方法:
1、增加数据文件
alter&tablespace&表空间名&add&datafile&'数据文件存放路径'&size&数据文件大小;
2、增加数据文件的大小
alter&tablespace&表空间名&add&datafile&'数据文件存放的路径'&resize&数据文件新的大小;
这里需注意,数据文件的大小不要超过500m
3、设置文件的自动增长
alter&tablespace&表空间名&add&datafile&'数据文件存放路径'&autoextend&on&next&每次增加的大小&maxsize&数据文件大小的最大值;
移动数据文件
有时,如果数据文件所在的磁盘损坏时,该数据文件不能再使用,为了能够重新使用,需要将这些文件的副本移动到其它的磁盘,然后恢复
案例说明:
1、确定数据文件所在的表空间
select&tablespace_name&from&dba_data_files&where&file_name='d:\t01.dbf';
2、使表空间脱机
a)&确保数据文件的一致性,将表空间转变为offline的状态
alter&tablespace&tangtao001&
3、使用命令移动数据文件到指定的目标位置
host&move&d:t01.dbf&c:t01.
4、执行alter&tablespace命令
a)&在物理上移动了数据后,还必须执行alter&tablespace命令对数据库文件进行逻辑修改
alter&tablespace&tangtao001&rename&datafile&'d:t01.dbf'&to&'c:t01.dbf';
5、使得表空间联机
a)&在移动了数据文件后,为了使用户可以访问该表空间,必须将其转变为online的状态
alter&tablespace&tangtao001&
表空间小结
1、了解表空间和数据文件的作用
2、掌握常用表空间,undo表空间和临时表空间的建立方法
3、了解表空间的各个状态
b)&Offline
c)&Read&write
d)&Read&only
4、了解移动数据文件的原因,即使用alter&tablespace和alter&datatable命令移动数据文件的方法

我要回帖

更多关于 增加表空间数据文件 的文章

 

随机推荐