模拟用户zytuser的表空间ZYTUSER_TBS表空间添加数据文件到本地。
--环境准备
1.创建一个表空间
--创建表空间
create tablespace ZYTUSER_TBS datafile '+DATA' size 10m;
ALTER user ZYTUSER DEFAULT TABLESPACE ZYTUSER_TBS;
GRANT dba TO userzyt;
conn ZYTUSER/ZYTUSER
create table table1 as select * from dba_objects;
insert into table1 select * from table1;

2.首先查看db_create_file_dest参数指定数据文件创建路径。指定为+DATA;当它为Null时,默认位置为$ORACLE_HOME/dbs
SQL> show parameter db_create_file_dest

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest string +DATA

3.给这个表空间添加数据文件到本地
--正确
00:37:10 SYS@zytrac1>ALTER TABLESPACE ZYTUSER_TBS ADD DATAFILE SIZE 10m AUTOEXTEND ON NEXT 10M MAXSIZE 20m;

Tablespace altered.

--错误
1.
ALTER TABLESPACE ZYTUSER_TBS ADD DATAFILE ' +DATA'SIZE 10m AUTOEXTEND ON NEXT 10M MAXSIZE 20m;
2.
ALTER TABLESPACE ZYTUSER_TBS ADD DATAFILE 'DAT' SIZE 10m AUTOEXTEND ON NEXT 10M MAXSIZE 20m;

TABLESPACE_NAME FILE_NAME BIG FILE_ID AUT UG TG
------------------------------ -------------------------------------------------- --- ---------- --- ---------- ----------
ZYTUSER_TBS +DATA/zytrac/datafile/zytuser_tbs.289.1001722641 NO 7 NO .009765625 0
ZYTUSER_TBS +DATA/zytrac/datafile/zytuser_tbs.288.1001723845 NO 8 YES .009765625 .01953125
ZYTUSER_TBS /picclife/app/oracle/product/11.2.0/db_1/dbs/ +DA NO 9 YES .009765625 .01953125
TA

4.--alert
节点一alert正常,节点二alert报错。
SQL> select count(*) from table1;

COUNT(*)
----------
36864


SQL> select count(*) from table1;
select count(*) from table1
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 9 - see DBWR trace file
ORA-01110: data file 9: '/picclife/app/oracle/product/11.2.0/db_1/dbs/ +DATA'

5.解决方法
--mos两个
ORA-01157: cannot identify/lock data file 66 - see DBWR trace file ORA-01110: data file 66: (Doc ID 1612244.1)
How to move a datafile from a file system to ASM (Doc ID 390274.1)--Oracle Database - Enterprise Edition - Version 10.1.0.5 to 10.2.0.5.0 [Release 10.1 to 10.2]

How to Move a Datafile from Filesystem to ASM Using ASMCMD CP Command. (Doc ID 1610615.1)--Oracle Database - Enterprise Edition - Version 11.2.0.1 to 12.2.0.1 [Release 11.2 to 12.2]

NOTE: To copy datafiles from primary to standby databases on ASM it is recommended to use RMAN.
How to Copy ASM datafile From Primary Database to Standby Database on ASM using RMAN(Doc ID 605234.1)

--处理

--问题解决
--第一种方式
alter database datafile 9 offline;
RMAN> copy datafile '/picclife/app/oracle/product/11.2.0/db_1/dbs/ +DATA' to '+DATA/zytrac/datafile/zytuser_tbs.2019';
--RMAN> copy datafile '/picclife/app/oracle/product/11.2.0/db_1/dbs/ +DATA' to '+DATA';

alter database rename file '/picclife/app/oracle/product/11.2.0/db_1/dbs/ +DATA' to '+DATA/zytrac/datafile/zytuser_tbs.2019';
Database altered.
SQL> recover datafile '+DATA/zytrac/datafile/zytuser_tbs.2019';
Media recovery complete.
SQL> alter database datafile '+DATA/zytrac/datafile/zytuser_tbs.2019' online;
--alter database datafile 9 online;

--第二种方式
Doc ID 1610615.1
1) Make sure the datafile to be moved is OFFLINE
SQL> alter system switch logfile;
System altered.
SQL> select file_name, file_id from dba_data_files;

