数据库存储管理——数据文件管理

数据文件管理

Oracle数据文件包含全部数据库数据。改变数据文件属性、增加数据文件、查看数据文件的数据字典等操作都只能由DBA完成,普通用户无此权限。

1.查看数据文件信息
  在Oracle Enterprise Manager中可以查看数据文件信息。以SYSDBA身份登录到Oracle Enterprise Manager,在“服务器”——>“存储”栏目中单击“数据文件”超链接,打开“数据文件”管理页面,如图所示:


  列表中显示了当前数据库实例中所有数据文件的基本信息。单击一个数据文件超链接,可以查看它的明细信息,如图所示:

  文件的状态有4种,包括OFFLINE、ONLINE、SYSTEM、RECOVER和SYSOFF(表示SYSTEM表空间中的脱机文件)
  也可以从视图VDATAFILE中查看数据文件信息。视图VDATAFILE中有一个字段ENABLED,表示从SQL语句中如何访问文件:DISABLED表示不允许SQL访问;READ ONLY表示不允许更新访问;READ WRITE表示允许完全访问;UNKNOWN表示文件被破坏。

2.创建数据文件
  数据文件是和表空间一起创建的。在使用CREATE TABLESPACE语句创建表空间时,可以使用DATAFILE关键字来制定同时创建的数据文件。
  使用ALTER TABLESPACE语句修改表空间时,可以使用ADD DATAFILE关键字向表空间中添加数据文件。

【示例】对tbs2表空间添加一个数据文件tbs01.dbf,大小为5MB:

alter tablespace tbs2 
add datafile 'e:\oradata\tbs02.dfs' size 5m;

3.修改数据文件属性

①修改数据文件的大小
  使用ALTER DATABASE语句可以修改数据文件的大小,语法如下:

-- 数据文件名必须为数据文件的物理绝对路径
ALTER DATABASE DATAFILE 数据文件名 RESIZE 数据文件大小;

②修改数据文件的在线状态

-- 数据文件名必须为数据文件的物理绝对路径
ALTER DATABASE DATAFILE 数据文件名 ONLINE|OFFLINE;

③改变数据文件自动增长属性

-- MAXSIZE表示允许数据文件增长的最大限度
ALTER DATABASE DATAFILE 数据文件名
    AUTOEXTENT ON NEXT 整数[单位]
    MAXSIZE 整数[单位];

4.删除数据文件
  在删除表空间时,可以指定删除表空间中的数据文件。
  注意,从表空间中删除数据文件时,当数据文件处于以下3种情况时是不能被删除的:

  • 数据文件中存在数据。
  • 数据文件是表空间中唯一的或第一个数据文件。因为第一个数据文件是表空间创建时生成的表空间文件,如果需要删除第一个文件,就需要把表空间删除掉。
  • 数据文件或数据文件所在的表空间处于只读状态。

可以使用ALTER DATABASE命令删除指定的数据文件。语法如下:

-- 数据文件名必须为数据文件的物理绝对路径
ALTER DATABASE DATAFILE 数据文件名 OFFLINE DROP;

但上面的命令不会删除数据文件,只是将数据文件的状态更改为RECOVER。 OFFLINE DROP命令相当于把一个数据文件至于离线状态,并且需要恢复,并非删除数据文件,数据文件的相关信息还会存在数据字典和控制文件中。
  如果想删除磁盘上的文件,可以使用下面的命令:

ALTER TABLESPACE 表空间名 DROP DATAFILE 数据文件名;

上面的命令会删除控制文件和磁盘上的文件,删除之后的原数据文件序列号可以重用。注意,该语句只能是datafile online的时候才可以使用。

5.移动数据文件
  移动数据文件有两个办法:

  • 方法一:先是把表空间脱机,然后在操作系统上移动数据文件,并修改数据库对此文件路径的记载,再把表空间联机,这种方法不用重启数据库。
  • 方法二:重启数据库到mount状态,然后在操作系统上移动数据文件,并修改数据库对此文件路径的记载,再把数据库打开到正常状态。

两个方法都可以同时移动多个文件,第一个方法只能移动一个表空间内的数据文件;第二个方法可以移动数据库内的任意多个文件,这些文件不必属于同一个表空间,只要在操作系统中移动多个数据文件,并在上面的命令中,用逗号分隔多个文件即可。

【示例】把newtbs的数据文件e:\newtbs01.dbf移动到c:\newtbd01.dbf

(1)方法一操作示例
首先把表空间设置为脱机状态:

SQL>alter tablespace newtbs offline;

在操作系统上移动数据文件:

C:\>move e:\newtbs01.dbf c:\newtbd01.dbf

在数据库中重命名移动的数据文件:

SQL>alter tablespace newtbs rename datafile 'e:\newtbs01.dbf' to 'c:\newtbd01.dbf';

最后把表空间联机:

SQL>alter tablespace newtbs online;

确认数据文件移动成功:

SQL>select tablespace_name,file_name from dba_data_files 
where tablespace_name='NEWTBS';

(2)方法二操作示例
重启数据库至mount状态:

SQL>shutdown immediate
数据库已经关闭。
已经卸载数据库
ORACLE例程已经关闭。
SQL>startup mount

在操作系统上移动数据文件:

C:\>move e:\newtbs01.dbf c:\newtbd01.dbf

在数据库中重命名移动的数据文件:

-- 注意,这里和第一个方法不一样之处在于这里用的是file关键字而非datafile关键字
SQL>alter tablespace newtbs rename file 'e:\newtbs01.dbf' to 'c:\newtbd01.dbf';

最后启动数据库到open状态:

SQL>alter database open;

6.重命名数据文件
(1)使表空间处于脱机状态。

SQL>ALTER TABLESPACE my_tbs1 OFFLINE NORMAL;

(2)用操作系统命令重命名数据文件。

SQL>HOST RENAME D:\my_tablespace\my_tbs1.dbf my_tbs2.dbf 

HOST表示需要在SQL PLUS中执行操作系统命令RENAME
(3)使用带RENAME DATAFILE子句的ALTER TABLESPACE语句改变数据文件名称。

SQL>ALTER TABLESPACE my_tbs1 
RENAME DATAFILE 'D:\my_tablespace\my_tbs1.dbf'
TO
'D:\my_tablespace\my_tbs2.dbf'

(4)将表空间重新设置为联机状态

SQL>ALTER TABLESPACE my_tbs1 ONLINE;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352

推荐阅读更多精彩内容