前提:非TEMP、UNDO和SYSTEM表空间,这仨是大爷,您得搂着点。来自博客园AskScuti 。客户是添加临时表空间数据文件时,不小心 ADD 到了文件系统中,然后发现,后悔了,还在OS层面 RM 了,重建调整吧。

实验就拿着普通的用户表空间练手吧。

目录

1. 创建用户表空间

2. 故意添加错误路径的数据文件

3. 查询报错

4. 表空间脱机

5. 通过RMAN进行COPY

6. 数据文件重命名

7. 数据文件RECOVER

8. 表空间联机

1. 创建用户表空间

SQL> create tablespace henry datafile '+ASMDATA' size 1m;

Tablespace created.

SQL> select name from v$datafile;

NAME
-------------------------------------------------------
+ASMSYSTEM/racerp/datafile/system.260.1005224067
+ASMSYSTEM/racerp/datafile/sysaux.261.1005224093
+ASMSYSTEM/racerp/datafile/undotbs1.262.1005224115
+ASMSYSTEM/racerp/datafile/undotbs2.264.1005224141
+ASMSYSTEM/racerp/datafile/users.265.1005224147
+ASMDATA/racerp/datafile/test.256.1005234027
+ASMDATA/racerp/datafile/henry.257.1010151449

2. 故意添加错误路径的数据文件

SQL> alter tablespace henry add datafile '/u01/app/oracle/henry02.dbf' size 1m;

Tablespace altered.

SQL> select name from v$datafile;

NAME
-------------------------------------------------------
+ASMSYSTEM/racerp/datafile/system.260.1005224067
+ASMSYSTEM/racerp/datafile/sysaux.261.1005224093
+ASMSYSTEM/racerp/datafile/undotbs1.262.1005224115
+ASMSYSTEM/racerp/datafile/undotbs2.264.1005224141
+ASMSYSTEM/racerp/datafile/users.265.1005224147
+ASMDATA/racerp/datafile/test.256.1005234027
+ASMDATA/racerp/datafile/henry.257.1010151449
/u01/app/oracle/henry02.dbf

3. 查询报错

SQL> select tablespace_name,file_id from dba_temp_files;
select tablespace_name,file_id from dba_temp_files
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 201 - see DBWR trace file
ORA-01110: data file 201: '/u01/app/oracle/henry02.dbf'

发现路径错了。

4. 表空间脱机

SQL> alter tablespace henry offline;

Tablespace altered.

5. 通过RMAN进行COPY

[oracle@erpn2:/home/oracle]$rman target /

Recovery Manager: Release 11.2.0.4.0 - Production on Wed Jun 5 13:45:31 2019

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: RACERP (DBID=1820589684)

RMAN> copy datafile '/u01/app/oracle/henry02.dbf' to '+ASMDATA';

Starting backup at 2019-06-05 13:45:33
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=16 instance=RACERP_2 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00008 name=/u01/app/oracle/henry02.dbf
output file name=+ASMDATA/racerp/datafile/henry.261.1010151935 tag=TAG20190605T134535 RECID=4 STAMP=1010151935
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 2019-06-05 13:45:36 Starting Control File and SPFILE Autobackup at 2019-06-05 13:45:36
piece handle=/backup/RACERP_c-1820589684-20190605-03.ctl comment=NONE
Finished Control File and SPFILE Autobackup at 2019-06-05 13:45:43

6. 数据文件重命名

SQL> alter database rename file '/u01/app/oracle/henry02.dbf' to '+ASMDATA/racerp/datafile/henry.261.1010151935';

Database altered.

7. 数据文件RECOVER

SQL> recover datafile 8;
Media recovery complete.

8. 表空间联机

SQL> alter tablespace henry online;

Tablespace altered.

SQL> select name from v$datafile;

NAME
------------------------------------------------------
+ASMSYSTEM/racerp/datafile/system.260.1005224067
+ASMSYSTEM/racerp/datafile/sysaux.261.1005224093
+ASMSYSTEM/racerp/datafile/undotbs1.262.1005224115
+ASMSYSTEM/racerp/datafile/undotbs2.264.1005224141
+ASMSYSTEM/racerp/datafile/users.265.1005224147
+ASMDATA/racerp/datafile/test.256.1005234027
+ASMDATA/racerp/datafile/henry.257.1010151449
+ASMDATA/racerp/datafile/henry.261.1010151935

