云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Oracle数据库实验手册 - 图文

Oracle数据库实验手册 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/5/6 9:46:31

/u01/oracle/oradata/example01.dbf ③ 数据文件的扩大和缩小

现在将 users01.dbf 扩扩充到 100M SQL> alter database datafile

2 '/u01/oracle/oradata/ora10/users01.dbf' resize 100M; SQL> select name,bytes from v$datafile; NAME

BYTES

104857600

------------------------------------------------------------ ------------

/u01/oracle/oradata/ora10/system01.dbf /u01/oracle/oradata/ora10/undotbs01.dbf /u01/oracle/oradata/ora10/sysaux01.dbf /u01/oracle/oradata/ora10/users01.dbf /u01/oracle/oradata/example01.dbf 然后再将 users01.dbf 缩小到 80M SQL> alter database datafile

2 '/u01/oracle/oradata/ora10/users01.dbf' resize 80M; SQL> select name,bytes from v$datafile; NAME

BYTES

------------------------------------------------------------ ------------

/u01/oracle/oradata/ora10/system01.dbf /u01/oracle/oradata/ora10/undotbs01.dbf /u01/oracle/oradata/ora10/sysaux01.dbf /u01/oracle/oradata/ora10/users01.dbf /u01/oracle/oradata/example01.dbf SQL> alter database datafile

2 '/u01/oracle/oradata/example01.dbf' resize 1M; alter database datafile *

ERROR at line 1:

ORA-03297: file contains used data beyond requested RESIZE value 因为数据文件里面的内容比预期要缩小到的值要大,故不能成功。 ④ 数据文件的自动扩展属性

503316480 31457280 251658240 83886080 104857600 503316480 31457280 251658240 104857600 104857600

------

------

注意,缩小数据文件时不能过度,如将 example01.dbf 缩小到 1M:

将数据文件 users01.dbf 的自动扩展属性打开,每次增长 10m,能增长的最大 大小为 200m。

SQL> alter database datafile

2 '/u01/oracle/oradata/ora10/users01.dbf'

3 autoextend on next 10m maxsize 200m; 再将其自动扩展属性关闭 SQL> alter database datafile

2 '/u01/oracle/oradata/ora10/users01.dbf' autoextend off;

⑤ 数据文件的添加和删除 数据文件对应于一个唯一的表空间,添加一个数据文件,其实就是为表空间增 加存储空间。 现在新建一个 test 表空间,初建时只有一个数据文件: SQL> create tablespace test datafile 2 '/u01/oracle/oradata/ora10/test01.dbf' size 5m; Tablespace created.

再为 test 表空间增加一个数据文件:

SQL> alter tablespace test add datafile 2 '/u02/oracle/oradata/test02.dbf' size 5m; Tablespace altered. 查看数据文件与表空间对应信息:

SQL> select file_name,tablespace_name from dba_data_files; FILE_NAME

TABLESPACE_NAME

----------------------------------------------------------------- -----------------------

/u01/oracle/oradata/ora10/users01.dbf /u01/oracle/oradata/ora10/sysaux01.dbf /u01/oracle/oradata/ora10/undotbs01.dbf /u01/oracle/oradata/ora10/system01.dbf /u01/oracle/oradata/example01.dbf /u01/oracle/oradata/ora10/test01.dbf /u02/oracle/oradata/test02.dbf

USERS SYSAUX UNDOTBS1 SYSTEM EXAMPLE TEST TEST

删除数据文件时,不能直接删除数据文件,必须通过删除表空间的途径删除数 据文件。如果要删除的数据文件对应的表空间只有此一个数据文件,则直接删 除表空间即可达到目的;而当要删除的表空间还有其他有用的数据文件时,不 能直接删除表空间,因为还存在其他有价值的数据文件,这种情况比较复杂, 下面会详细讲解处理的办法。 现在,我们处理表空间只有一个数据文件的情况,在删除数据文件前,查看数 据文件对应的表空间,是否包含多个数据文件: SQL> select file_name,tablespace_name from dba_data_files; FILE_NAME

TABLESPACE_NAME

----------------------------------------------------------------- -------------------

/u01/oracle/oradata/ora10/users01.dbf /u01/oracle/oradata/ora10/sysaux01.dbf /u01/oracle/oradata/ora10/undotbs01.dbf /u01/oracle/oradata/ora10/system01.dbf /u01/oracle/oradata/example01.dbf /u01/oracle/oradata/ora10/test01.dbf

USERS SYSAUX UNDOTBS1 SYSTEM EXAMPLE TEST

