ORACLE数据库_迁移(新机器,新存储)
迁移: (10g 64老机器,老存储) ------》(11g 64新机器,新存储)
注意要点:新老服务的时间,字符集,sid
升级顺序:10.2.0.1------>10.2.0.4或10.2.0.5---->11.2.0.1
新机器上安装2套oracle 目标11G数据库软件 和10g oracle软件
操作步骤完全一样,当 新库10g能打开时,关库,让新库11g 以 升级模式打开,升级库,即可
old:
1.关闭监听,和业务连接。先做全库备份:
lsnrctl stop
sqlplus as sysdba
alter system switch logfile;
alter system switch logfile;
$ rman target / log=/home/oracle/rman/log/dqianyi_rman.log
RMAN> backup database format '/home/oracle/backup/full_%d_%T_%s_%p.bak';
2.确定位置名称:
SQL> select file#,ts#,name from v$datafile;
FILE# TS# NAME
---------- ---------- ---------------------------------------------
1 0 /u01/app/ora10g/oradata/ora10g/system01.dbf
2 1 /u01/app/ora10g/oradata/ora10g/undotbs01.dbf
3 2 /u01/app/ora10g/oradata/ora10g/sysaux01.dbf
4 4 /u01/app/ora10g/oradata/ora10g/users01.dbf
3.备份数据文件,参数文件,控制文件
写成脚本:
[oracle@k214 log]$ cat x.sh
#!/bin/bash
rman target / log=/home/oracle/rman/log/1qianyi_rman.log << EOF
run
{allocate channel c1 type disk;
allocate channel c2 type disk;
copy
datafile '/u01/app/ora10g/oradata/ora10g/system01.dbf' to '/u01/new/system01.dbf',
datafile '/u01/app/ora10g/oradata/ora10g/undotbs01.dbf' to '/u01/new/undotbs01.dbf',
datafile '/u01/app/ora10g/oradata/ora10g/sysaux01.dbf' to '/u01/new/sysaux01.dbf',
datafile '/u01/app/ora10g/oradata/ora10g/users01.dbf' to '/u01/new/users01.dbf';
}
EOF
============================
备份控制文件
sqlplus / as sysdba
alter database backup controlfile to trace as '/home/oracle/new_ctl.sql';
RMAN> BACKUP CURRENT CONTROLFILE format '/home/oracle/arch/con_%d_%T_%s_%p.ctl'; --这步不需要
=============================
4. 打包数据文件并远程拷贝:
cd /u01
zip -qr new.zip new
scp -P22 /u01/new.zip 192.168.0.215:/u01/
下面5.6都是中断时间
5.备份归档 然后关机(关机开始中断)
#!/bin/bash
rman target / nocatalog log /home/oracle/rman/log/rman_arch.log append<<EOF
run
{allocate channel c1 type disk;
backup archivelog all format '/home/oracle/arch/arch_%d_%T_%s_%p';
}
shutdown immediate //备份归档可以分多次去做,但是最后一次做完要关机
EOF
6.打包和远程拷贝:
cd /home/oracle/
zip -qr arch.zip arch
scp -P22 /home/oracle/arch.zip 192.168.0.215:/u02/backup/
#7.拷贝redo 到new机器存储上
scp /u01/app/ora10g/oradata/ora10g/red* 192.168.0.215:/u01/new/
可以拷贝多次,最关键的就是最后一次。
===================================================================
new:
安装完11g 64 oracle软件,还没有建库,但是已经有监听了。
1.解压数据文件包和归档文件包
su - oracle
cd /u01 ;unzip new.zip
cd /u02/backup/ ;unzip arch.zip
2.修改参数文件并建立目录:
cat /u01/app/oracle/dbs/new.ora
orcl.__db_cache_size=67108864
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__oracle_base='/u01/app'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=146800640
orcl.__sga_target=276824064
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=130023424
orcl.__streams_pool_size=8388608
*.audit_file_dest='/u01/app/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/new/control01.ctl','/u01/new/control02.ctl','/u01/new/control03.ctl'
*.db_2k_cache_size=52428800
*.db_block_size=8192
*.db_domain=''
*.db_name='ora10g'
*.db_recovery_file_dest='/u01/app/flash_recovery_area'
*.db_recovery_file_dest_size=4039114752
*.diagnostic_dest='/u01/app'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.log_archive_dest_1='location=/u01/backup/arch'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=422576128
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
建立目录:
mkdir -p /u01/backup/arch
mkdir -p /u01/app/admin/orcl/adump
mkdir -p /u01/app/flash_recovery_area
3.启动oracle 到mount
SQL> startup nomount pfile=/u01/app/oracle/dbs/new.ora;
====================================
主库备份:
全部备份文件放在一个路径,顺序是 数据文件,归档,控制文件。
1.库全备:
backup database format='/home/oracle/rman/%U_%s.bak';
alter system archive log current
alter system switch logfile
2.归档全备:
BACKUP ARCHIVELOG ALL format='/home/oracle/rman/%U_%s.arc';
BACKUP ARCHIVELOG 命令比较灵活, ALL 是指备份当前所有可访问到的归档文件,你还可以通过 UNTIL 、 SCN 、 TIME 、 SEQUENCE 等参数灵活指定要备份的归档区间,这里不再一一演示,感兴趣的朋友可以自行尝试。
3.控制文件备份:
BACKUP CURRENT CONTROLFILE format='/home/oracle/rman/%U_%s.ctl';
cd /home/oracle
zip -qr rman.zip rman
scp rman.zip k101:/home/oracle/
备库:
存放rman备份集合的地方和主库一致(因为在修复控制文件后,修复数据库(restore)和恢复数据库(recover,需要归档的)这个时候通过控制文件找到响应的路径(主库所在的路径)
su- oracle
[oracle@k101 ~]$unzip rman.zip
[oracle@k101 rman]$ cd /home/oracle/rman
[oracle@k101 rman]$ ll
total 310428
-rw-r----- 1 oracle oinstall 291266560 Oct 9 02:13 01pkjad1_1_1_1.bak
-rw-r----- 1 oracle oinstall 7143424 Oct 9 02:13 02pkjadq_1_1_2.bak
-rw-r----- 1 oracle oinstall 12023296 Oct 9 02:32 03pkjbhr_1_1_3.arc
-rw-r----- 1 oracle oinstall 7110656 Oct 9 02:35 04pkjboa_1_1_4.ctl
rman>restore controlfile from '/home/oracle/rman/04pkjboa_1_1_4.ctl';
SQL>alter database mount;
rman>restore database from '/home/oracle/rman/04pkjboa_1_1_4.ctl';
RMAN> restore database; //修复数据库文件
RMAN> recover database; //先自动修复归档,然后恢复数据库文件,这里将报错
看报错信息,能看到rman归档追加到多少号了
=====================================
4.手动建立控制文件(由于之前远程拷贝redo,因此可以顺利打开):
SQL>CREATE CONTROLFILE REUSE DATABASE "ORA10G" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/new/redo01.log' SIZE 50M,
GROUP 2 '/u01/new/redo02.log' SIZE 50M,
GROUP 3 '/u01/new/redo03.log' SIZE 50M
DATAFILE
'/u01/new/system01.dbf',
'/u01/new/undotbs01.dbf',
'/u01/new/sysaux01.dbf',
'/u01/new/users01.dbf'
CHARACTER SET ZHS16GBK
;
确定数据库是否为mount状态:
SQL> select status from v$instance;
STATUS
------------
STARTED
SQL> alter database mount;
Database altered.
5.建立spfile
SQL> create spfile from pfile='/u01/app/oracle/dbs/new.ora';
SQL>shutdown abort
SQL> startup;
Database mounted.
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/u01/new/system01.dbf'
6.让数据库识别新的rman备份集位置:
[oracle@k215 arch]$ rman target / log=/home/oracle/rman/log/know_qianyi_rman.log
RMAN> catalog start with '/u02/backup/arch/';
7.解压归档:
RMAN>recover database; //会报错,但是会自动解压归档
8.有了归档,就可以进行常规介质恢复:
SQL> recover database using backup controlfile until cancel;
/u01/backup/arch/1_16_860079637.dbf
SQL> recover database using backup controlfile until cancel;
/u01/new/redo01.log
SQL> recover database using backup controlfile until cancel;
/u01/new/redo02.log
SQL> recover database using backup controlfile until cancel;
/u01/new/redo03.log
Log applied.
Media recovery complete.
9.升级数据库(10.2.0.1------>10.2.0.4或10.2.0.5---->11.2.0.1):
SQL> alter database open resetlogs upgrade;
SQL> shutdown immediate;
SQL> startup upgrade;
SQL> spool /home/oracle/patch.log
SQL> @?/rdbms/admin/catupgrd.sql
SQL> spool off
SQL> startup(数据库可以正常启动) 在运行下面的脚本(重新编译PL/SQL包,使其能够被使用)
SQL> @ /rdbms/admin/utlrp.sql
10.全备
=============
alter database rename file '/u02/app/PROD/oradata/PROD/redo01.log' to '/u01/app/PROD/oradata/PROD/redo01.log';
alter database rename file '/u02/app/PROD/oradata/PROD/redo02.log' to '/u01/app/PROD/oradata/PROD/redo02.log';
alter database rename file '/u02/app/PROD/oradata/PROD/redo03.log' to '/u01/app/PROD/oradata/PROD/redo03.log';
alter database rename file '/u02/app/PROD/oradata/PROD/users01.dbf' to '/home/oracle/datafile/users01.dbf';
alter database rename file '/u02/app/PROD/oradata/PROD/sysaux01.dbf' to '/home/oracle/datafile/sysaux01.dbf';
alter database rename file '/u02/app/PROD/oradata/PROD/undotbs01.dbf' to '/home/oracle/datafile/undotbs01.dbf';
alter database rename file '/u02/app/PROD/oradata/PROD/system01.dbf' to '/home/oracle/datafile/system01.dbf';
alter database rename file '/u02/app/PROD/oradata/PROD/example01.dbf' to '/home/oracle/datafile/example01.dbf';
ORACLE数据库_迁移(新机器,新存储)的更多相关文章
- Oracle数据库部分迁至闪存存储方案
Oracle数据库部分迁至闪存存储方案 1.实施需求 2.确认迁移表空间信息 3.确认redo信息 4.确认undo信息 5.表空间迁移到闪存 6.redo迁移到闪存 7.undo迁移到闪存 8.备库 ...
- [转帖]亚马逊彻底去掉 Oracle 数据库:迁移完成
亚马逊彻底去掉 Oracle 数据库:迁移完成 https://mp.weixin.qq.com/s/KFonq8efDZ5K6x4YzIVbbg 云头条的信息挺不错的.. 2019 年 10 月 1 ...
- ABP框架EF6链接Oracle数据库手动迁移
环境:VS2017 + ABP官方模板(不含Zero) +Oracle 11Gx64DB + Oracle 11Gx32Client(PLSQL工具访问) 一.Abp项目的下载以及运行 1.创建ab ...
- oracle数据库的迁移(从一台服务器到另一个台服务器,从oracle 10g到oracle 11g)
这个过程呢,还是蛮艰难的.... 一.最初我使用的是Navicat中的数据传输来迁移的,虽说整个数据库的迁移没有成功,但传输指定的对象时还是传输成功了.所以还是记录一下吧. 1.前提连接好数据库.在指 ...
- oracle数据库_实例_用户_表空间之间的关系(转)
数据库:Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件).其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库.可 ...
- oracle数据库_实例_用户_表空间之间的关系
基础概念:Oracle数据库.实例.用户.表空间.表之间的关系 数据库:Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件).其实Oracle数据库的 ...
- Oracle数据库逻辑迁移之数据泵的注意事项
环境:数据迁移,版本 11.2.0.4 -> 12.2.0.1 思考: 对于DBA而言,常用物理方式的迁移,物理迁移的优势不必多说,使用这种方式不必担心对象前后不一致的情况,而这往往也解决了不懂 ...
- oracle 数据库数据迁移解决方案
大部分系统由于平台和版本的原因,做的是逻辑迁移,少部分做的是物理迁移,接下来把心得与大家分享一下 去年年底做了不少系统的数据迁移,大部分系统由于平台和版本的原因,做的是逻辑迁移,少部分做的是物理迁 ...
- CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系
CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...
随机推荐
- python修炼第三天
今天主要讲了文件操作,函数与装饰器,装饰器比较烧脑,需要多做练习,逐步分解来进行理解! 加油! 一 文件操作 操作系统 提供文件的概念可以操作磁盘. 文件的只读模式: 注意如果是windows ...
- 阿里云已买到域名价格统计js代码
var sum = 0; $('.table-hover tr.ng-scope').each(function(){ sum = sum + parseInt($(this).children()[ ...
- 关于xml的相关知识
1 xml定义和用途 定义:XML (eXtensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup ...
- 分享我编写的powershell脚本:ssh-copy-id.ps1
问:通过[字符串界面].如何从win,通过ssh,连接到sshd?答:在任意版本win中,通过cmd.exe,powershell.exe中调用ssh.exe,连接sshd. 问:通过[pow ...
- java 的重写(覆盖) 和重载的区别
方法的的重写(覆盖) 在类继承中,子类可以修改从父类继承来的行为,也就是说子类能创建一个与父类方法有不同功能的方法,但具有相同的:名称.返回类型.参数列表.如果在子类中定义一个方法,其方法名称.返回值 ...
- 2017年4月13日用VS写C程序遇到的一些问题
在网上找到一篇展示计算机浮点数格式的文章,且有C代码如下: #include <stdio.h> #include <stdlib.h> #include <string ...
- 判断浏览器大于等于ie9
方便自己查找 <script> (function (window) { var theUA = window.navigator.userAgent.toLowerCase(); if ...
- selenium的定位方式
1.selenium的定位方式 selenium有18种定位方式,8种单数,8种复数,2种父类 2.8种单数定位方式 from selenium import webdriverimport time ...
- mybatis(3)---传参数的方法
1.传一个参数 //接口方法List<EmpVo> find(int empId); //xml配置 <select resultType="com.ht.mapper.E ...
- KUANGBIN带你飞
KUANGBIN带你飞 全专题整理 https://www.cnblogs.com/slzk/articles/7402292.html 专题一 简单搜索 POJ 1321 棋盘问题 //201 ...