oracle数据库的dbf路径下面磁盘不足,需要把原始路径下面的dbf文件移动到另外一个磁盘路径下, 具体的操作有四步。

1.把整个表空间offline.

2.copy原始路径下的dbf文件到新的路径下面。

3.改变dbf文件的路径。

4.把表空间online。

查询表空间和移动dbf文件的sql如下:

select ts.rn,
ts.TABLESPACE_NAME,
df.BYTES/1024/1024/1024,
to_number(regexp_substr(ts.TABLESPACE_NAME,'[0-9]{6}'))date_tb,
df.FILE_NAME,
replace(df.FILE_NAME,'/oradata/db/mos/','')os_filename,
'alter tablespace '||ts.TABLESPACE_NAME||' offline;' SQL_offline_ts,
'alter tablespace '||ts.TABLESPACE_NAME||' online;' SQL_online_ts,
'cp '||df.FILE_NAME||' /oradata/db3/p/.' OS_copy,
'alter tablespace '||ts.TABLESPACE_NAME||' rename datafile '''||df.FILE_NAME||''' to ''/oradata/db3/pm/'||replace(df.FILE_NAME,'/oradata/db/mos/','')||''';' SQL_rename_dbf

from (select rownum rn,
ts.TABLESPACE_NAME from
user_tablespaces ts
where to_number(regexp_substr(ts.TABLESPACE_NAME,'[0-9]{6}')) >= 160000
and to_number(regexp_substr(ts.TABLESPACE_NAME,'[0-9]{6}')) <= 160500
)ts
,dba_data_files df

where
ts.TABLESPACE_NAME = df.TABLESPACE_NAME
and lower(df.FILE_NAME) like '%/oradata/db/mos/p_db_dat%';

一次具体的操作过程如下:(一共移动了三个表空间的数据文件,中间的复制操作在linux窗口进行,不在本次操作记录里。)

先用sys用户登录数据库。

SQL> alter tablespace PM4H_DB_DAT_W_150803 offline;

Tablespace altered.

SQL> alter tablespace PM4H_DB_DAT_W_150803 rename datafile '/oradata/db/pm/pm4h/mos5200/PM4H_DB_DAT_W_150803_MV0_0000.dbf' to '/oradata/db3/pm/PM4H_DB_DAT_W_150803_MV0_0000.dbf';

Tablespace altered.

SQL> alter tablespace PM4H_DB_DAT_W_150803 rename datafile '/oradata/db/pm/pm4h/mos5200/PM4H_DB_DAT_W_150803_MV0_0001.dbf' to '/oradata/db3/pm/PM4H_DB_DAT_W_150803_MV0_0001.dbf';

Tablespace altered.

SQL>

SQL>

SQL> alter tablespace PM4H_DB_DAT_W_150803 rename datafile '/oradata/db/pm/pm4h/mos5200/PM4H_DB_DAT_W_150803_MV0_0002.dbf' to '/oradata/db3/pm/PM4H_DB_DAT_W_150803_MV0_0002.dbf';

Tablespace altered.

SQL> alter tablespace PM4H_DB_DAT_W_150803 online;

Tablespace altered.

SQL> alter tablespace PM4H_DB_DAT_W_150810 offline;

Tablespace altered.

SQL> alter tablespace PM4H_DB_DAT_W_150810 rename datafile '/oradata/db/pm/pm4h/mos5200/PM4H_DB_DAT_W_150810_MV0_0000.dbf' to '/oradata/db3/pm/PM4H_DB_DAT_W_150810_MV0_0000.dbf';

Tablespace altered.

SQL> alter tablespace PM4H_DB_DAT_W_150810 rename datafile '/oradata/db/pm/pm4h/mos5200/PM4H_DB_DAT_W_150810_MV0_0001.dbf' to '/oradata/db3/pm/PM4H_DB_DAT_W_150810_MV0_0001.dbf';

Tablespace altered.

SQL>

SQL> alter tablespace PM4H_DB_DAT_W_150810 rename datafile '/oradata/db/pm/pm4h/mos5200/PM4H_DB_DAT_W_150810_MV0_0002.dbf' to '/oradata/db3/pm/PM4H_DB_DAT_W_150810_MV0_0002.dbf';

Tablespace altered.

SQL> alter tablespace PM4H_DB_DAT_W_150810 online;

Tablespace altered.

SQL> alter tablespace PM4H_DB_DAT_W_150817 offline;

Tablespace altered.

SQL> alter tablespace PM4H_DB_DAT_W_150817 rename datafile '/oradata/db/pm/pm4h/mos5200/PM4H_DB_DAT_W_150817_MV0_0000.dbf' to '/oradata/db3/pm/PM4H_DB_DAT_W_150817_MV0_0000.dbf';

Tablespace altered.

SQL> SQL> SQL> alter tablespace PM4H_DB_DAT_W_150817 rename datafile '/oradata/db/pm/pm4h/mos5200/PM4H_DB_DAT_W_150817_MV0_0001.dbf' to '/oradata/db3/pm/PM4H_DB_DAT_W_150817_MV0_0001.dbf';

Tablespace altered.