FILE_NAME FILE_ID
-------------------------------------------------- ----------
+DATA/zytrac/datafile/users.259.989696237 4
+DATA/zytrac/datafile/undotbs1.258.989696237 3
+DATA/zytrac/datafile/sysaux.257.989696237 2
+DATA/zytrac/datafile/system.256.989696237 1
+DATA/zytrac/datafile/example.267.989696347 5
+DATA/zytrac/datafile/undotbs2.268.989696591 6
+DATA/zytrac/datafile/zytuser_tbs.289.1001722641 7
+DATA/zytrac/datafile/zytuser_tbs.288.1001723845 8
+DATA/zytrac/datafile/zytuser_tbs.2019 9
/picclife/app/oracle/product/11.2.0/db_1/dbs/DATA 10
/picclife/app/oracle/product/11.2.0/db_1/dbs/DAT 11

11 rows selected.

SQL> alter database datafile 11 offline;
Database altered.
SQL> select file_name, file_id, online_status from dba_data_files where file_id=11;
FILE_NAME FILE_ID ONLINE_
-------------------------------------------------- ---------- -------
/picclife/app/oracle/product/11.2.0/db_1/dbs/ +DATA 9 RECOVER

2) Use ASMCMD to copy the file from filesystem to the diskgroup
ASMCMD> cp /picclife/app/oracle/product/11.2.0/db_1/dbs/DAT +DATA/zytrac/datafile/share1.dbf
ASMCMD> cp /picclife/app/oracle/product/11.2.0/db_1/dbs/DAT +DATA/zytrac/datafile/share1.dbf
copying /picclife/app/oracle/product/11.2.0/db_1/dbs/DAT -> +DATA/zytrac/datafile/share1.dbf
ASMCMD>
ASMCMD> ls -lt
Type Redund Striped Time Sys Name
N zytuser_tbs.2019 => +DATA/ZYTRAC/DATAFILE/ZYTUSER_TBS.276.1001727549
DATAFILE UNPROT COARSE MAR 23 13:00:00 Y ZYTUSER_TBS.289.1001722641
DATAFILE UNPROT COARSE MAR 23 13:00:00 Y ZYTUSER_TBS.288.1001723845
DATAFILE UNPROT COARSE MAR 23 13:00:00 Y ZYTUSER_TBS.276.1001727549
DATAFILE UNPROT COARSE MAR 23 13:00:00 Y USERS.259.989696237
DATAFILE UNPROT COARSE MAR 23 13:00:00 Y UNDOTBS2.268.989696591
DATAFILE UNPROT COARSE MAR 23 13:00:00 Y UNDOTBS1.258.989696237
DATAFILE UNPROT COARSE MAR 23 13:00:00 Y SYSTEM.256.989696237
DATAFILE UNPROT COARSE MAR 23 13:00:00 Y SYSAUX.257.989696237
DATAFILE UNPROT COARSE MAR 23 13:00:00 Y EXAMPLE.267.989696347
N share1.dbf => +DATA/ASM/DATAFILE/share1.dbf.297.1001729237

3. Once the file is copied, rename the datafile
SQL> alter database rename file '/picclife/app/oracle/product/11.2.0/db_1/dbs/DAT' to '+DATA/zytrac/datafile/share1.dbf';
Database altered.

4. Recover the datafile and bring it ONLINE.
SQL> alter database recover datafile 11;
Database altered.

SQL> alter database datafile 11 online;
Database altered.

5. Confirm correct name and location:
SQL> select file_name, file_id, online_status from dba_data_files where file_id=11;
FILE_NAME FILE_ID ONLINE_STATUS
---------- -------
+DATA/zytrac/datafile/share1.dbf 11 ONLINE

--总结
在主库需要将数据文件offline,否则会提示正在使用;如果备库应该不需要。

