从客户那边取来的导入文件.按如下步骤导入数据
1.默认安装oracle8数据库,安装了默认数据库.在服务器上用system 登陆 服务名填orcl 报无效服务名.
服务名为空 可以登陆.为什么?
2.新建表空间assure_date.新建用户assure 主表空间选assure_date,临时表空间也选assure_date.
3.新建bat文件.内容如下
Imp80 assure/assure file=f:\db\assure_20080116 log=f:\db\log\log_assure  full=y
如果我写成Imp80 assure/assure@orcl 还是报报无效服务名.导入完成后表空间user_date 和 assure_date 都有assure的表,有的表甚至是被拆开了.前几列在assure_date中,后几列表空间user_date中.
(ps:是不是因为客户数据库assure用户的主表空间user_date?)
求教!!!

解决方案 »

  1.   

    1、报无效服务名,显然你服务名记错了。为空可登陆,那是因为你在服务器上时默认就是登陆到当前机器上的数据库。
    2、你这里确定都和客户那的设置完全一样吗?
    3、“Imp80 assure/assure@orcl 还是报报无效服务名.”与1、中的解释同理。导入完成后有表数据被拆开。这事我想是和你第2步建立的表空间等和用户那不一样吧。
      

  2.   

    本机登录采用操作系统认证方式不需要服务名。
    如果你要通过远程客户端登录或在本机使用服务名登录,
    则需要在%ORACLE_HOME\network\admin\tnsnames.ora中配置服务名可能原来导出的对象所在的表空间为user_date中。
      

  3.   

    谢谢1,2楼的帮忙.
    oracle 8 的默认sid 应该是orcl 所以我用orcl 登陆应该是没有问题的.
    另外同样的数据文件,同样的步骤 如果我导入到oracle10g就没有这样的问题.这是为什么?
      

  4.   

    补充一下,客户那边的数据库版本是oracle 8.05
      

  5.   

    那可能是8I的导入导出功能有限了,9I对EXP、IMP的功能进行了不少扩充和完善。
      

  6.   

    我刚才确认过了.客户那边的数据库设置和我的一样.
    assure 用户的默认表空间也是assure_date