怎么同步两个用户的库表结构?

kingstarer 2010-01-23 12:00:50
新建了一个C用户,想把另一个数据库上的用户B的库表结构(只要表结构,包括表的主键,索引等信息,不要表的数据)导过来 有什么好办法

C和B不能直连,但是B的数据库上面有一个权限较高的A用户,有权限建dblink到B所在的数据库,也有权限在C上面建表

==================
若是以上想法不可行,那有没有办法将A的库表结构同步到C ?
...全文
333 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ojuju10 2010-01-27
  • 打赏
  • 举报
回复
导出表结果,在C用户上运行

简单的pl/sql developer 工具有专门的导出表结果
往何 2010-01-27
  • 打赏
  • 举报
回复
学习了!
vanjayhsu 2010-01-26
  • 打赏
  • 举报
回复
查看SQL也许是最快的方式了,对于一个或少量表而言
myl525 2010-01-26
  • 打赏
  • 举报
回复
如果是只是单纯针对这张表想吧这个表结构导过来最简单的方法
用plsql
在plsql里找到这张表,右键选择编辑或者查看,右下角点击 查看sql(view sql)
把sql粘出来到那个库上执行一下
完事ok了
zzzzzyyy 2010-01-26
  • 打赏
  • 举报
回复
对,查询出ddl的sql,到目标库执行省事还快
kingstarer 2010-01-25
  • 打赏
  • 举报
回复
把fll=y去掉就行了
kingstarer 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tangren 的回复:]
在命令行中执行
exp b/b@tnsnames file=b.dmp rows=n owner=(b)
imp c/c@tnsnames file=b.dmp fromuser=(b) touser=(c) full=y ignore=y
以上假设b和c都有导入导出的权限
[/Quote]

我用了你的命令试了一下,结果报错,不知道为什么

Import: Release 10.2.0.2.0 - Production on Mon Jan 25 12:33:41 2010

Copyright (c) 1982, 2005, Oracle. All rights reserved.


Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

Export file created by EXPORT:V10.02.01 via conventional path
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
IMP-00024: Only one mode (TABLES, FROMUSER, or FULL) can be specified
IMP-00000: Import terminated unsuccessfully
sorry0481 2010-01-25
  • 打赏
  • 举报
回复
学习来了
inthirties 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 kingstarer 的回复:]
新建了一个C用户,想把另一个数据库上的用户B的库表结构(只要表结构,包括表的主键,索引等信息,不要表的数据)导过来 有什么好办法

C和B不能直连,但是B的数据库上面有一个权限较高的A用户,有权限建dblink到B所在的数据库,也有权限在C上面建表

==================
若是以上想法不可行,那有没有办法将A的库表结构同步到C ?
[/Quote]

同步表结构,表的结构会经常改变么,如果是的话,可能就要思考一下你们的体系设计了。

如果不常改的话,最简单的方法就是导出,导入了,记得加上ROWS=N
Finder_Way 2010-01-24
  • 打赏
  • 举报
回复
用PL/SQL连上此数据库,查看此表创建语句。
tangren 2010-01-23
  • 打赏
  • 举报
回复
在命令行中执行
exp b/b@tnsnames file=b.dmp rows=n owner=(b)
imp c/c@tnsnames file=b.dmp fromuser=(b) touser=(c) full=y ignore=y
以上假设b和c都有导入导出的权限
crazylaa 2010-01-23
  • 打赏
  • 举报
回复
只要DDL,可以exp/imp。不需要同步数据的情况下,建dblink有点浪费噢。。。
如果使用toad或plsqldev,那么exp/imp就是简单的点点鼠标了。
如果要命令,参考:
ORACLE 数据库逻辑备份 简单 EXP/IMP
http://blog.csdn.net/tianlesoftware/archive/2009/10/24/4718366.aspx

SambaGao 2010-01-23
  • 打赏
  • 举报
回复
有exp imp

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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