对imp中的fromuser参数的偏差理解

这两天执行导入dump文件时总碰到一个问题。

问题现象

1. 执行:imp xyz/xxx file=test.dmp log=imp_test.log fromuser=test1 touser=test2
ignore=y commit=y buffer=300000000 feedback=10000

注:这个文件dump>200G容量。

2. 执行了许久,但最后结果和log中记录:

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

Export file created by EXPORT:V10.02.01 via conventional path

Warning: the objects were exported by TEST1, not by you

import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
. importing TEST1's objects into TEST2
Import terminated successfully without warnings.

3. 但没有任何dump中的数据导入到test2用户中。

原因分析

首先,其实是对imp命令中的fromuser参数偏差的理解。

[root@vm-vmw4131-t ~]# imp -help

FROMUSER     list of owner usernames

imp指令帮助中说明FROMUSER的含义是“属主用户名列表”,相应的,从exp指令帮助中可以看到OWNER参数表示的是相同的含义:

[root@vm-vmw4131-t ~]# exp -help

OWNER        list of owner usernames

即该用户指的是对象所属用户。

其次,经过咨询,上述问题中用到的fromuser=test1这个test1用户是执行exp的系统账户,并不是数据库对象所属账户,这就能解释上面问题的原因了:由于dump文件所属的数据对象账户是另外一个账户,不是test1,因此使用imp
... fromuser=test1时,会检索这个文件dump,查找属于test1用户的对象,全文件扫描后,根本没有属于该用户的对象,因此提示“Import
terminated successfully without warnings”正常结束。

总结

1. 这次导入导出时可能根本没实际考虑LANG等字符集环境变量。

2. imp的fromuser指的是对象所属用户,不是执行exp导出的用户。

时间: 2024-10-28 09:43:26

对imp中的fromuser参数的偏差理解的相关文章

java-[Java]关于重载方法中的可变参数列表

问题描述 [Java]关于重载方法中的可变参数列表 <Thinking in Java>第105页有一句话不理解 如何理解你应该总是只在重载方法的一个版本上使用可变参数列表,或者压根就不是用它 解决方案 就是当重载一个方法时,选择其中的一个重载使用可变参数,其他的避免使用,否则编译的时候容易出问题.具体的参看http://www.cnblogs.com/lanxuezaipiao/p/3190673.html 解决方案二: 这个道理很简单,比如说你有foo(int x int ... args

javascript-js中的java代码如何访问js中方法的参数??见图

问题描述 js中的java代码如何访问js中方法的参数??见图 如何让1处的值传到2处这里?? 解决方案 需要用ajax提交你的index到服务器,服务器端无法直接获取客户端js的变量值 <script src=""http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.1.min.js""></script><script type=""text/javascript&qu

void c++-C++中的 void 参数问题

问题描述 C++中的 void 参数问题 #include void Method(int aint b){ b = a;}int main(){ int a = 125; int b = 1; Method(ab); std::cout << b;getchar();return 0; }如题,为什么最后输出b=1呢?按理说b=a应该b=125的. 解决方法1是把代码改成int Method(int aint b){ b = a; return b:}因为是自学的,所以也不知道该怎么说,简单

url-html中get提交参数,怎么没有获取到

问题描述 html中get提交参数,怎么没有获取到 文本框输入的内容跳转不到百度的url中,那里错了呢? 解决方案 首先你要明确百度是不是以这种方式发送请求的.可以去百度解析一下源码看看,这里面还要附带着多个参数的,并不是仅仅是搜索内容的请求 解决方案二: 百度的查询参数是wd,不要随便乱起 <form action=""https://www.baidu.com/s"" method=""get""> <i

JSP取得在WEB.XML中定义的参数

js|web|xml 在WEB.XML文件中设置参数: <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <we

Oracle.中如何查询当前版本中的各参数

oracle Oracle数据库系统根据初始化参数文件init.ora中设置的参数来配置自身的启动,每个实例在启动之前,首先读取这些参数文件中设置的不同参数.Oracle系统中的参数,根据系统使用情况可以简单分为两大类,普通参数,也就是Oracle系统正常使用的一些参数,另外一类就是特殊参数,包括三种,过时参数.强调参数和隐藏参数.随着Oracle数据库新版本的发布,相应每次都会增加或者删除一些参数.如何查询当前版本数据库系统的参数情况以及当前系统版本相对于以前版本增加或者丢弃的那些参数呢?本文

C#中调用输入输出参数的存储过程

关于存储过程的介绍大家想必也不陌生了吧.大家可以参考<浅谈存储过程>一文,这里不做介绍. 今天要介绍的是在C#里如何调用带输入输出参数的存储过程.譬如实现简单的登陆功能,根据用户输入的用户名.用户密码及用户权限实现登陆.这里充当输入参数的有:用户名.用户密码.登陆权限.充当输出参数的就是在数据库里面根据输入参数的信息查询数据库中是否有记录.具体来说就是记录的行数. 数据库中的存储过程构建代码: Code 1use Hotel --数据库名 2if exists(select * from sy

Linux内核中的vga=参数简介

在一般的Linux系统中如果不指定"vga="参数,系统将不会支持frameBuffer设备, 一般的可以在/boot/grub/grub.conf文件中添加"vga="参数 Linux讷河的vga模式对照表如下: 640x480  800x600  1024x768 1280x1024 8bit 769  771  773  775 15bit 784  787  790  793 16bit 785  788  791  794 24bit 786  789  

access数据库连接出错,请检查Conn.asp文件中的数据库参数

  今天我们讲一个实际工作中遇到使用IIS建立网站出现:access数据库连接出错,请检查Conn.asp文件中的数据库参数设置的解决办法 1.路径设计错误,用记事本打开CONN.ASP, 如果是ACCESS数据库,请认真修改好下面的数据库的文件名 db = "databasePowerEasy2006.mdb", ACCESS数据库的文件名,请使用相对于网站根目录的的绝对路径,如果是安装在网站根目录,直接修改文件名即可.如果是安装在网站某一目录下,则在前面加上此目录,例如,系统安装在