Oracle 11g数据导入到10g数据库
- 格式:doc
- 大小:43.00 KB
- 文档页数:1
oracle10g和oracle11g双库监听及TNS配置oracle10g和oracle11g一机双库的监听程序配置及TNSnames 文件配置操作系统win7闲来无事在win7上安装先后安装了oracle10g和oracle11gOracle10g下有sqlplusw工具,而oracle11g下面没有该工具,只有sqlpuls工具。
问题出现了:使用oracle10g的sqlplusw工具连接11g的数据库Conn sys/sa@orcl11g as sysdba执行该命令后总是报错ORA-12514:监听程序无法识别连接描述符中请求的服务。
Conn sys/sa@hptest as sysdba一切正常使用oracle11g的sqlplus工具连接两个数据库均正常。
删除oracle10g的监听程序并重建后,问题依旧。
重新配置oracle10g的TNS命名,问题依旧。
奇怪的使用oracle10g的tnsping工具能够ping通orcl11g。
百思不得其解的情况下仔细看一下tnsnames文件。
发现监听的端口号不一样。
Oracle10g的监听端口是1521 oracle11g的监听端口是1522。
原因找到了:安装oracle11g的时候由于本机上已经存在了oracle10g的监听程序占用了1521端口。
11g的监听程序端口就自动变成了1522。
使用11g的oracle工具配置tnsnames的时候,其它服务默认是1521端口。
11g服务默认1522端口。
所以11g的工具sqlplus连接两个服务器都正常。
使用10g的oracle工具配置tnsnames的时候,所有的服务它都认为是1521端口。
这就解释了能够ping通,确连接不上的原因,端口不对嘛~~~!找到10g的tnsnames配置,把到11g的端口改为1522问题解决。
惯性思维导致解决问题花了一定的时间,总是认为oracle监听的端口是1521,其实不然。
Oracle11g数据迁到Oracle10g(expdp和impdp)由于客户要求,要把一个Oracle11g数据库迁移到一个Oracle10g ,由于deferred_segment_creation参数建库之初没有设置为false,并且目前存在空表,所以还是使用expdp和impdp。
1、expdp和rman相像的地方时都是在主机端(目标数据库端)生成dmp文件所以文件夹和权限等都在主机端设置。
2、由于是从11g迁移到10g,所以expdp增加了一个参数 version在需要迁移的目标数据库端执行 select * from v$version; 就知道version的值了,不然会报错。
【报错内容ORA-39001: invalid argument valueORA-39000: bad dump file specificationORA-39142: incompatible version number】expdp opsteel/opsteel dumpfile=20150923.dmp logfil e=exp20150923.logdirectory=expdp_dir schemas=opsteel version=10.2.0.1.03、impdp和 ORA-39125这个错误出现在10.2.0.4之前的版本,需要加参数exclude=statistics就可以10.2.0.4是否不需要加,忘了测试了,明天测试一把,看metalink 10.2.0.4已经修订了这个BUG【报错内容ORA-39125: KUPW$WORKER.PUT_DDLS[DBMS_METADATA.CONVERT]调用出错ORA-06502:LPX-00210:】最终的impdp的语法impdp opsteel/opsteel dumpfile=20150923.dmp logfil e=imp20150923.logDIRECTORY=impdp_dir SCHEMAS=opsteel version=10.2.0.1.0 exclude=statistics。
Oracle建库,登陆Database configuration assistant 按步骤操作,给数据库命名,密码。
数据库名:dthr密码:dthr建库后要把客户端和plsql进行连接:在下面路径找到文件然后把新数据库添加进来见红色框:(复制上面更换数据库名)新建一个文件夹如d:\ncdbq通过登录plsql(dthr12用户)新建六个表空间,建在上面的文件夹中;CREATE TABLESPACE NNC_DATA01 DATAFILE 'D:\ncdbq\nnc_data01.dbf' SIZE 5 00M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;CREATE TABLESPACE NNC_DATA02 DATAFILE 'D: \ncdbq\nnc_data02.dbf' SIZE 150M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT L OCAL UNIFORM SIZE 256K ;CREATE TABLESPACE NNC_DATA03 DATAFILE 'D:\ ncdbq\nnc_data03.dbf' SIZE 200M AUTOEXTEND ON NEXT 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K ;CREATE TABLESPACE NNC_INDEX01 DATAFILE 'D:\ ncdbq\nnc_index01.dbf' SIZE 200M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K ;CREATE TABLESPACE NNC_INDEX02 DATAFILE 'D:\ ncdbq\nnc_index02.dbf' SIZE 150M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K ;CREATE TABLESPACE NNC_INDEX03 DATAFILE 'D:\ ncdbq\nnc_index03.dbf' SIZE 200M AUTOEXTEND ON NEXT 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;CREATE USER dthr12 IDENTIFIED BY dthr12 DEFAULT TABLESPACE NNC_DATA01 TEMPORARY TABLESPACE temp;GRANT connect,dba to dthr12将数据库备份进行导入的操作:导入数据库通过plsql输入如下:建立目录如下输入create directory impdp_dir as 'D:\ufida HER\大唐电信EHR项目\大唐正式数据库备份20120113\';授权用户dthr12权限,要用system来登录操作输入下面grant read,write on directory impdp_dir to dthr12;cmd输入:导入数据库dthr:impdp dthr12/dthr12@dthr DIRECTORY=impdp_dir DUMPFILE=DTHR.dmp logfile=dthr.log导入成功后,配置数据源:读取后,设置数据库类型、数据库名称、数据库/ODBC、用户名、密码。
一次Oracle11g数据库导入Oracle10g数据库操作笔记注:导入和导出的用户名一定要一致(sybj)一、在11g服务器上,用expdp命令备份数据。
用cmd打开,dos命令输入以下:EXPDP USERID='SYS/cuc2009@cuc as sysdba' schemas=sybj directory=DATA_PUMP_DIR dumpfile=dag.dmp logfile=dag.log version=10.2.0.1.0其中,红色文字部分是根据需要改写的地方。
例如我的sys密码是cuc2009,数据库sid是cuc,要到出的用户名是sybj,要导入到10.2.0.1.0版本的Oracle数据库中去。
aa.dmp和aa.log将会在11g的dpdump目录中生成,例如我的11g装在了E盘下面,于是aa.dmp 将会在E:/app/Administrator/admin/cuc/dpdump目录下被生成。
二、在10g服务器上,使用impdp命令恢复数据步骤:(1.建库2.建表空间3.建用户并授权)(1-3可以不按下面走单,要建立一个登陆名与导出一致就可以了)4.将dag.dmp拷贝到10g的dpdump目录下5.impdp导入数据库1、建库:是在database configuration assistant 中直接新建一个数据库(实例)。
2、建表空间:create tablespace sybj datafile'D:\oracle\product\10.2.0\oradata\orcl\oa.dbf' size 400m autoextend on next 20m online;3、建用户:create user sybj identified by sybj;授权:Alter user sybj default tablespace sybj quota unlimited on sybj;grant create session to sybj;grant connect to sybj;grant connect, resource, dba to sybj;grant create table to sybj;grant create view to sybj;grant create trigger to sybj;grant select any table to sybj;grant create sequence to sybj;grant create procedure to sybj;grant create role to sybj;grant create type to sybj;grant GRANT ANY PRIVILEGE to sybj;4、导入:首先测试机中10g装在了D:/根目录下,于是将dag.dmp文件copy到了D:\oracle\product\10.2.0\admin\daggis\udump目录下。
Oracle 数据迁移方案1. 简介随着业务的发展和系统的升级,数据迁移已经成为一个不可避免的任务。
在Oracle 数据库中,数据迁移主要包括迁移数据表、迁移数据对象以及导出和导入数据等方面。
本文将介绍一些常用的 Oracle 数据迁移方案。
2. 数据表迁移2.1 导出数据表Oracle 数据表的导出可通过使用expdp命令来实现。
该命令可以将指定的数据表导出为二进制格式的文件,以供后续导入使用。
以下是导出数据表的步骤:1.打开终端或命令行窗口,登录到数据库。
2.运行以下命令导出数据表:expdp username/password@connect_string tables=table1,table2 directory=datapump_dir dumpfile=tables.dmp logfile=tables.log–username/password:登录数据库的用户名和密码。
–connect_string:数据库连接字符串。
–tables:要导出的数据表名称,多个表名之间用逗号分隔。
–directory:导出文件存储的目录。
–dumpfile:导出文件的名称。
–logfile:导出日志文件的名称。
2.2 导入数据表使用impdp命令可以将之前导出的数据表文件导入到目标数据库中。
以下是导入数据表的步骤:1.打开终端或命令行窗口,登录到目标数据库。
2.运行以下命令导入数据表:impdp username/password@connect_string directory=datapump_d ir dumpfile=tables.dmp logfile=import.log–username/password:登录目标数据库的用户名和密码。
–connect_string:目标数据库的连接字符串。
–directory:导出文件存储的目录。
–dumpfile:导出文件的名称。
–logfile:导入日志文件的名称。
环境介绍源环境:Windows Server 2008 X64+ Oracle 11G 64目标环境:Linux 5.4 + Oracle 10G(10.2.0.4.0)Rac迁移方式由于由上至下迁移,采用exp/imp无法正常导入;故使用expdp/impdp(数据泵)迁移 迁移步骤源端:连接cms数据库服务器192.168.253.113 administrator/******打开dos窗口通过expdp命令导出dmp文件,命令如下:Expdpcms/******@orcl directory=DATA_PUMP_DIRdumpfile=cms.dmp schemas=cmslogfile=cms.log version=10.2.0.3.0;参数说明:expdp用户名/密码@实例名directory=【directory_object】虚拟目录对象(DATA_PUMP_DIR系统安装后默认的目录可用system登陆通过select*FROM dba_directories;查看)dumpfile=导出文件的名schemas=方案名logfile=日志文件version=指定版本导出将导出的.dmp,.log 文件拷贝到目标环境中(路径是DATA_PUMP_DIR对应的目录) Plsql system连接数据库创建cms用户创建cms表空间授权cms用户Ssh连接目标服务器切换oracle 用户执行命令:Impdp system/******@other directory=DATA_PUMP_DIRdumpfile=cms.dmpschemas=cms logfile=cms.log参数同expdp一次艰辛的数据导入导出:环境介绍源环境:Windows Server 2008 X64 + Oracle 11G 64目标环境:Linux 5.4 + Oracle 10G(10.2.0.4.0)Rac迁移方式由于由上至下迁移,采用exp/imp无法正常导入;故使用expdp/impdp(数据泵)迁移 要求目标表空间,用户按照源数据格式创建好导出文件●SELECT CURRENT_SCN FROM V$DATABASE;●expdp system/oracle@orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=FALABELLA_AR_20111214.DMP SCHEMAS=FALABELLA_AR_CORE,FALABELLA_AR_CATA,FALABELLA_AR_CATB,FALABELLA_AR _PUB logfile=FALABELLA_AR_expdp_20111214.log status=10 parallel=1 CONTENT=ALL f lashback_scn=612654934压缩dmp文件[sql]view plaincopyprint?1.gzip -9 FALABELLA_AR_20111214.DMP三、上传DUMP文件到目标库并解压。
oracle11g数据库导入导出方法教程oracle11g数据库导入导出:①:传统方式——exp(导出)和(imp)导入:②:数据泵方式——expdp导出和(impdp)导入;③:第三方工具——PL/sql Develpoer;一、什么是数据库导入导出?oracle11g数据库的导入/导出,就是我们通常所说的oracle数据的还原/备份。
数据库导入:把.dmp 格式文件从本地导入到数据库服务器中(本地oracle测试数据库中);数据库导出:把数据库服务器中的数据(本地oracle测试数据库中的数据),导出到本地生成.dmp格式文件。
.dmp 格式文件:就是oracle数据的文件格式(比如视频是.mp4 格式,音乐是.mp3 格式);二、二者优缺点描述:1.exp/imp:优点:代码书写简单易懂,从本地即可直接导入,不用在服务器中操作,降低难度,减少服务器上的操作也就保证了服务器上数据文件的安全性。
缺点:这种导入导出的速度相对较慢,合适数据库数据较少的时候。
如果文件超过几个G,大众性能的电脑,至少需要4~5个小时左右。
2.expdp/impdp:优点:导入导出速度相对较快,几个G的数据文件一般在1~2小时左右。
缺点:代码相对不易理解,要想实现导入导出的操作,必须在服务器上创建逻辑目录(不是真正的目录)。
我们都知道数据库服务器的重要性,所以在上面的操作必须慎重。
所以这种方式一般由专业的程序人员来完成(不一定是DBA(数据库管理员)来干,中小公司可能没有DBA)。
3.PL/sql Develpoer:优点:封装了导入导出命令,无需每次都手动输入命令。
方便快捷,提高效率。
缺点:长时间应用会对其产生依赖,降低对代码执行原理的理解。
三、特别强调:目标数据库:数据即将导入的数据库(一般是项目上正式数据库);源数据库:数据导出的数据库(一般是项目上的测试数据库);1.目标数据库要与源数据库有着名称相同的表空间。
在10g服务器的D盘创建文件夹'datadump'。
将从11g服务器导出的数据库文件orcl_1(his_dp).dmp放到该目录下。
①进入到命令提示符号开始”——“运行”——输入“CMD”回车
②输入“sqlplus”回车
③输入“system”回车
④输入密码(密码输入时是不可见的,此密码是在安装oracle10G时设置的)"orcl"
⑤现在已经登陆了oracle,输入“drop user @数据库方案名 cascade;”回车
⑥输入“CREATE USER @数据库方案名 identified by @数据库方案密码;”回车
⑦输入“Grant dba to @数据库方案名;”回车
⑧输入“
Create tablespace dzh_data
datafile 'D:\oracle\dzh_data01.dbf'
size 3M reuse autoextend on next 5M maxsize 4096M;
”回车创建表空间
⑨输入“
CREATE TEMPORARY TABLESPACE dzh_temp
tempfile 'D:\oracle\dzh_temp.dbf'
size 2M reuse autoextend on next 5M maxsize 4096M;”回车创建临时表空间
⑩输入“Alter user @数据库方案名 temporary tablespace dzh_temp;”回车指定数据库方案存放表空间
输入“Alter user @数据库方案名 default tablespace dzh_data;”回车指定数据库方案临时表空间
11 输入“create directory dumpdir as 'D:\datadump';”回车
如果要删除 drop directory dumpdir;
输入“grant read,write on directory dumpdir to @数据库方案名;”回车
12 输入“exit”回车,退出sqlplus命令行。
输入“cd D:\oracle\product\10.2.0\db_1\BIN”回车,进入到“D:\oracle\product\10.2.0\db_1\BIN”目录下
13 在“D:\oracle\product\10.2.0\db_1\BIN”目录下执行命令:
“IMPDP USERID='@数据库方案名/@数据库方案密码@dzh_service' schemas=@数据库方案名directory=dumpdir dumpfile=orcl_1(his_dp).dmp logfile=orcl_1(his_dp).log version=10.2.0.1.0”回车
14 编译无效对象。
15 11g上导出导入10g数据库完毕。