热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

把文件系统的数据文件迁移到ASM存储

RAC环境,使用的是ASM作存储。近日在给用户做数据库维护的过程中,发现有一部分数据文件存放在文件系统中,这是不正常的。导致另

RAC环境,使用的是ASM作存储。近日在给用户做数据库维护的过程中,发现有一部分数据文件存放在文件系统中,这是不正常的。导致另

把文件系统的数据文件迁移到ASM存储

RAC环境,使用的是ASM作存储。
近日在给用户做数据库维护的过程中,发现有一部分数据文件存放在文件系统中,这是不正常的。导致另一台服务器上跑着的实例就不正常了。
于是需要把文件系统上的数据文件迁移到ASM存储上。

如何修改ASM的sys密码

如何将ASM中的数据文件复制到操作系统中

Oracle 11g RAC ASM磁盘全部丢失后的恢复

Oracle 11g从入门到精通 PDF+光盘源代码

RHEL6 ASM方式安装Oracle 11g R2

Oracle 10g 手工创建ASM数据库

下面模拟该场景
在rac1的节点上操作

未添加数据文件前数据文件的情况
SQL> select name from v$datafile;

FILE_NAME
------------------------------------------------------------
+DATA/asmdevdb/datafile/system.273.845258673
+DATA/asmdevdb/datafile/sysaux.274.845258703
+DATA/asmdevdb/datafile/undotbs1.264.845258723
+DATA/asmdevdb/datafile/users.271.845258761

4 rows selected.

SQL> alter tablespace users add datafile 'user01.dbf' size 10m;

Tablespace altered.

SQL> select file_name from dba_data_files;

FILE_NAME
------------------------------------------------------------
+DATA/asmdevdb/datafile/system.273.845258673
+DATA/asmdevdb/datafile/sysaux.274.845258703
+DATA/asmdevdb/datafile/undotbs1.264.845258723
+DATA/asmdevdb/datafile/users.271.845258761
/u01/oracle/product/11.2.0/db_1/dbs/user01.dbf

5 rows selected.

我们过一段时间,观测其他节点。
我们使用sqlplus 登陆会报错误。
使用conn sys/password@devdb2 as sysdba,报以下错误:
ERROR:
ORA-01075: you are currently logged on
2、以normal 身份的用户连接(conn username/password@devdb2),报以下错误:
ERROR:
ORA-00604: 递归 SQL 级别 2 出现错误
ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 5: '/u01/oracle/product/11.2.0/db_1/dbs/user01.dbf'
ORA-00604: 递归 SQL 级别 2 出现错误
ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 5: '/u01/oracle/product/11.2.0/db_1/dbs/user01.dbf'


下面我采用rman 的方式,把/u01/oracle/product/11.2.0/db_1/dbs/user01.dbf数据文件
迁移到ASM存储上。
把数据库启动到mount状态下
SQL> startup mount
ORACLE instance started.

Total System Global Area 393375744 bytes
Fixed Size 1336764 bytes
Variable Size 276826692 bytes
Database Buffers 109051904 bytes
Redo Buffers 6160384 bytes
Database mounted.
使用rman链接数据库


pxboracle->rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Mon May 12 22:49:59 2014

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

connected to target database: DEVDB (DBID=260178701, not open)

RMAN> report schema;

using target database control file instead of recovery catalog
Report of database schema for database with db_unique_name ASMDEVDB

List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 700 SYSTEM *** +DATA/asmdevdb/datafile/system.273.845258673
2 600 SYSAUX *** +DATA/asmdevdb/datafile/sysaux.274.845258703
3 200 UNDOTBS1 *** +DATA/asmdevdb/datafile/undotbs1.264.845258723
4 5 USERS *** +DATA/asmdevdb/datafile/users.271.845258761
5 10 USERS *** /u01/oracle/product/11.2.0/db_1/dbs/user01.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 20 TEMP 32767 +DATA/asmdevdb/tempfile/temp.275.845258729

