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