`
sjk2013
  • 浏览: 2192079 次
文章分类
社区版块
存档分类
最新评论

同版本 oracle 11g 数据库移植详解

 
阅读更多

--作者邮箱 huziaa@gmail.com

一、移植前提:
1、操作系统满足oracle数据库版本的安装条件。
2、数据库版本一致

二、源数据库端的操作:

1、检查数据库是否归档,如果没归档,则归档。
sqlplus "/as sysdba"

SQL>archive log list;

如果数据库工作在非归档模式下,则要打开归档。

在数据库mount状态下,
1.SQL>alter system set archivelogs;
2.SQL>alter database open;
2.SQL>alter database backup controlfile to trace; --备份数据库的控制文件,用来在目的端重建。
3.SQL>shutdown immediate --此时数据库干净关闭,数据的SCN号保持一致。
4.从告警日志中找到控制文件的备份踪迹。
找到alter_[ORACLE_SID].log,这里是alert_PROD.log 这个文件是系统运行日志里面可以查看到,控制文件
备份的位置.其中有shift+ g 到文件的最后,往回看,看到" Backup controlfile written to trac
e file /u03/DEV/db/tech_st/11.1.0/admin/PROD_dev01/diag/rdbms/prod/PROD/trace/PROD_ora_2654332.trc"
一般和告警日志在同一个目录。
或者用
show parameter diag命令查看控制文件备份trc的放置路径,然后找到最新的trc,里面就有备份信息。

5.生成控制文件sql脚本。
然后把倒数第一个 startup nomount 到alter database open resetlogs,指令中间的留下来其余删除,结果类似如下:

STARTUP NOMOUNT
CREATE CONTROLFILE set DATABASE "ERP" RESETLOGS ARCHIVELOG --这里要把 reuse 改成set,还不理解为什么。
MAXLOGFILES 16
MAXLOGMEMBERS 2
MAXDATAFILES 30
MAXINSTANCES 1
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/erp/redo01.log' SIZE 10M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/erp/redo02.log' SIZE 10M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/erp/redo03.log' SIZE 10M BLOCKSIZE 512,
GROUP 4 '/u01/app/oracle/oradata/erp/redo04.log' SIZE 10M BLOCKSIZE 512,
GROUP 5 '/u01/app/oracle/flash_recovery_area/ERP/onlinelog/o1_mf_5_7wc3dk6b_.log' SIZE 100M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/erp/system01.dbf',
'/u01/app/oracle/oradata/erp/sysaux.dbf',
'/u01/app/oracle/oradata/erp/undo01.dbf',
'/u01/app/oracle/oradata/erp/rbs01.dbf',
'/u01/app/oracle/oradata/erp/user01.dbf'
CHARACTER SET WE8ISO8859P1;
--RECOVER DATABASE USING BACKUP CONTROLFILE 这个注释掉
ALTER DATABASE OPEN RESETLOGS;
6.把上面脚本保存成 clt.sql 文件。
三、数据和文件的迁移

1.把数据库的init<$ORACLE_SID>.ora拷贝 目的数据库的 $ORACLE_HOME/dbs目录下,
2.把上面第6步生成的 clt.sql 拷贝的某个目录下,自己能想起来就行。
3.把上面控制文件中的出现并且目的服务器中不存在的目录建好,例如 mkdir -p /u01/app/oracle/oradata/erp
4.把源数据库中的数据文件拷贝到目标服务器上相应目录里,不存在就新建,可以sftp,也可以U盘拷贝。
伪代码:cp -R /u01/app/oracle/oradata/erp/* /u01/app/oracle/oradata/erp/

四、修改目标服务器个配置文件
1、pfile(init<$ORACLE_SID>.ora)
orcl.__db_cache_size=146800640
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=188743680
orcl.__sga_target=200321536
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=94549376
orcl.__streams_pool_size=4194304
*.audit_file_dest='/u01/app/oracle/admin/erp/adump' --目录重建
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/erp/control01.ctl','/u01/app/oracle/flash_recovery_area/erp/control02.ctl' --这两个目录重建
*.db_block_size=8192
*.db_domain='localdomain'
*.db_name='erp' --这个改好,和源服务器一样
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=4039114752
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=erpXDB)' --这里改好,注意XDB前面的字符串。
*.memory_target=538968064
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDO01' --这里改好,和源文件一样,
~

不存在的目录要建好,mkdir -p /u01/app/oracle/admin/erp/adump

2.数据库用户的环境变量.env .bash_profile $ORACLE_SID,$ORACLE_HOME,$ORACLE_BASE

3.因为刚才数据文件拷贝,把源服务器的控制文件一同拷贝过来,这是要修改已有控制文件名字了,切就要随意删除文件,切记切记。

五、恢复数据库
1.recreate controlfile
sqlplus "/as sysdba"
SQL>startup nomount;
SQL>@ctl.sql
2、检查数据库恢复情况。


六、建立监听
1.netca
2.netmgr
3.直接修改脚本listener.ora和tnsname.ora

名字是HD01
端口1531

--下面是oracle 11.1.6.0升级到11.1.7.0后的一些调整代码。

@$ORACLE_HOME/RDBMS/Admin/utlip.sql


select owner, object_name, object_type, status from all_objects where status = 'INVALID';

ALTER TRIGGER MDSYS.SDO_GEOR_ERR_TRIGGER DISABLE;
show errors trigger MDSYS.SDO_GEOR_ADDL_TRIGGER;查看trigger的错误

@$ORACLE_HOME/RDBMS/Admin/utlip.sql


select * from dba_objects d
where d.OBJECT_NAME ='CUXBMJ_WIP_DISCRETE_JOBS_V';

select count(*) from all_tables-- where table_name like '%CUX%';


分享到:
评论

相关推荐

    linux下安装oracle11g图文详解

    linux下安装oracle11g图文详解 Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系...

    Oracle开发详细课程, Oracle代码大全, Oracle数据库详解

    可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

    Oracle Golden Gate 部署详解中文版

    Oracle Golden Gate可以在异构的IT基础结构(包括几乎所有常用操作系统平台和数据库平台)之间实现大量数据亚秒一级的实时复制,从而在可以在应急系统、在线报表、实时数据仓库供应、交易跟踪、数据同步、集中/分发、...

    oracle net manager 数据传输安全步骤详解

    简介 ... 所谓监听程序就是一个Oracle服务器上进程,负责监听/响应...第一步:开始–&gt;所有程序 –&gt;oracle –&gt; 配置和移植工具 –&gt;net Manager 第二步:选择本地 –&gt;概要文件 –&gt;oracle高级安全性 –&gt;SSL选项卡选择客户机

    Python-数据库游标对象详解

    常用数据库:MySQL、Oracle、SQLite  但是包嵌入到Python中的只有轻量级数据库SQLite,所以不用安装SQLite数据库操作包(但要安装数据库软件, 此处我犯错误了)。其他的必须安装。同时也要安装数据库软件。  先...

    asp.net知识库

    Oracle数据库字典介绍 0RACLE的字段类型 事务 CMT DEMO(容器管理事务演示) 事务隔离性的一些基础知识 在组件之间实现事务和异步提交事务(NET2.0) 其它 在.NET访问MySql数据库时的几点经验! 自动代码生成器 关于能...

    Spring 2.0 开发参考手册

    2.7. 移植到Spring 2.0 2.7.1. 一些变化 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3. 控制反转容器 3.1. 简介 3.2. 容器和bean的基本原理 3.2.1. 容器 3.2.2. 实例化容器 3.2.3. 多种bean 3.2.4....

    Spring中文帮助文档

    2.7. 移植到Spring 2.5 2.7.1. 改变 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3. IoC(控制反转)容器 3.1. 简介 3.2. 基本原理 - 容器和bean 3.2.1. 容器 3.2.2. 实例化容器 3.2.3. 多种bean ...

    spring chm文档

    3.3.3. bean属性及构造器参数详解 3.3.4. 使用depends-on 3.3.5. 延迟初始化bean 3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. ...

    Spring API

    2.7. 移植到Spring 2.5 2.7.1. 改变 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3. IoC(控制反转)容器 3.1. 简介 3.2. 基本原理 - 容器和bean 3.2.1. 容器 3.2.2. 实例化容器 3.2.3. 多种bean ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    2.7. 移植到Spring 2.0 2.7.1. 一些变化 2.7.1.1. Jar包 2.7.1.2. XML配置 2.7.1.3. Deprecated的类和方法 2.7.1.4. Apache OJB 2.7.1.5. iBatis 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3. 控制反转容器 ...

Global site tag (gtag.js) - Google Analytics