11g RAC添加用户表空间(数据文件)至文件系统(File System)的修正的更多相关文章

  1. rac下asm管理的表空间-数据文件的重命名

    asm下表空间的重命名与普通文件系统下的表空间重命名原理是一样的,只不过asm管理的数据文件有一些需要注意的地方,另外在asm下操作数据文件需要格外小心,稍有不慎将会造成数据文件丢失,如可以做备份最好 ...

  2. Oracle数据库表空间 数据文件 用户 以及表创建的SQL代码

    --create the tablespace CREATE SMALLFILE TABLESPACE "TABLE_CONTAINER" --创建表空间 DATAFILE 'E: ...

  3. oracle 表空间 数据文件 表的关系

    数据文件是表空间的容器,增加数据文件是增大表空间的容量,而不是往表空间里添加数据因此数据文件肯定能添加,如果表空间用完了,再添加新的数据就会报错你可以这样理解,数据库是一个箱子,表空间是箱子里的抽屉, ...

  4. 移动Oracle的用户表空间文件方法

    原文:http://www.linuxidc.com/Linux/2014-07/104702.htm 1.以sys用户登录        sqlplus /nologSQL>connect s ...

  5. oracle创建临时表空间、用户表空间、创建用户关联表空间、授权等

    1.创建临时表空间 CREATE TEMPORARY TABLESPACE test_temp TEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test ...

  6. 在MS SQLSERVER中如何最快的速度清空所有用户表的数据

    有时候我们需要清空数据库中所有用户表的数据,如果一张表一张表的清空的话,遇到一个庞大的数据系统估计得崩溃了.  用游标加上用变量来引用表名就可以做到这一点. 用变量来引用表名对表操作可以用在存储过程中 ...

  7. [Oracle]System 表空间的文件丢失

    如果system 表空间的文件丢失,假设有备份的情况,可以恢复.数据库需要设置为mount 状态,然后restore/recover datafile 模拟实验: SQL> select nam ...

  8. orcale 11g安装,创建表空间,用户,授权用户

    一.卸载旧oracle 用Oracle自带的卸载程序不能从根本上卸载Oracle,从而为下次的安装留下隐患,那么怎么才能完全卸载Oracle呢?那就是直接注册表清除,步骤如下: 1. 开始->设 ...

  9. Oracle 11g安装,新建表空间和用户

    windows版: 官网下载,两个压缩包,总共2G,解压到同一个文件夹下,setup.exe双击执行,首次安装的话,一直下一步就可以了,最后一步可能时间比较长,等着就好了,一般性能的机器大概要半小时左 ...

随机推荐

  1. Java JDK 1.8 安装及配置

    1.下载 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 要注册,注 ...

  2. win10 系统到期的解决方案

    本人是 win10 教育版,今天多次提醒 windows 要到期了(烦银).所以网上找到了解决方法,记录一下. 废话:win10 与之前的 windows 版本一样,有家庭版.专业版.企业版等各个版本 ...

  3. [Python]scatter_matrix报错 module 'pandas' has no attribute 'scatter_matrix'

    运行pandas.scatter_matrix()散点图函数时报错, 原因是该函数在新版本用法发生了变化: pandas.plotting.scatter_matrix 完整用法:pd.plottin ...

  4. JVM和线程池

    本文链接:https://blog.csdn.net/liuwenliang_002/article/details/90074283 ————————————————版权声明:本文为CSDN博主「3 ...

  5. DataReader类型化数据读取与装箱性能研究

    前言 在各种ORM框架或者SQL映射框架(例如MyBatis,SOD框架之SQL-MAP功能)中,都有将查询的结果映射为内存对象的需求,包括映射到实体类.简单类型(例如Java的POJO,.NET的P ...

  6. Python语法速查: 14. 测试与调优

    返回目录 本篇索引 (1)测试的基本概念 (2)doctest模块 (3)unittest模块 (4)调试器和pdb模块 (5)程序探查 (6)调优与优化 (1)测试的基本概念 对程序的各个部分建立测 ...

  7. Arduino上搭建ESP8266环境

    我尝试了各种方法都无法在Arduino上安装ESP8266的环境,最后发现离线安装最稳妥. 1. 下载安装包,提取码:pktw 2. 将安装包内所有文件拷贝到C:\Users\Administrato ...

  8. [THUSC2016]成绩单 [区间dp]

    简单区间dp. 考虑 \(f_{i,j,mn,mx}\)表示 \(i,j\) 区间的最大值为 \(mx\),最小值为 \(mn\) 的最小花费,\(g_{i,j}\) 为删掉 \([i,j]\) 的最 ...

  9. flex 属性

    一.flex-direction(元素排列方向) 1.flex-direction:row://从左到右排列 2.flex-direction:column://从上往下排列 二.flex-wrap( ...

  10. 解决shell 报错:syntax error: unexpected end of file

    debug  shell:执行 sh -x test.sh vi test.sh :set fileformat=unix :wq解决问题原因是我在windows pycharm 写的格式不符合uni ...