/u02/oracle/oradata/test02.dbf /u01/oracle/oradata/ora10/a01.dbf

TEST TEST2

我们欲删除的数据文件是 a01.dbf,对应的表空间为 TEST2 确定 TEST2 表空间所含数据文件均不需要,然后删除表空间: SQL> drop tablespace test2 including contents; Tablespace dropped.

再次查看数据文件与表空间的对应关系:

SQL> select file_name,tablespace_name from dba_data_files; FILE_NAME

TABLESPACE_NAME

----------------------------------------------------------------- -----------------------

/u01/oracle/oradata/ora10/users01.dbf /u01/oracle/oradata/ora10/sysaux01.dbf /u01/oracle/oradata/ora10/undotbs01.dbf /u01/oracle/oradata/ora10/system01.dbf /u01/oracle/oradata/example01.dbf /u01/oracle/oradata/ora10/test01.dbf /u02/oracle/oradata/test02.dbf

USERS SYSAUX UNDOTBS1 SYSTEM EXAMPLE TEST TEST

可以看到 a01.dbf 及对应的表空间 TEST2 已经不存在了,但到这里还需执行 最后一步,在操作系统里删除数据文件 a01.dbf,因为 drop tablespace 只是 删除了数据字典里面的信息。

[oracle@node1 ora10]$ rm /u01/oracle/oradata/ora10/a01.dbf 现在来看表空间中有多个数据文件,删除其中部分数据文件的情况。

表空间 TEST 中有 2 个数据文件,我们打算删除 test02.dbf,处理步骤如下: 我们构造如下状况,用户 test 默认表空间为 TEST,test 用户创建了一张名为 test 的表,表的数据从 dba_users 复制获取。 SQL>conn / as sysdba

SQL>create user test identified by test default tablespace test; SQL>grant resource,connect to test; SQL>grant select on dba_users to test; 以下是 test 用户操作 SQL>conn test/test

SQL>create table test as select * from dba_users; SQL>select * from test; 首先将欲删除的数据文件进行脱机处理 SQL> alter database ora10 datafile

2 '/u02/oracle/oradata/test02.dbf' offline drop; 注意,此操作不是将数据文件从数据库中删除,而只是脱机下线处理。如果不 进行此操作,直接删除数据文件,数据库将面临崩溃。 查看数据文件的状态

SQL> select file_name,tablespace_name,online_status 2 from dba_data_files; FILE_NAME

TABLESPACE_NAME ONLINE_STATUS

---------------------------------------------- ------ --------- ------------- --------- ------ /u01/oracle/oradata/ora10/users01.dbUSERS ONLINE f /u01/oracle/oradata/ora10/sysaux01.dSYSAUX ONLINE bf /u01/oracle/oradata/ora10/undotbs01.UNDOTBS1 NLINE dbf /u01/oracle/oradata/ora10/system01.dSYSTEM SYSTEM bf /u01/oracle/oradata/example01.dbf EXAMPLE ONLINE /u01/oracle/oradata/ora10/test01.dbf TEST ONLINE /u02/oracle/oradata/test02.dbf TEST RECOVER 可以看到,数据文件依然存在,只是状态为 RECOVER。

现在将 TEST 表空间中 online 的数据文件中保留的内容进行备份,之后删除 TEST 表空间,最后重建 TEST 表空间导入备份数据。 [oracle@node1 oracle]$ exp test/test

file=/u01/oracle/test.dmp log=/u01/oracle/test.log full=y

Export: Release 10.2.0.1.0 - Production on Mon Oct 11 19:30:56 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

EXP-00023: must be a DBA to do Full Database or Tablespace export (2)U(sers), or (3)T(ables): (2)U > U Export grants (yes/no): yes > yes Export table data (yes/no): yes > yes Compress extents (yes/no): yes > yes

Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set server uses WE8ISO8859P1 character set (possible charset conversion)

. exporting pre-schema procedural objects and actions . exporting foreign function library names for user TEST . exporting PUBLIC type synonyms . exporting private type synonyms . exporting object type definitions for user TEST About to export TEST's objects ...

. exporting database links . exporting sequence numbers . exporting cluster definitions

搜索更多关于: Oracle数据库实验手册 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

/u01/oracle/oradata/example01.dbf ③ 数据文件的扩大和缩小 现在将 users01.dbf 扩扩充到 100M SQL> alter database datafile 2 '/u01/oracle/oradata/ora10/users01.dbf' resize 100M; SQL> select name,bytes from v$datafile; NAME BYTES 104857600 ------------------------------------------------------------ ------------ /u01/oracle/oradata/ora10/system01.dbf /u01/oracle/orad

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com