SQL> alter tablespace PM4H_DB_DAT_W_150817 rename datafile '/oradata/db/pm/pm4h/mos5200/PM4H_DB_DAT_W_150817_MV0_0002.dbf' to '/oradata/db3/pm/PM4H_DB_DAT_W_150817_MV0_0002.dbf';

Tablespace altered.

SQL> alter tablespace PM4H_DB_DAT_W_150817 online;

Tablespace altered.

SQL> exit

oracle_一次移动数据库dbf文件的操作的更多相关文章

  1. c++针对数据库,文件的操作总结(原始)

    1.将文件保存到sqlserver数据库的相关操作: Update t1 .txt’, SINGLE_BLOB ) Select convert( varchar(), data ) 注:fileTy ...

  2. C#对DBF文件的操作

    protected void Page_Load(object sender, EventArgs e) { System.Data.Odbc.OdbcConnection conn = new Sy ...

  3. 将DBF文件导入Sqlserver数据库

    项目中的问题:用户选择N个dbf文件导入sql2005数据库,由于每年dbf表结构都在变化,所以在sql2005中根本就不存在,需要每年根据dbf的结构自动建表.(文章来自http://blog.cs ...

  4. JAVA 操作 DBF 文件数据库

    1.依赖夹包 javadbf-[].4.1.jar jconn3.jar 2.添加属性文件 jdbc.properties jdbc.driverClassName=com.sybase.jdbc3. ...

  5. C# 解决读取dbf文件,提示Microsoft Jet 数据库引擎找不到对象的问题

    前言 最新项目需要经常和dbf文件打交道,在实际场景中很多软件需要和一些老的系统进行数据交互,而这些系统都在使用foxpro数据库,读取dbf文件一般都是分为两种情况:第一:安装foxpro的驱动进行 ...

  6. DBF 文件 ORACLE 数据库恢复

    DBF 文件 ORACLE 数据库恢复 清·魏源<庸易通义>:"至道问学之有知无行,分温故为存心,知新为致知,而敦厚为存心,崇礼为致知,此皆百密一疏." 起因 在我们的 ...

  7. [转载]在SQL Server 中,如何实现DBF文件和SQL Server表之间的导入或者导出?

    原来使用SQL Server 2000数据库,通过DTS工具很方便地在SQL Server和DBF文件之间进行数据的导入和导出,现在安装了SQL Server2005之后,发现其提供的“SQL Ser ...

  8. 误删除了Oracle的dbf文件后的解决方法

    问题描述: 误删除Oracle数据库的dbf文件,在启动和关闭数据库是会提示错误. startup启动数据库时提示: ORA-01157:无法标识/锁定数据文件 ORA-01110:数据文件:‘... ...

  9. PB导出规定格式DBF文件

    最近在做一个给卫计委做数据上报的数据接口,接口要求使用奇葩的dBase 3数据库存储上报数据,忙活了几天总算搞好了,使用开发工具为powerbuild 12,222个字段的上报数据表生成DBF文件,写 ...

随机推荐

  1. jquery获取li中的各项属性值attr

    发布新内容时的设计 默认显示一个按钮 如:发布按钮(放在h3字体里面)(鼠标上面时.显示发布到哪个模块下拉菜单发在li里面) $('#pup_model li , #pup_model h3').cl ...

  2. 如何提升 CSS 选择器性能

    CSS 选择器性能损耗来自? CSS选择器对性能的影响源于浏览器匹配选择器和文档元素时所消耗的时间,所以优化选择器的原则是应尽量避免使用消耗更多匹配时间的选择器.而在这之前我们需要了解CSS选择器匹配 ...

  3. 测试word 2013发布blog

    测试图片和各种格式   使用Windows Live Writer 2012和Office Word 2013 发布文章到博客园全面总结 (亲测可用)   我的一些感受: 缺点 (1) Word201 ...

  4. 查看,添加和删除GIT配置的正确姿势

    查看GIT所有配置的命令: git config --list 查看GIT全局配置的命令: git config --global --list 添加GIT全局配置(HTTPS代理) git conf ...

  5. Openjudge-计算概论(A)-与7无关的数

    描述: 一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和. 输入输入为一行,正整数n( ...

  6. id和instancetype的异同

    相同点: 都可以作为方法返回值类型 在initWithName:方法中是一样的,例如: - (id)initWithName:(NSString *)name; - (instancetype)ini ...

  7. ECOS- 技术问题答疑[转]

    http://bbs.ec-os.net/read.php?tid=37 1.为什么我购买的是源码版,但是我的base/ego.php(或者base/ego/目录下文件)却是加密的?  答:ego 源 ...

  8. margin的auto的理解

    auto 总是试图充满父元素 margin有四个值: All the margin properties can have the following values: auto - the brows ...

  9. Jquery EasyUI datagrid后台数据表格生成及分页详解

    由于项目原因,网站后台需要对用户信息进行各种操作,有时还需要进行批量操作,所以首先需要将用户信息展示出来,查了不少资料.发现Jquery EasyUI确实是一个不错的选择,功能强大,文档也比较全面,而 ...

  10. Astyle编程语言格式化工具的说明

    1.工具->扩展和更新,搜astyle插件,下载安装重启,当前是2.0版本. 2.工具->选项->AStyle Formatter->Edit,填入下面的,点击save,确定. ...