rac 环境数据文件误建到rac 节点本地处理

在一次RAC例行巡检时,查询表空间的使用情况,节点1竟然抛出来,dbwr 进程无法lock ‘D:oraclefcdataLIXORA.DBF’  这个数据文件;感觉不对啊,非常不祥的感觉;

光看名字就可以猜到,数据文件建到rac 节点2本地;

看下文件状态吧:

SQL> select file_name,tablespace_name from dba_data_files;

FILE_NAME

--------------------------------------------------------------------------------

+DATA/lixora/datafile/sys_yyxt.271.785089053

+DATA/lixora/datafile/sys_yyxt.270.785089231

+DATA/lixora/datafile/sys_yyxt.269.785089375

+DATA/lixora/datafile/users.276.784277257

+DATA/lixora/datafile/sysaux.274.784277257

+DATA/lixora/datafile/undotbs1.275.784277257

+DATA/lixora/datafile/system.273.784277257

+DATA/lixora/datafile/undotbs2.284.784277321

+DATA/lixora/datafile/sys_yyxt.268.785089665

+DATA/lixora/datafile/sys_yyxt.265.785089753

+DATA/lixora/datafile/sys_yyxt.264.785089843

FILE_NAME

--------------------------------------------------------------------------------

+DATA/lixora/datafile/sys_yyxt.400.785089933

+DATA/lixora/datafile/sys_yyxt01

+DATA/lixora/datafile/sys_yyxt02.dbf

+DATA/lixora/datafile/sys_jkxt.401.785090209

+DATA/lixora/datafile/sys_yyxt03.dbf

+DATA/lixora/datafile/sys_yyxt201401

+DATA/lixora/datafile/sys_yyxt201402

+DATA/lixora/datafile/sys_yyxt201403

+DATA/lixora/datafile/sys_yyxt201404

+DATA/lixora/datafile/sys_yyxt201405

+DATA/lixora/datafile/sys_yyxt201407

FILE_NAME

--------------------------------------------------------------------------------

/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORA.DBF    --------------吓死宝宝了!

/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORADATA.DBF  ------------------吓死宝宝了!

24 rows selected.

果不其然,文件建到了rac 节点本地,而且数据文件名,要多奇葩,有多奇葩,这哥们真是纵观古今,然后大手一挥,写下‘hello word ’ 然后会心一笑。。。。。

我们的开发人员也是够惨的啊,单机的oracle也搞不清楚,更不用涉及rac了。。。。。。。

再次确认下,dbfile 确实建在了/u01/app/oracle/product/10.2.0/db_1/dbs/ 目录下

SQL> !ls /u01/app/oracle/product/10.2.0/db_1/dbs/

ab_+ASM2.dat                D:oraclefcdataLIXORAtemp.DBF              hc_+ASM2.dat    initdw.ora     orapw+ASM2

CdbsMutex                   D:oraclefcdataLIXORATEMP.DBF              hc_orcl2.dat    init.ora       orapworcl2

D:oraclefcdataLIXORADATA.DBF  D:\oracle\oradata\orcl\hhygbp_temp_dbf
 initlixora2.ora  initorcl2.ora  snapcf_lixora2.f

D:oraclefcdataLIXORA.DBF      hc_lixora2.dat                           init+ASM2.ora   orapwlixora2    snapcf_orcl2.f

仔细看下内容好像哪里有点问题吧?

貌似是temp 文件啊

SQL> select name from v$tempfile;

NAME

--------------------------------------------------------------------------------

+DATA/lixora/tempfile/temp.283.784277305

/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORATEMP.DBF     -------

----到底是什么时候出现这个问题的呢?

SQL> select  CREATION_TIME,NAME from  v$datafile where name=‘/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORA.DBF‘;

CREATION_TIM

------------

NAME

--------------------------------------------------------------------------------

18-MAY-15

/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORA.DBF

SQL> select  CREATION_TIME,NAME from  v$datafile where name=‘/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORADATA.DBF‘;

CREATION_TIM

------------

NAME

--------------------------------------------------------------------------------

18-MAY-15

/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORADATA.DBF

接下来一个个来处理下吧

------tempfile 误建到rac 节点本地处理:

temp 文件处理简单,先删除了 ,重新加个就行

SQL>  select * from v$tempfile;

FILE# CREATION_CHANGE# CREATION_TIM        TS#     RFILE# STATUS  ENABLED         BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE

---------- ---------------- ------------ ---------- ---------- ------- ---------- ---------- ---------- ------------ ----------

NAME

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1           388351 26-MAY-12             3          1 ONLINE  READ WRITE 1.0737E+10    1310720     20971520       8192

+DATA/lixora/tempfile/temp.283.784277305

2       6324358667 18-MAY-15            10          1 ONLINE  READ WRITE   83886080      10240     83886080       8192

/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORATEMP.DBF

SQL> alter database tempfile ‘/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORATEMP.DBF‘ offline;

