oracle数据库迁移

上一篇 / 下一篇  2018-02-06 11:52:15 / 个人分类:工作中遇到的问题

情况说明:

公司要把一个平台迁移到***市,为了保证平台迁移后没有问题,提交测试

1.这个平台在公司用了有很长时间了,主要是为**市处理数据,基本功能不会有什么问题

2.此平台相关的开发人员早已辞职(1年以上),没有war包,只能够到服务器WebApps上直接拷贝文件夹进行测试。

3.新接手的开发人员也不明确,这个平台到底用到了库a里用户b的什么表(因为还涉及到工具,工具部分,新开发人员更不清楚,库a很乱很乱,里面有很多空表,还有很多其他项目生成的表,select count(*) from user_tables –查询总共有500多张表),所以就直接迁移库a用户b下的所有表

4.要求断网情况下测试,**市可能会部署到无网环境

5.本人,对oracle不了解,不了解,不了解!重要的事情说三遍

 

测试准备:

1.拷贝所有解压后的war包,修改相关配置文件,连接本地数据库

2.拷贝平台系统所有会用到的工具,修改相关配置文件。(what,还有单独的工具)

3.本地安装oracle服务端

 

12都好实现,只是3就。。

由于之前本地安装的是instantclient-basic,直接用PLSQL连接的远程数据库,本地并没有安装服务端so先开始安装oracl

 

安装完成后,开始进行数据库的迁移啦

1)选择SQL Plus

2)连上本地数据库

3)创建表空间

create tablespace TEST datafile

'D:\Oracle\oradata\orcl\TEST1.dbf' size 512m autoextend on,

'D:\Oracle\oradata\orcl\ TEST 2.dbf' size 512m autoextend on,

'D:\Oracle\oradata\orcl\ TEST 3.dbf' size 512m autoextend on;

 

create temporary tablespace TEST _TEMP tempfile

'D:\Oracle\oradata\orcl\ TEST_TEMP1.dbf' size 2048m,

'D:\Oracle\oradata\orcl\ TEST_TEMP2.dbf' size 2048m,

'D:\Oracle\oradata\orcl\ TEST_TEMP3.dbf' size 2048m;

 

4创建用户

create user B identified by 123456 default tablespace TEST temporary tablespace TEST _TEMP;

 

5)给用户授权

grant dba to B;

grant create table to B;

 

我用Navicat Premium分别连接库a、本地数据库

选中库a用户b,右键,选择数据传输,然后目标库就选择本地oracl,点开始就行了

然后就是漫长的等待过程,so你认为这样就结束啦

报错啦!!!“ORA-01756:引号内的字符串没有正确结束”,查询得知数据中有很多带有单引号的,如:qqq’ssss 这种数据就会报错

 

于是乎换方法

cmd进入本地oracle的安装目录

 

直接用exp导出:

exp用户名/密码@a的地址file=存放dmp文件的位置owner=用户名

egexp B/123456@192.168.100.12:1521/orcl  file=D:\dmp\test.dmp wner=B

 

导出完毕后,直接再用imp导入

imp B/123456@localhost:1521/orcl full=y file= D:\dmp\test.dmp ignore=y

 

(我已自动忽略中间的警告)

然后就ok

 


TAG:

 

评分:0

我来说两句

Open Toolbar