【ASM学习】普通数据库向ASM实例的迁移(二)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:
--接着rman的做 在rman恢复时,数据库是mount状态的,这里需要将数据打开!
ORCL>conn system/yang[@]orcl as sysdba
已连接。
ORCL>alter database open;
数据库已更改。
--将日志文件迁移到ASM 磁盘组中。在ASM中建立3组新的redo log
ORCL>alter database add logfile group 4 '+SYS_DATA/redo04.log' size 50m;
数据库已更改。
ORCL>alter database add logfile group 5 '+SYS_DATA/redo05.log' size 50m;
数据库已更改。
ORCL>alter database add logfile group 6 '+SYS_DATA/redo06.log' size 50m;
数据库已更改。
---查看源数据库的redo log的状态,要将group 1 2 3全部归档并替换为上一步建立的log
ORCL>select group#,status from v$log;
    GROUP# STATUS                                                               
---------- ----------------                                                     
         1 INACTIVE                                                            
         2 CURRENT                                                              
         3 INACTIVE                                                            
         4 UNUSED                                                               
         5 UNUSED                                                               
         6 UNUSED                                                               
已选择6行。
ORCL>alter system switch logfile;
系统已更改。
ORCL>alter system switch logfile;
系统已更改。
ORCL>alter system switch logfile;
系统已更改。
ORCL>select group#,status from v$log;
    GROUP# STATUS                                                               
---------- ----------------                                                     
         1 INACTIVE                                                            
         2 ACTIVE                                                               
         3 INACTIVE                                                            
         4 ACTIVE                                                               
         5 ACTIVE                                                               
         6 CURRENT                                                              
已选择6行。
---手工使数据库产生检查点,让lgwr 写redo到磁盘!
ORCL>alter system checkpoint;
系统已更改。
ORCL>select group#,status from v$log;
    GROUP# STATUS                                                               
---------- ----------------                                                     
         1 INACTIVE                                                            
         2 INACTIVE                                                            
         3 INACTIVE                                                            
         4 INACTIVE                                                            
         5 INACTIVE                                                            
         6 CURRENT                                                              
已选择6行。
---删掉不用的redo log
ORCL>alter database drop logfile group 1;
数据库已更改。
ORCL>alter database drop logfile group 2;
数据库已更改。
ORCL>alter database drop logfile group 3;
数据库已更改。
---迁移时,rman没有把临时表空间迁移到ASM中,所以,向ASM中迁移TEMPFILE
ORCL>select file_name,tablespace_name from dba_temp_files;
FILE_NAME                               TABLESPACE_NAME                                                                 
---------------------------------       ---------------
F:\ORACL\ORADATA\ORCL\TEMP01.DBF        TEMP                                                                           
                                                                                
ORCL>alter tablespace temp add tempfile '+SYS_DATA';
表空间已更改。
ORCL>select member from v$logfile;
MEMBER                                                                          
--------------------------------------------------------------------------------
+SYS_DATA/redo04.log                                                            
+SYS_DATA/redo05.log                                                            
+SYS_DATA/redo06.log   ---这里没有考虑到分散日志分布的问题,实际应用中,要考虑的!
                                                         
ORCL>select file_name,tablespace_name from dba_temp_files;
FILE_NAME                                     TABLESPACE_NAME                                                                 
------------------------------                ---------------            
+SYS_DATA/orcl/tempfile/temp.265.727923505    TEMP                                                                            F:\ORACL\ORADATA\ORCL\TEMP01.DBF              TEMP                                                                           
                                                                                
ORCL>alter tablespace temp drop tempfile 'F:\ORACL\oradata\orcl\temp01.dbf';
表空间已更改。

--修改db_create_file_dest,db_recovery_file_dest,db_recovery_file_dest_size 的值!
ORCL>alter system set db_create_file_dest='+SYS_DATA\ORCL\ORADATA' scope=spfile;
系统已更改。
ORCL>alter system set db_recovery_file_dest='+FLASH_DATA' scope=spfile;
系统已更改。
ORCL>alter system set db_recovery_file_dest_size=1 G scope=spfile;
系统已更改。

