oracle_一次移动数据库dbf文件的操作
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文件的操作的更多相关文章
- c++针对数据库,文件的操作总结(原始)
		
1.将文件保存到sqlserver数据库的相关操作: Update t1 .txt’, SINGLE_BLOB ) Select convert( varchar(), data ) 注:fileTy ...
 - C#对DBF文件的操作
		
protected void Page_Load(object sender, EventArgs e) { System.Data.Odbc.OdbcConnection conn = new Sy ...
 - 将DBF文件导入Sqlserver数据库
		
项目中的问题:用户选择N个dbf文件导入sql2005数据库,由于每年dbf表结构都在变化,所以在sql2005中根本就不存在,需要每年根据dbf的结构自动建表.(文章来自http://blog.cs ...
 - JAVA 操作 DBF 文件数据库
		
1.依赖夹包 javadbf-[].4.1.jar jconn3.jar 2.添加属性文件 jdbc.properties jdbc.driverClassName=com.sybase.jdbc3. ...
 - C# 解决读取dbf文件,提示Microsoft Jet 数据库引擎找不到对象的问题
		
前言 最新项目需要经常和dbf文件打交道,在实际场景中很多软件需要和一些老的系统进行数据交互,而这些系统都在使用foxpro数据库,读取dbf文件一般都是分为两种情况:第一:安装foxpro的驱动进行 ...
 - DBF 文件 ORACLE 数据库恢复
		
DBF 文件 ORACLE 数据库恢复 清·魏源<庸易通义>:"至道问学之有知无行,分温故为存心,知新为致知,而敦厚为存心,崇礼为致知,此皆百密一疏." 起因 在我们的 ...
 - [转载]在SQL Server 中,如何实现DBF文件和SQL Server表之间的导入或者导出?
		
原来使用SQL Server 2000数据库,通过DTS工具很方便地在SQL Server和DBF文件之间进行数据的导入和导出,现在安装了SQL Server2005之后,发现其提供的“SQL Ser ...
 - 误删除了Oracle的dbf文件后的解决方法
		
问题描述: 误删除Oracle数据库的dbf文件,在启动和关闭数据库是会提示错误. startup启动数据库时提示: ORA-01157:无法标识/锁定数据文件 ORA-01110:数据文件:‘... ...
 - PB导出规定格式DBF文件
		
最近在做一个给卫计委做数据上报的数据接口,接口要求使用奇葩的dBase 3数据库存储上报数据,忙活了几天总算搞好了,使用开发工具为powerbuild 12,222个字段的上报数据表生成DBF文件,写 ...
 
随机推荐
- HttpPost与HttpVerbs.Post属性的区别
			
1. the HttpPost attribute is a short for the HttpVerbs.Post one but since MVC 2.0. 从MVC 2.0之后HttpPos ...
 - Objetive-C 中的相等比较
			
1.== 用于比较两个对象的地址是否相同 1)需要注意的是相同的短字符串,一定大小整数(nsnumber),Objetive-C 底层会做cache,两个对象,指向同一个地址. 例如: NSStrin ...
 - Shader之ECEF——LLH
			
uniform mat4 osg_ViewMatrix; uniform mat4 osg_ViewMatrixInverse; uniform mat4 osg_ModeViewMatrix; un ...
 - Kettle中spoon.sh在使用时报错
			
报错信息: Attempting to load ESAPI.properties via file I/O. Attempting to load ESAPI.properties as resou ...
 - Excel教程(3) - 函数输入方法
			
对 Excel 公式而言,函数是其中的主要组成部分,因此公 式输入可以归结为函数输入的问题. "插入函数"对话框 "插入函数"对话框是 Excel 输入公式的重 ...
 - digitalocean网站打不开,大陆无法正常访问怎么办?
			
在中国大陆,由于某些恶心的原因,digitalocean官方网站经常出现无法打开,或者打开后网页异常的情况,如果你是一个新注册用户,你甚至会被吓到,一个全球知名的vps主机商网站可能是这样的: 我的天 ...
 - SuperMapPy 批量拼接 GeoTiff影像
			
影像拼接工具使用说明 一.影像像素位深检查 1.采用开源库GDAL的gdalinfo.exe读取GeoTiff文件的信息,如类型.投影,范围等. 2.采用DOS脚本遍历所有GeoTiff文件,输出各个 ...
 - javaWEB总结(3):ServletConfig对象
			
1.首先找到ServletConfig的API: ServletConfig封装了servlet的配置信息,并且可以获取servletContext对象. ServletConfig共有四个方法: 1 ...
 - vmware 命令行启动虚拟机
			
在redhat enterprise 5.3安装了vmware workstation,如何用vmware 命令行启动指定虚拟机?/usr/bin/vmware[root@node0 ~]# /usr ...
 - linux脚本Shell之awk详解
			
一.基本介绍1.awk: awk是一个强大的文本分析工具,在对文本文件的处理以及生成报表,awk是无可替代的.awk认为文本文件都是结构化的,它将每一个输入行定义为一个记录,行中的每个字符串定义为一个 ...