ITPUX技术网

交流 . 资讯 . 分享
Make progress together!
Oracle数据库DBA高级工程师培训视频
Oracle数据库培训-备份恢复-性能优化-集群容灾
mysql数据库视频教程

oracle数据迁移案例从oracle 8.1.7.4到oracle 9.2.0.8

内容发布:风哥| 发布时间:2014-1-23 22:42:17
旧数据库环境 操作系统为alpha 数据库版本为8.1.7.4 用户名 oracle ip地址 192.168.1.1 数据库实例名为orcl
需要迁移到IBM aix 5308 数据库版本为 oracle 9.2.0.8 用户名为oracle ip地址为192.168.1.12数据库实例名为orcl
迁移完成后,需要改回原先用的ip地址

迁移大概步骤:

第一步:数据迁移
旧库:
1。收集信息(包括表空间脚本 需要在新库创建同样表空间用到,包括大小)
2。通知客户停旧库相关的应用
3。停listener listener stop
4。检查job参数 停相关job
show parameter job
已经为0
5。停数据库,再启动一次数据库,检查是否还有session连接,用以下sql检查
select username,count(*) from v$session group by username; 无的话 进行下步数据导出
6。vi exp.sh
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
exp system/password full=y file=/oldxz/exp_full_xz1022.dmp log=/oldxz/exp_full_xz1022.log buffer=4096000 feedback=5000 compress=n recordlength=65535
nohup ./exp.sh & 放到后台进行 注意按回车
7。导出完成后 检查log 是否正常 通过检查 导出16G数据文件 花了三个多小时
8。拷贝tnsnames.ora到/oldxz目录

新库: 因为是新机器,需要安装 oracle软件,打补丁,创建数据库需要用到的lv裸设备,创建数据库,创建原库需要用到的表空间
1.安装oracle软件
2.打9.2.0.8补丁
3.创建lv 裸设备
4.创建数据库,生成建库脚本 --注意字符集要和原库一致
5.创建表空间
6.导入数据
imp system/password full=y file=/oldxz/exp_full_xz1022.dmp log=/oldxz/imp_full_xz1022.log buffer=4096000 feedback=5000 commit=y
recordlength=65535 ignore=y 导入时间用了一个小时左右 因为是新存储,速度比较块 每秒达到100多M
7.导入完成后 检查log 是否正常
8.编译无效对象
cd $ORACLE_HOME/rdbms/admin/utrlp.sql
sqlplus "/as sysdba"
@ utlrp.sql
9.拷贝/oldxz/下的tnsnames.ora到$ORACLE_HOME/network/admin目录下
10.配置listener
11.检查两边失效对象是否一致,也可用toad工具进行检查
SELECT OWNER,OBJECT_NAME,OBJECT_TYPE FROM DBA_OBJECTS WHERE STATUS='INVALID' ORDER BY OWNER,OBJECT_NAME ;
要是旧库正常 ,而新库不正常 就要在新库解决这些失效的对象
这次遇到的问题 是sys的权限在新库中没有赋予对应的用户,因为是用system用户导出和导入
用以下sql在原库进行进行检查
SELECT * FROM dba_tab_privs WHERE GRANTOR='SYS';
查出来后,在新库赋予权限给对应的用户
GRANT SELECT ON V_$DATAFILE to test;
GRANT SELECT ON V_$FILESTAT to test;
GRANT SELECT ON V_$LATCH to test;
GRANT SELECT ON V_$LIBRARYCACHE to test;
GRANT SELECT ON V_$LOCK to test;
GRANT SELECT ON V_$LOCKED_OBJECT to test;
GRANT SELECT ON V_$PARAMETER to test;
GRANT SELECT ON V_$PROCESS to test;
GRANT SELECT ON V_$ROLLNAME to test;
GRANT SELECT ON V_$ROLLSTAT to test;
GRANT SELECT ON V_$ROWCACHE to test;
GRANT SELECT ON V_$SESSION to test;
GRANT SELECT ON V_$SGA to test;
GRANT SELECT ON V_$SQLTEXT to test;
GRANT SELECT ON V_$SYSSTAT to test;
12.在新库检查db_link用到的相关tns,用tnsping测试是否正常连接
和相关用户登录进去,看连接到 dblink 看是否能正常查询
dblink视图名称dba_db_links
conn test/aaa
select * from tab@dblinkname
13.启监听和数据库
14.通知客户测试下应用在新库临时ip 192.168.1.2 下是否正常 测试通过

第二步 切换ip,生产正式启用到新ip上
旧库操作:
shutdown 数据库
和关掉主机
新库操作
停 lsnrctl 和数据库

smitty tcp/ip 由192.168.1.2改为192.168.1.1
改完后 启动数据库和监听

完成切换 正式启用
继续观察应用看是否正常



上一篇:oracle监听配置多个端口的方法
下一篇:在UNIX裸设备和文件系统之间移动ORACLE (转)
189070296,150201289

专业提供Oracle数据库服务、主机、存储、备份、中间件等相关技术支持服务,QQ号:176140749
关注ITPUX技术网微信公众号itpux_com  ,了解本站最新技术资料的分享.

欢迎加QQ群,提供超多高质量Oracle/Unix/Linux技术文档与视频教程的下载。

Oracle/MySQL/Linux群4-5:189070296  150201289  
Oracle/MySQL/Linux群6-8:244609803   522261684   522651731
备注:请勿重复加群,另请注明 from itpux

加群分享视频教程部分如下:

1、公开课视频:Oracle/MySQL数据库工程师职业发展前景讲解(免费)
http://edu.51cto.com/course/7015.html

2、51CTO学院Oracle数据库高级工程师培训(高薪就业.课程介绍)
http://edu.51cto.com/px/train/131?xiaotu

3、Oracle DBA数据库高级工程师培训视频课程1.1(系列78套+七大阶段+上千案例)
套餐视频地址: http://edu.51cto.com/topic/1121.html

4、MySQL数据库(终身门徒)套餐:http://edu.51cto.com/sd/1e1a6

回复

使用道具 举报

1框架
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表