我想克隆我现有的oracle数据库结构,而不包括包,用户,表空间等数据。我读了一些方法,但它们都复制了数据。反正是为了做到这一点吗?
提前致谢。
答案 0 :(得分:6)
使用SQL Developer>工具>数据库导出..
开“指定数据”不包含任何表格。
alt text http://i34.tinypic.com/1z300tg.png
在这里省略包等,
alt text http://i37.tinypic.com/2cmt25i.png
在此处微调您的选择,
alt text http://i33.tinypic.com/2ew32og.png
我的试用版导出尚未完成,但我希望这会有用。
答案 1 :(得分:6)
使用Oracle exp.exe实用程序进行导出。 E.g。
EXP.EXE login/password@TNSNAME file=entire_db.dmp owner=(scott, my_user, user2) rows=n grants=y triggers=y
上面命令中只有rows = n选项对您的任务有意义。
您可以使用imp.exe
实用程序导入目标数据库。
通过使用help=y
选项运行此实用程序来查找详细的选项列表和定义。
但是目标数据库上的表空间和用户必须在运行导入之前手动创建。 没有标准的表空间克隆工具(包括SQL Developer),但是存在一些用于生成此类克隆脚本的查询。 可以找到示例here和here。
P.S。这个问题更适合ServerFault而非StackOverflow ...
答案 2 :(得分:1)
你可以在蟾蜍中做到,但它不是免费的工具。 (数据库选项卡 - >导出 - >导出DDL)
答案 3 :(得分:0)
尝试使用ROWS = N
的Oracle Export命令exp SCOTT/TIGER ROWS=N TRIGGERS=N
答案 4 :(得分:0)
使用SQL Developer,工具>数据库导出。
您需要在'data'选项中指定至少一个表,因为您无法选择不导出任何数据。选择具有少量行的表或创建一个没有任何行的虚拟表作为解决方法。