Database altered.

SQL> alter database tempfile ‘/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORATEMP.DBF‘ drop;

Database altered.

SQL> select * from v$tempfile;

FILE# CREATION_CHANGE# CREATION_TIM        TS#     RFILE# STATUS  ENABLED         BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE

---------- ---------------- ------------ ---------- ---------- ------- ---------- ---------- ---------- ------------ ----------

NAME

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1           388351 26-MAY-12             3          1 ONLINE  READ WRITE 1.0737E+10    1310720     20971520       8192

+DATA/lixora/tempfile/temp.283.784277305

SQL> show parameter db_crea

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_create_file_dest                  string      +DATA

db_create_online_log_dest_1          string

db_create_online_log_dest_2          string

db_create_online_log_dest_3          string

db_create_online_log_dest_4          string

db_create_online_log_dest_5          string

SQL> select * from v$tablespace;

TS# NAME                           INC BIG FLA ENC

---------- ------------------------------ --- --- --- ---

0 SYSTEM                         YES NO  YES

1 UNDOTBS1                       YES NO  YES

2 SYSAUX                         YES NO  YES

4 USERS                          YES NO  YES

3 TEMP                           NO  NO  YES

5 UNDOTBS2                       YES NO  YES

7 SYS_YYXT                       YES NO  YES

6 SYS_JKXT                       YES NO  YES

8 LIXORA                           YES NO  YES

9 LIXORADATA                       YES NO  YES

10 LIXORATEMP                       NO  NO  YES

11 rows selected.

SQL> alter tablespace LIXORATEMP add tempfile ‘+DATA‘ size 100m autoextend on;

Tablespace altered.

SQL>  select * from v$tempfile;

FILE# CREATION_CHANGE# CREATION_TIM        TS#     RFILE# STATUS  ENABLED         BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE

---------- ---------------- ------------ ---------- ---------- ------- ---------- ---------- ---------- ------------ ----------

NAME

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1           388351 26-MAY-12             3          1 ONLINE  READ WRITE 1.0737E+10    1310720     20971520       8192

+DATA/lixora/tempfile/temp.283.784277305

2       6629906774 04-AUG-15             3          2 ONLINE  READ WRITE  104857600      12800    104857600       8192

+DATA/lixora/tempfile/temp.1592.886865983

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

----数据文件迁移到 rac asm 存储上:

这里提供2个方法: rman cp;dbms_file_transfer.copy_file 【plsql 包 直接拷贝

SQL> select file_name, tablespace_name ,bytes/1024/1024/1024 from dba_data_files where tablespace_name=‘LIXORA‘;

FILE_NAME

--------------------------------------------------------------------------------

TABLESPACE_NAME                BYTES/1024/1024/1024

------------------------------ --------------------

/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORA.DBF

LIXORA                                       .0390625

SQL> select file_name, tablespace_name ,bytes/1024/1024/1024 from dba_data_files where tablespace_name=‘LIXORADATA‘;

FILE_NAME

--------------------------------------------------------------------------------

TABLESPACE_NAME                BYTES/1024/1024/1024

------------------------------ --------------------

/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORADATA.DBF

LIXORADATA                                   .3515625

create directory test1 as ‘/u01/app/oracle/product/10.2.0/db_1/dbs/‘;

create directory test2 as  ‘+DATA/lixora/datafile/‘;

alter tablespace LIXORA offline;

alter tablespace LIXORADATA offline;

exec dbms_file_transfer.copy_file(‘TEST1‘,‘D:oraclefcdataLIXORA.DBF‘,‘TEST2‘,‘LIXORA.DBF‘);

exec dbms_file_transfer.copy_file(‘TEST1‘,‘D:oraclefcdataLIXORADATA.DBF‘,‘TEST2‘,‘LIXORADATA.DBF‘);

alter database rename file ‘/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORA.DBF‘ to ‘+DATA/lixora/datafile/LIXORA.DBF‘;

alter database rename file ‘/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORADATA.DBF‘ to ‘+DATA/lixora/datafile/LIXORADATA.DBF‘;

alter tablespace LIXORA online;

alter tablespace LIXORADATA online;

++++++++++++++++++++++++++++rman copy ++++++++++++++++++++++++++++

RMAN>

sql "alter tablespace LIXORA offline";

sql "alter tablespace LIXORADATA offline";

RMAN>

copy datafile ‘/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORA.DBF‘ to ‘+DATA/lixora/datafile/LIXORA.DBF‘;

copy datafile ‘/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORADATA.DBF‘ to ‘+DATA/lixora/datafile/LIXORADATA.DBF‘;

SQL>

alter database rename file ‘/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORA.DBF‘ to ‘+DATA/lixora/datafile/LIXORA.DBF‘;

alter database rename file ‘/u01/app/oracle/product/10.2.0/db_1/dbs/D:oraclefcdataLIXORADATA.DBF‘ to ‘+DATA/lixora/datafile/LIXORADATA.DBF‘;