再次向ASM磁盘中添加控制文件!(迁移时,只有一个控制文件)
ORCL>alter database backup controlfile to '+SYS_DATA\ORCL\ORADATA';
alter database backup controlfile to '+SYS_DATA\ORCL\ORADATA'
*
第 1 行出现错误:
ORA-01580: 创建控制备份文件 +SYS_DATA\ORCL\ORADATA 时出错
ORA-17502: ksfdcre: 4 未能创建文件 +SYS_DATA\ORCL\ORADATA
ORA-15005: name "ORCL/ORADATA" is already used by an existing alias  
---当指定磁盘组的具体目录时,会报错!所以直接指定磁盘组就好了!
ORCL>alter database backup controlfile to '+SYS_DATA';
数据库已更改。
ORCL>show parameter control
NAME                                 TYPE        VALUE                          
------------------------------------ ----------- ------------------------------
control_file_record_keep_time        integer     7                              
control_files                        string      +SYS_DATA/orcl/oradata/control
                                                 01.ctl                        
control_management_pack_access       string      DIAGNOSTIC+TUNING              

---修改参数文件中
ORCL>alter system set control_files='+SYS_DATA/ORCL/ORADATA/CONTROL01.CTL','+SYS_DATA/ORCL/ORADATA/CONTROL02.CTL' scope= spfile;
系统已更改。
ORCL>create pfile ='f:\asm_pfile.txt' from spfile;
文件已创建。
ORCL>shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

-----------------------    备注       ----------------------------------
网上也有其他方法的,中间对于迁移日志和temp 文件的方法不太一样!
--迁移redo log
通过SQL*Plus连入数据库实例,将控制文件里记录的联机日志文件的路径修改为磁盘组SYS_DATA。
SQL> alter database rename file 'F:\ORACL\ORADATA\ORCL\redo01.log' to '+SYS_DATA';
SQL> alter database rename file 'F:\ORACL\ORADATA\ORCL\redo02.log' to '+SYS_DATA';
SQL> alter database rename file 'F:\ORACL\ORADATA\ORCL\redo03.log' to '+SYS_DATA';
--迁移tempfile 通过rman 手工迁移!

RMAN> run{
2> switch tempfile 1 to '+SYS_DATA';
3> }
相关文章
|
1月前
|
存储 监控 安全
数据库多实例的部署与配置方法
【10月更文挑战第23天】数据库多实例的部署和配置需要综合考虑多个因素,包括硬件资源、软件设置、性能优化、安全保障等。通过合理的部署和配置,可以充分发挥多实例的优势,提高数据库系统的运行效率和可靠性。在实际操作中,要不断总结经验,根据实际情况进行调整和优化,以适应不断变化的业务需求。
|
1月前
|
负载均衡 网络协议 数据库
选择适合自己的数据库多实例负载均衡技术
【10月更文挑战第23天】选择适合自己的数据库多实例负载均衡技术需要全面考虑多种因素。通过深入的分析和评估,结合自身的实际情况,能够做出明智的决策,为数据库系统的高效运行提供有力保障。
108 61
|
1月前
|
存储 负载均衡 监控
数据库多实例的深入解析
【10月更文挑战第24天】数据库多实例是一种重要的数据库架构方式,它为数据库的高效运行和灵活管理提供了多种优势。在实际应用中,需要根据具体的业务需求和技术环境,合理选择和配置多实例,以充分发挥其优势,提高数据库系统的性能和可靠性。随着技术的不断发展和进步,数据库多实例技术也将不断完善和创新,为数据库管理带来更多的可能性和便利。
97 57
|
1月前
|
缓存 负载均衡 监控
数据库多实例的负载均衡技术深入
【10月更文挑战第23天】数据库多实例负载均衡技术是确保数据库系统高效运行的重要手段。通过合理选择负载均衡策略、实时监控实例状态、不断优化调整,能够实现资源的最优分配和系统性能的提升。在实际应用中,需要根据具体情况灵活运用各种负载均衡技术,并结合其他相关技术,以满足不断变化的业务需求。
|
2月前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
20天前
|
关系型数据库 MySQL 数据库
【赵渝强老师】启动与关闭MySQL数据库实例
MySQL数据库安装完成后,可以通过命令脚本启动、查看状态、配置开机自启、查看自启列表及关闭数据库。本文提供了详细的操作步骤和示例代码,并附有视频讲解。
|
2月前
|
SQL NoSQL 关系型数据库
数据库学习
【10月更文挑战第8天】
24 1
|
2月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
70 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
2月前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
112 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
7月前
|
Oracle 关系型数据库
oracle asm 磁盘显示offline
oracle asm 磁盘显示offline
334 2