RMAN> backup as copy datafile 5 format '+DATA';

Starting backup at 12-MAY-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=138 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=/u01/oracle/product/11.2.0/db_1/dbs/user01.dbf
output file name=+DATA/asmdevdb/datafile/users.266.847407067 tag=TAG20140512T225103 RECID=1 STAMP=847407068
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:04
Finished backup at 12-MAY-14

RMAN> switch datafile '/u01/oracle/product/11.2.0/db_1/dbs/user01.dbf' to copy;

datafile 5 switched to datafile copy "+DATA/asmdevdb/datafile/users.266.847407067"

RMAN> alter database open;

database opened

RMAN> report schema;

Report of database schema for database with db_unique_name ASMDEVDB

推荐阅读
  • MySQL Debug 模式的实现与应用
    本文详细介绍了如何启用和使用 MySQL 的调试模式,包括编译选项、环境变量配置以及调试信息的解析。通过实际案例展示了如何利用调试模式解决客户端无法连接服务器的问题。 ... [详细]
  • 如何从python读取sql[mysql基础教程]
    从python读取sql的方法:1、利用python内置的open函数读入sql文件;2、利用第三方库pymysql中的connect函数连接mysql服务器;3、利用第三方库pa ... [详细]
  • MySQL 'Too Many Connections' 错误处理及优化方案
    本文详细介绍了如何诊断和解决MySQL数据库中出现的‘Too Many Connections’错误,包括查看当前连接状态、调整配置文件以及优化应用代码等方法。 ... [详细]
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
  • 本文详细探讨了在服务器上运行的PostgreSQL数据库出现'内存不足'错误的具体情况,并提供了一系列有效的解决策略。通过本文,读者将能够更好地理解这一常见问题及其背后的原理。 ... [详细]
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • 本文将详细介绍通过CAS(Central Authentication Service)实现单点登录的原理和步骤。CAS由耶鲁大学开发,旨在为多应用系统提供统一的身份认证服务。文中不仅涵盖了CAS的基本架构,还提供了具体的配置实例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 最新计算机专业原创毕业设计参考选题都有源码+数据库是近期作品ling取参考你的选题刚好在下面有,有时间看到机会给您发1ssm资源循环利用2springboot校园考勤系统3ssm防 ... [详细]
  • 探讨在使用Rails框架创建数据库记录时,created_at字段未能正确反映系统当前时间的原因及解决方法。 ... [详细]
  • 前言无论是对于刚入行工作还是已经工作几年的java开发者来说,面试求职始终是你需要直面的一件事情。首先梳理自己的知识体系,针对性准备,会有事半功倍的效果。我们往往会把重点放在技术上 ... [详细]
  • MySQL锁机制详解
    本文深入探讨了MySQL中的锁机制,包括表级锁、行级锁以及元数据锁,通过实例详细解释了各种锁的工作原理及其应用场景。同时,文章还介绍了如何通过锁来优化数据库性能,避免常见的并发问题。 ... [详细]
  • 本文探讨了如何利用SqlDependency执行复杂的SQL查询,并确保在多线程环境下的安全性与效率。 ... [详细]
  • 深入解析Android中的SQLite数据库使用
    本文详细介绍了如何在Android应用中使用SQLite数据库进行数据存储。通过自定义类继承SQLiteOpenHelper,实现数据库的创建与版本管理,并提供了具体的学生信息管理示例代码。 ... [详细]
  • 探讨如何通过SQL查询将来自多个表的多行信息整合到同一行中展示,特别适用于需要汇总特定商品所有相关信息的场景。 ... [详细]
  • 本文旨在详细介绍如何在PL/SQL环境中调试Oracle数据库中的触发器。虽然触发器能够实现某些复杂的功能,但其使用可能增加系统的维护难度。因此,本文不仅提供技术指导,还讨论了触发器使用的利弊。 ... [详细]
author-avatar
Mr-o蛋挞
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有