SQL>

alter tablespace LIXORA online;

alter tablespace LIXORADATA online;

总结:

开发人员严重缺乏对oracle 数据库(单机,rac)的了解,当然这个也是管理上的疏忽;

从另一个方面也可以看出,业务用户权限管理太粗狂,过于简单粗暴,需要好好审计,规划下;

具体其他的就不想再多说了。。。。。。。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-29 00:58:26

rac 环境数据文件误建到rac 节点本地处理的相关文章

rac ORA-001157 数据文件误创 本地盘 共享存储 ASM cannot identify/lock data file

误将数据文件创建在本地盘而不是共享存储 错误原因: 不是共享存储中的数据文件,其他实例不能访问 解决思路和办法: 把本地的数据文件移到共享存储中. 步骤; 1. offline 表空间或数据文件 2. 复制数据文件 3. 重命名数据文件 4. 恢复数据文件(表空间不用) 5. online 表空间或数据文件 复制方案 1. RMAN copy datafile 2. dbms_file_transfer.copy_file 3. ASMCMD cp 详细步骤: 一: alter tablespa

【RAC】rac环境下的数据库备份与还原

[RAC]rac环境下的数据库备份与还原 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① rac环境下的数据库备份与还原 ② rman恢复数据库的一般步骤 ③ rac环境的简单操作 注意:本篇BLOG中代码部分需要特别关注的地方我都用***背景和红色字体来表示,比如下边的例子中,thread 1的最大归档日志号为33,thread 2的最大归档日志号为43是需要特别关注

VBS脚本获取最新数据备份及重名数据文件

我们前面提到了,近期公司一直对OA系统上线忙前忙后,所以对于运维的我来说需要借助一些脚本工具替我分担解忧,现在遇到的问题是,我们需要将从真实环境上定时备份的SQL数据库数据拷贝到测试环境中,然后还原数据库,由于还原数据库我们使用SQL自带的脚本程序就可以完成,但是在完成的过程中,我们需要对还原的数据库名称做统一,因为我们都知道数据库通过计划任务备份后都是以日期命名的,所以我们在用脚本自动还原的时候不太方便,毕竟不怎么人性化,所以我们就想到的是,将最新备份的SQL数据文件通过VBS脚本拷贝到本地后

Oracle RAC环境实时数据迁移

系统要求及安装前的说明 Oracle GoldenGate可以在Oracle不同版本间移动数据,也可以在Oracle和其它类型数据库之间移动数据.Oracle GoldenGate支持数据的过滤.映射和转换.Oracle还能在相似的Oracle数据库之间复制DDL操作.注意下面一句:当DDL支持被激活的时候,Oracle GoldenGate不支持数据的过滤.映射和转换. 支持的Oracle数据库版本,从9.2开始支持DML和DDL.支持几乎所有的主流操作系统,具体的可以从MOS(My Orac

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

系统环境:CentOS release 6.7 (Final)Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit 操作过程: 1.添加数据文件或者创建表空间时,误操作将路径指定为单节点本地 SQL> alter tablespace users add datafile '/home/oracle/test.dbf' size 4m;Tablespace altered. SQL> set line 180col

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

系统环境:rhel6.2_x64+Oracle RAC11g 操作过程: 1.非归档模式 SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination /u01/oracle/app/oracle/11.2.0/db/dbs/arch Oldest online log sequence 303086 Current log sequence 303

RAC 环境下参数文件(spfile)管理

RAC环境下,初始化参数文件与但实例下参数文件有些异同,主要表现在初始化参数可以为多个实例公用,也可以单独设置各个实例的初始化参数.对于那些非共用的初始化参数则必须要单独设置,而共用的则可以单独设置,但一般不建议这么用.本文描述RAC 环境下参数文件(spfile)的相关管理工作. 有关RAC环境下的重要参数描述,请参考:RAC 环境下重要参数 [python] view plain copy print? 1.参数文件的位置 SQL> show parameter instance_name

Oracle 12c RAC 移动MGMTDB 数据库 数据文件方法

注:本文谢绝转载! 在之前的Blog里介绍了Oracle12c RAC 中的MGMTDB的概念,参考: Oracle 12cRAC MGMTDB 说明 http://blog.csdn.net/tianlesoftware/article/details/41804553 而在默认情况下,MGMTDB 的数据文件是存放在OCR voting disk的磁盘组里的,为了节省OCR 磁盘组空间,我们也可以把MGMTDB 转移走. 当然,这里的移动位置,也是从一个共享位置移动到另一个共享位置. 具体

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

测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程 最近系统出现问题,由于数据库产生的日志量太大无法开启归档模式,导致offline的数据文件无法online! 数据库在启动的时候不检查offline的数据文件! 下面进行测试 数据库版本 SQL> select * from v$version; BANNER ------------------------------------------------------------