sybase、oracle数据库移植问题

ChristianBoris 2006-11-05 11:43:09
主机一:sybase 12.5,主机AIX(数据量300G,dump压缩后70G)
主机二:sybase 12.5,主机win2003(可做中间介质)
主机三:oracle 9i,主机UNIX
请问:我如何能最快捷,最方便的将主机一中的数据导入到主机三中呢??
...全文
455 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouzhengping 2007-01-10
  • 打赏
  • 举报
回复
DTS,和PB的数据管道作用一样,但DTS功能更强大!
klbt 2007-01-09
  • 打赏
  • 举报
回复
用PB的数据管道试试。
truelie123 2007-01-04
  • 打赏
  • 举报
回复
透明网关只可以实现简单的数据表移植.

当遇到VARCHAR类型字段实际长度超过255字节的时候,数据将被截断,同时它也无法支持TEXT类型字段的移植.

我也正为此事烦恼!!!!
truelie123 2007-01-04
  • 打赏
  • 举报
回复
DTS这个工具是采用ODBC方式连接数据库,效率是不是很低?
另外这个工具支持TEXT或长字符类型的移植吗?
gdinsix408j 2007-01-04
  • 打赏
  • 举报
回复
那试下用sql server的数据导入向导DTS
gdinsix408j 2007-01-02
  • 打赏
  • 举报
回复
我正在研究这个问题,给篇文章你看看,我找到的

ORACLE到SYBASE连接的实现

ORACLE实现异种数据库连接服务的技术叫做透明网关(Transparent Gateway)。
目前ORACLE利用透明网关可以实现和SQL SERVER、SYBASE、DB2等多种主流数据库的互联。

通过oracle访问sybase数据库,把配置oracle9i TRANSPARENT GATEWAY FOR SYBASE
的步骤写成文档,供需要的网友参考!

配置TRANSPARENT GATEWAY FOR SYBASE步骤

1.
oracle所在服务器上安装sybase client(或者在同一台server上安装oracle、sybase服务器)
确保能够访问sybase数据库

2.
安装TRANSPARENT GATEWAY FOR SYBASE选件,要用自定义安装。
正确选择sybase的安装目录

3.
选择一个sid字符串准备赋给sybase数据库。如:tg4sybs
设置SYBASE的dll路径到环境变量PATH(这一步很重要)

4.
修改初始化文件,默认的是:
ORACLE_HOME\tg4sybs\admin\inittg4sybs.ora
设置参数
HS_FDS_CONNECT_INFO
格式:HS_FDS_CONNECT_INFO= server_name. database_name[,INTERFACE= interface_file]
server_name. database_name是大小写敏感的。
INTERFACE可选

例子:如下
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# This is a sample agent init file that contains the HS parameters that are
# needed for the Transparent Gateway for Sybase

#
# HS init parameters
#
HS_FDS_CONNECT_INFO=migration_serv.tax
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER

#
# Environment variables required for Sybase
#
set SYBASE=d:\sybase
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
上例中
server_name是migration_serv
database_name是tax

5.
配置oracle网络服务的listener,配置文件是:listener.ora
默认路径:ORACLE_HOME\network\admin
加入如下

SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME= gateway_sid)
(ORACLE_HOME= oracle_home_directory)
(PROGRAM=tg4sybs)
)
)

gateway_sid就是3选择的sid字符串
oracle_home_directory是ORACLE_HOME
tg4sybs若是SYBASE是特定的。如果是其他数据库,会不同。
例子如下:
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
(SID_DESC=
(SID_NAME=tg4sybs)
(ORACLE_HOME = D:\oracle\ora92)
(PROGRAM=tg4sybs)
)
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

6.
停止监听

lsnrctl stop


重新启动监听程序

lsnrctl start

7.
配置oracle server的tnsnames.ora使其能够访问sybase
connect_descriptor=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST= host_name)
(PORT= port_number)
)
(CONNECT_DATA=
(SID= gateway_sid))
(HS=OK))

connect_descriptor是连接串,任取,一般为sybs
host_name:oracle server的name
port_number:oracle监听端口
gateway_sid就是3选择的sid字符串

例子如下:
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
sybs=
(DESCRIPTION=
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=TCP)(HOST= dw-server1)(PORT= 1521))
)
(CONNECT_DATA=
(SID= tg4sybs)
)
(HS=OK)
)

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

8.建立database link

如:
CREATE DATABASE LINK sybs CONNECT TO sa
IDENTIFIED BY prient
USING 'SBYS' ;

即可访问sybase 数据库。


需要注意的是,sybase数据库的表名,字段名,如果是小写的,那么在oracle里访问的时候要加上双引号""

如:
SQL〉select "a" from "b"@sybs;









*****************************************************************************************************************************

SYBASE到ORACLE连接服务器的实现

不同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂商的具体实现技术不一样,如:在SYBASE里面叫做CONNECT OR CONNECTION PROFILE,通过ODBC实现与其它数据库的互联。


本文的测试环境为:

操作系统: WINDOWS2000 SERVER (繁体系统)

安装数据库: SYBASE8.0 SERVER(英文版)和ORACLE92客户端(英文版)

具体实现步骤:
1.要求pc机上安装ORACLE客户端软件和SYBASE8.0 SERVER软件。
2.首先ORACLE要建立好SERVICE NAME

如:

# TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.
……

TEST=

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST =10.100.1.101)(PORT = 1521))

)

(CONNECT_DATA =

(SID = test)

)

)

……

3.配置windows的ODBC数据源:
开始菜单—》程式集—》系统管理工具—》资料数据源(ODBC)—》进入配置用户DSN或者系统DSN均可以:添加—》选择ORACLE ORA92HOME—》自定义数据源名称(随意如: ORACLETEST)—》TNS SERVICE NAME名称(必选!)如上面的TEST—》USER ID处输入ORACLE的数据库的用户—》OK完成。

配置和测试ODBC完成!


4.配置SYBASE8.0 SERVER 中的连接服务器:
启动SYBASE CENTRAL

选择菜单中的TOOLS中的CONNECTION PROFILES选项

选择NEW按钮出现画面NEW PROFILE, 在NAME处输入你的连接名称, 选择COPY PROFILE, 在CONNECTION PROFILE中选择ADAPTIVE SERVER ANYWHERE8.0 SAMPLE后OK, 出现EDIT CONNECTION PROFILE画面,

USER: 处输入ORACLE的数据库的用户名称

PASSWORD: 处输入ORACLE的数据库的用户的密码

下面选择ODBC DATA SOURCE NAME处选择上面完成的ORACLE的ODBC

ORACLETEST, 选择OK即可完成!

访问表时,使用格式为: [连接服务器名]..[ORACLE用户].[表名]。更详细具体的使用这里不再赘述。
jgsfy 2006-12-14
  • 打赏
  • 举报
回复
我也碰到了类似问题,学习关注帮顶
szrenbo 2006-12-07
  • 打赏
  • 举报
回复
use "Oracle Migration Workbench"
do2008 2006-12-07
  • 打赏
  • 举报
回复
关注,学习~~~
ChristianBoris 2006-11-05
  • 打赏
  • 举报
回复
主机一是生产环境,所以不能直接见透明网关做sqlload

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