测试rac数据文件建本地及处理的更多相关文章

  1. Oracle 11g R2(11.2.0.4) RAC 数据文件路径错误解决--ORA-01157 ORA-01110: 数据文件

    Oracle 11g R2(11.2.0.1) RAC  数据文件路径错误解决--ORA-01157 ORA-01110: 数据文件 oracle 11g R2(11.2.0.4) rac--scan ...

  2. 在windows下,将mysql离线数据文件导入本地mysql数据库

    1. 查看mysql路径 SELECT @@basedir AS basePath FROM DUAL 其实mysql5.6 的数据文件在 C:\ProgramData\MySQL\MySQL Ser ...

  3. RAC环境下误操作将数据文件添加到本地存储

    今天碰到个有意思的事情,有客户在Oracle RAC环境,误操作将新增的数据文件直接创建到了其中一个节点的本地存储上. 发现网上去搜的话这种问题还真不少,对应解决方案也各式各样,客户问我选择哪种方案可 ...

  4. 测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程

    测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程 最近系统出现问题,由于数据库产生的日志量太大无法开启归档模式,导致offline的 ...

  5. RAC本地数据文件迁移至ASM的方法--非归档模式

    系统环境:rhel6.2_x64+Oracle RAC11g 操作过程: 1.非归档模式 SQL> archive log list; Database log mode No Archive ...

  6. Postman Postman测试接口之POST提交本地文件数据

    Postman测试接口之POST提交本地文件数据   by:授客 QQ:1033553122 本文主要是针对用Postman POST提交本地文件数据的方法做个简单介绍 举例: 文件同步接口 接口地址 ...

  7. oracle之 RAC本地数据文件迁移至ASM

    系统环境:CentOS release 6.7 (Final)Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit 操作过 ...

  8. Oracle 11g Rac 用rman实现把本地数据文件迁移到ASM共享存储中

    在Oracle Rac环境中,数据文件都是要存放在ASM共享存储上的,这样两个节点才能同时访问.而当你在某一节点下把数据文件创建在本地磁盘的时候,那么在另一节点上要访问该数据文件的时候就会报错,因为找 ...

  9. bay——RAC 表空间时数据文件误放置到本地文件系统-介质恢复.txt

    RAC添加新表空间时数据文件误放置到本地文件系统的修正 于是我想11G 也兼容这些操作的方法,但是11G的新特性有一点就是可以直接支持ASM文件系统直接可以和本地文件系统进行文件的拷贝了,也就是有三种 ...

随机推荐

  1. Redis缓存雪崩、缓存穿透、热点key

    转载自  https://blog.csdn.net/wang0112233/article/details/79558612 https://www.sohu.com/a/230787856_231 ...

  2. [SWMM]弗汝德数

    弗汝德数(Froude number)是流体内惯性力与重力的比值.弗汝德数(Fr)是水力学中重要的无量纲数之一,它表示过水断面上单位重量液体具有的平均动能与平均势能的比值,它也表示水流惯性力与重力的比 ...

  3. 在vue中引入版本为"echarts": "^5.1.2"图表

    1. npm install echarts --save 2. 在main.js文件中 import echarts from 'echarts' Vue.prototype.$echarts =  ...

  4. redis内存回收

    1.定时过期expilre expire key TTL 10定时器 主动淘汰 2.惰性过期 被动淘汰 3getCommand expireIfNeed() 设置内存上线 set memory 上线 ...

  5. OpenCV 生成矩形mask

    生成mask的一种操作 cv::Mat mask = cv::Mat::zeros(300, 300, CV_8UC1); mask(cv::Rect(100,150,100, 50)) = 255; ...

  6. 一种封装Retrofit的方法,可以自动解析Gson,回避Method return type must not include a type variable or wildcard: retrofit2.Call<T>的问题

    封装目的:屏蔽底层实现,提供统一接口,并支持Gson自动转化 最初封装: //请求方法 interface RequestListener { interface PostListener { @PO ...

  7. Javascirpt 面向对象总结-继承

    JS继承的实现方式 既然要实现继承,那么首先我们得有一个父类,代码如下: // 定义一个动物类 function Animal (name) { // 公有属性 this.name = name || ...

  8. Servlet学习笔记(三)之HttpServletRequest

    HttpServletRequest(HttpServletRequest 想比 ServletRequest 添加与协议相关 API)对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HT ...

  9. MySQL——MySQL客户端命令

    1. mysql: (1)用于数据库连接 (2)用于管理数据库: a: 命令接口自带命令 b: SQL语句: DDL: 数据库定义语言 DCL: 数据库控制语言 DML: 数据库操作语言 2. mys ...

  10. java基础之ThreadLocal

    早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路.使用这个工具类可以很简洁地编写出优美的多线程程序.Thr ...