随笔-15  评论-79  文章-0  trackbacks-0
  2011年5月27日
最近经常做一些数据导入的工作!做数据挖掘项目大家都懂的...
导入数据最痛苦的就是等待他导...不过如果大家没注意一些需要注意的东西,可能大家会这样反复等好多次!!
一、
首先,我也是多次吃亏的一件事情,就是老是忘记加入导入日志。因为在导入数据的时候可能会抛出很多异常,这些异常如果不记录下如果缺失了重要的数据可能要从新导入或找到原因然后重导。太可惜了。加入导入日志一切有据可查,非常重要。

它的做法可以在imp时直接加参数:
log=/oracle/log/imp.log (linux)
log=E:\log\imp.log      (windows)
指定日志的路径和文件名
例如:
imp trade/zhangy@orcl file=/test/trade.dmp show=n buffer=2048000 ignore=n commit=y grants=y full=y log=/oracle/log/imp.log
这样就有日志了...

二、导入单个表
可能客户给我们一个整库文件,但是我们可能只需要其中的一些表就OK了。oracle已经带有导入单独表的语法。
IMP trade/trade file=D:\2011-02-18_trade.dmp IGNORE=Y TABLES=(TOS_ContractInterval,TOS_CONTRACTMASTER) FULL=N



当然还有许多语法,我们可以通过imp help=yes来查看..


posted @ 2011-06-02 20:04 张元Won 阅读(590) | 评论 (0)编辑 收藏
因为新配置的机器,装的Oracle10g一直都没使用过。因为参与到项目,昨天突然用Oracle发现用Plsql不上Oracle了。
虾米原因?...搞的我蛋疼了一上午...
于是一直找帖纠结这个问题,终于还是解决了,在博客中留个记录以便以后忘记了翻翻。

导致这个错误的原因有很多
可能是SID配置不对,但绝大多数是因为Oracle程序本身问题。就是OracleOraDb10g_home1TNSListener这个服务对应的D:\oracle\product\10.2.0\db_1\BIN\TNSLSNR执行程序没有执行或者执行中断造成的。那么我们只要设置一个全局SID服务变量,以后就可以都以这个变量为准来查找到监听了。

解决方法如下:
打开:%Oracle_Hoem%/network/admin/listener.ora文件 在 
SID_LIST_LISTENER = 
(SID_LIST = 
(SID_DESC = 
  (SID_NAME = PLSExtProc) 
  (ORACLE_HOME = D:\Oracle\Oracle10g) 
  (PROGRAM = extproc) 
后面添加: 
(SID_DESC = 
  (GLOBAL_DBNAME = ORACLE) 
  (ORACLE_HOME = D:\Oracle\Oracle10g) 
  (SID_NAME = ORACLE) 
  ) 
最后变成: 
SID_LIST_LISTENER = 
(SID_LIST = 
(SID_DESC = 
  (SID_NAME = PLSExtProc) 
  (ORACLE_HOME = D:\Oracle\Oracle10g) 
  (PROGRAM = extproc) 
) (SID_DESC = 
  (GLOBAL_DBNAME = ORACLE) 
  (ORACLE_HOME = D:\Oracle\Oracle10g) 
  (SID_NAME = ORACLE) 
  ) 
posted @ 2011-05-27 09:17 张元Won 阅读(991) | 评论 (0)编辑 收藏