[数据库]oracle导出数据库

==========================================================

导出oracle数据库及数据

===============

问题:

使用Oracle SQL Developer里面的Tools->Export DDL、和在SQL worksheet中输入exp命令,都报错。

前者报表或视图不存在,后者报无效的SQL语句。

解决:

不用Oracle SQL Developer,直接转到dos的SQL命令行导出,报错:

sp2-0734 未知的命令开头 "exp……

下面找到了正解:http://www.bhcode.net/article/20100414/8076.html

http://blog.sina.com.cn/s/blog_6d59e57d0100q0qv.html 都说了要在DOS界面下使用,居然没有注意。

汗,这么小问题搞了好久,一直以为是sql不对

结论:

要在dos命令行,即直接打开cmd窗口使用exp命令,不能在SQL>提示符下使用exp命令

===========================================================

导远程服务器上的oracle数据库

=================

参考:http://sucre.blog.51cto.com/1084905/380152

问题:tnsnames.ora在哪?

解决:不同客户端tnsnames.ora的路径不同,不能在sqlplus里获得。

我的11g tnsnames.ora路径为$oracle_home\product\11.1.0\db_1\NETWORK\ADMIN\

问题:改好后提示只读不让保存

解决:另存到桌面,删除原文件,再粘贴回去。

问题:输入命令exp username/password@192.168.1.117 file=c:\本地存放数据库备份后的路径

        报错:ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME

解决:经过自己对比发现,我在复制设置代码的时候,图省事,复制了原有的配置

ORCL =   (DESCRIPTION =    

   (ADDRESS = (PROTOCOL = TCP)(HOST = XiaoYan-PC)(PORT = 1521))    

(CONNECT_DATA =      

 (SERVER = DEDICATED)     

  (SERVICE_NAME = orcl)   

  )

) 实际上正确的设置,还有个ADDRESS_LIST,之前自己没注意。

问题:报错 必须说明 'SET_NO_OUTLINES' 组建

解答:http://blog.csdn.net/xw13106209/article/details/6609638

        不能直接在客户端(安装有oracle 11g)上使用exp命令向服务器端(oracle 9i)上的数据库发出请求导出数据到客户端机器上。

         之前不能用Oracle SQL Developer里面的Tools->Export DDL导出数据库,也是因为版本问题。

解决:还没解决……


============最终情况===========================================

同事在自己的服务器上导出了数据库,没用我的客户端。

经验太少了……早知道这样导不行的话,可以少花很多时间呢……以后不用版本间交互要注意注意啦…… 

 

 =========== 其他小知识===================================

查询当前数据库名 select name from v$database;

查看数据库版本 select * from v$version;

参考:http://z-piaoyi.iteye.com/blog/989205

oracle 入门命令:http://z-piaoyi.iteye.com/blog/989205

posted @ 2012-03-14 17:33  GraceXiao  阅读(570)  评论(0编辑  收藏  举报