移动Oracle表空间数据文件方案

方案一:移动常规表空间(非系统表空间)数据文件

/**************数据库服务器某个磁盘空间不足时移动常规表空间数据文件*****************/

1、使用范围:该操作在数据库正常运行(open状态)的条件下进行,但不能移动系统表空间里面的数据文件

2、使用alter tablespace 命令

1>准备工作:

C:\ sqlplus/nolog

SQL>connect sys/[email protected]实例名 as sysdba;

2>使表空间脱机:

SQL>alter tablespace TABS offline normal;

3>将表空间数据文件复制到比较空闲的磁盘:

例如:将D:\YAG_DB\ABS.ora 复制到E:\NEW\ABS.ora

4>执行alter tablespace rename datafile命令:

SQL>alter tablespace ABS rename datafile ‘D:\YAG_DB\ABS.ora ‘ to ‘E:\NEW\ABS.ora‘;

执行完,会显示表空间已经更改(此命令的实际是修改控制文件中表空间数据文件的指针)

5>使表空间联机:

SQL>alter tablespace ABS online;

6>此时可删除D:\YAG_DB\ABS.ora

7>重启数据库:

SQL>shutdown immediate

SQL>startup

方案二:移动常系统表空间数据文件

/****************数据库服务器某个磁盘空间不足时移动系统表空间数据文件*****************/

1、使用范围:该操作在数据库处于mount 状态才能进行,可移动系统表空间的数据文件

2、步骤(Linux系统中的操作):

1># su - oracle --切换到oracle用户下

2># sqlplus /nolog

3>SQL>conn sys/pwd as sysdba

4>SQL>shutdown immediate --数据库在启动状态时,先关闭

5>SQL>startup mount --将数据库启动为mount状态

6>将要移动的系统表空间数据文件复制到比较空闲的分区目录

eg:# mv /home/app/oracle/oradata/ORACLE_SID/system01.dbf /data/ZJPLUS3_DB/ZJPLUS3

7>使用alter database rename file 命令

SQL>alter database rename file ‘/home/app/oracle/oradata/ORACLE_SID/system01.dbf‘ to ‘/data/YAG_DB/ORACLE_SID/system01.dbf‘;

8>打开数据库

SQL>alter databse open

9>检查系统表空间的文件路径是否正确

SQL>select file#,name,status From v$datafile; --system系统表空间的文件路径name应为刚刚更改的路径

移动Oracle表空间数据文件方案,布布扣,bubuko.com

时间: 2025-01-18 14:12:51

移动Oracle表空间数据文件方案的相关文章

Oracle表空间数据文件移动

Oracle表空间数据文件移动 系统:windows oracle:10g 实现把用户表空间中的数据文件从某一个路径移动到里一个路径 一.针对可offline的非系统表空间 本例移动oracle的案例表空间(EXAMPLE表空间),将其从 D:\ORADATA\ORCL\ 移动到 D:\ORACLE\ORADATA\ 1.查看要改变的表空间的数据文件信息 SQL> select tablespace_name,file_name,online_status from dba_data_files

关于Oracle表空间数据文件自增长的一些默认选项

昨天,一个同事请教了一些关于Oracle表空间数据文件自增长的问题,解答过程中顺便整理起来,以后其他同事有同样的疑问时可以直接查阅. 实验内容: 创建MYTEST表空间,默认不开启自增长. 给MYTEST表空间添加一个数据文件,开启自增长,但是不设置自增长的SIZE. 给MYTEST表空间添加一个数据文件,开启自增长,指定自增长的SIZE. 操作过程记录如下:(已经将多余的结果进行过滤) [email protected]>CREATE TABLESPACE MYTEST DATAFILE '/

oracle表空间数据文件的移动

需求:把用户的某一个表空间中的数据文件由于某种原因从一个路径移动到里一个路径原因:(1)当前实例中的表空间文件及系统表空间文件全在一块硬盘上,导致IO增加.装数据库表空间移走.减少IO.(2)磁盘空间有限,这个磁盘空间太小了,随着数据的增长,需要换一块大的磁盘可行性:linux的文件都是通过挂载,到一个目录下,磁盘的移动就只是文件路径的改变. 实现此方法有两种方法1.alter tablespace(1)查看要改变的这个表空间所对应的数据文件信息SQL> select tablespace_na

【oracle11g,14】表空间管理3:临时表空间,表空间的脱机和只读,数据文件迁移,更改表空间数据文件的大小,表空间数据文件的迁移,使用非标准块的表空间,bigfile 表空间

一.临时表空间: 如果临时表空间不足会报ora-1652错误. 二.什么时候使用临时表空间: 排序和分组 索引create或rebuild order by 或group by distinct 操作 union或intersect或minus sort-merge joins analyze 用于排序.分组.索引等操作,在pga中的sort_area中排序,会将排序的中间结果存放到临时表空间中,如果想提高排序的效率可以提高sort_area_size参数值. 临时表空间不能存放持久化对象,推荐

ORA-01144_表空间数据文件超出最大限制

Oracle11gR2扩展表空间报ORA-01144错误. 数据块大小为8K的数据库,单个数据文件大小限制在32GB内. 解决办法: 1.增加表空间数据文件的方式: 2.创建BIGFILE表空间:

Oracle表空间文件迁移

set ORACLE_SID = ORCL; sqlplus /nolog connect sys/1234 as sysdba; alter tablespace tablespace_name offline; alter database rename file '......\tablespace_name.dbf' to '......\tablespace_name.dbf'; alter tablespace tablespace_name online; recover data

Linux服务器磁盘扩展和oracle表空间文件迁移操作记录

1.环境介绍 服务器硬件:Dell R710 服务器OS:红帽子Linux   RHEL4.8 数据库:Oracle 10g 2.出现的问题 因为数据表每天有上百万的数据写入表,加上建立索引,导致表空间不停增长,表空间被设置为自动增长,因此dbf文件在不断增大,硬盘空间在每天约400M的速度减少.数据库虽有自清理的脚本,清理3个月前的数据,但实际增加的数据太多,清理释放的空间不能满足需求了. 3.处理过程 解决思路是,该服务器的硬盘有预留空间,未完全划分的约有100G,可以建立新的分区,将已经存

表空间数据文件迁移到另外的位置(backup as copy tablespace)

环境: OS: Centos 7 DB:12.2.0.1 数据库必须在归档模式 1.创建表空间12c pdb下创建表空间create tablespace tps_dataloggingdatafile '/u01/app/oracle/oradata/ora12c/ora12cpdb1/tps_data01.dbf'size 100mautoextend onnext 10m maxsize 24Gextent management local; 表空间添加数据文件alter tablespa

Oracle大表改为分区表及表空间切换方案

Oracle大表改为分区表及表空间切换方案 一.            背景 由于之前数据库表和索引放在一个表空间导致表空间数据文件增长太快,文件数量即将达到Oracle表空间的限制,需要对表(没有分区,有些表数据量多达几十亿,文件大小TB级)进行表空间迁移,并对某些表改造为分区表. 二.            可选方案分析 1.    使用IMP/EXP 导入(import)导出(export)工具年头已久,将数据导出为二进制文件,将会在11g r2之后废弃,只用于遗留数据的导入导出 此工具可