ORACLE DUL/PRM常见问题汇总FAQ

FAQ 常见问题解答

  1. 我不知道我的数据库的字符集信息怎么办?

你可以通过ORACLE告警日志alert.log来大致了解你的数据库字符集信息,例如:

[oracle@mlab2 trace]$ grep  -i character alert_Parnassus.log

Database Characterset is US7ASCII

Database Characterset is US7ASCII

alter database character set INTERNAL_CONVERT AL32UTF8

Updating character set in controlfile to AL32UTF8

Synchronizing connection with database character set information

Refreshing type attributes with new character set information

Completed: alter database character set INTERNAL_CONVERT AL32UTF8

alter database national character set INTERNAL_CONVERT UTF8

Completed: alter database national character set INTERNAL_CONVERT UTF8

Database Characterset is AL32UTF8

Database Characterset is AL32UTF8

Database Characterset is AL32UTF8

  1. 为什么我使用PRM总是闪退或者报一些例如” gc warning: Repeated allocation of very large block (appr.size 512000)”的GC报错?

就目前ParnassuData看到的案例而言,绝大多数此类问题都是由于使用了非推荐的JAVA环境所造成的;特别是在Linux平台上使用了redhat gcj java的话很容易造成该问题。ParnassusData建议用户使用ORACLE提供的JDK1.6以上环境运行PRM,可以直接使用$JAVA_HOME/bin/java –jar prm.jar来启动PRM。

各个操作系统平台的JDK 1.6的下载连接如下:

http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR

  1. 如果我发现了PRM的bug,我应当如何report bug给ParnassusData?

ParnassusData欢迎任何人给我们report bug,只需要发邮件到[email protected]就好了, 建议提交bug时附上您详细的运行环境 包括操作系统、JAVA运行环境和ORACLE数据库版本的环境信息。

  1. 我启动PRM出现下面的错误怎么办?

Error: no `server’ JVM at `D:\Program Files (x86)\Java\jre1.5.0_22\bin\server\jvm.dll’.

这是由于用户的环境中安装的是JAVA Runtime Environment JRE,而没有安装JDK。而启动PRM的脚本中加入了-sever的选项,该选项在JRE 版本1.5之前是没有的,所以会出现该错误。

ParnassusData建议用户使用ORACLE提供的JDK1.6以上环境运行PRM。

各个操作系统平台的JDK 1.6的下载连接如下:

http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u45-oth-JPR

  1. 为什么我在使用PRM时中文显示乱码?

目前已知有2种可能导致该中文显示乱码问题:

l  PRM所运行操作系统环境没有安装中文语言包,例如PRM运行在没有安装中文语言包的Linux平台上,那么PRM作为一个软件是无法正常显示中文的。

l  操作系统已经安装了必要的语言包,但启动PRM使用的是JDK 1.4的JAVA运行环境,同样可能出现中文乱码,该问题建议使用JDK 1.6或以上版本来解决

  1. PRM是否支持LOB大对象字段?

PRM支持CLOB、NCLOB、BLOB等大对象字段,包括分区表、Disable/Enable Storage in ROW等情况均支持对LOB的数据搭桥模式,LOB数据一样无需落地,就可以应用到远程目标数据库中。

对于LOB大对象字段不支持普通的UNLOAD抽取方式,因为抽取方式在数据导入时会十分麻烦;所以我们也推荐用户尽可能使用DataBridge数据搭桥模式。

  1. PRM有什么讨论的论坛吗?

目前我们有中文的PRM讨论BBS版面,地址为:

http://t.askmac.cn/forum-24-1.html

  1. 为什么我运行PRM遇到以下的报错?

JVMJ9GC020E -Xms too large for heap

JVMJ9VM015W Initialization error for library j9gc23(2): Failed to initialize

Could not create the Java virtual machine.

这是因为AIX上IBM的JVM无法分配prm.sh所指定的JAVA虚拟机分配内存,之所以在prm.sh中指定-Xms最小分配内存大小是为了获得更好的性能和稳定性。

对于上述错误 可以直接运行 java –jar prm.jar 来绕过。

但诗檀仍推荐用户安装JDK 1.6或以上版本。  下为部分平台上的JDK下载地址:

AIX JAVA SDK 7 http://pan.baidu.com/s/1i3JvAlv
Linux JDK 7 64bit http://pan.baidu.com/s/1jGl3AT4
Linux JDK 7 32bit http://pan.baidu.com/s/1mg6ymnQ
Solaris JDK 7 x86-64bit http://pan.baidu.com/s/1gdzgSvh
Solaris JDK 7 x86-32bit http://pan.baidu.com/s/1mgjxFlQ
Solaris JDK 7 Sparc http://pan.baidu.com/s/1pJjX3Ft

其他下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

9.  为什么我运行PRM并加载数据文件LOAD后报错说 “据文件版本不一致!请检查输出内容以确认“

首先确认加入的数据文件是否都属于同一个数据库,如果不属于同一个数据库那么出现上述错误是正常的。

其次检查后台输出的信息(启动PRM的终端如cmd,terminal):

D:\Software\Management Tools\ParnassusData_PRMforOracle_2001>java -Xms1024M -server -jar  prm.jar

Error in checkDBFFilesVersion(). E:\app\oracle\oradata\orcl\SYSTEM01.DBF (拒绝访问。)

java.io.FileNotFoundException: E:\app\oracle\oradata\orcl\SYSTEM01.DBF (拒绝访问。)

at java.io.RandomAccessFile.open(Native Method)

at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)

at java.io.RandomAccessFile.<init>(RandomAccessFile.java:98)

at com.zeradata.k.a(k.java:1)

at com.zeradata.k.<init>(k.java:12)

at com.zeradata.A.a(A.java:6)

at com.zeradata.A.a(A.java:186)

at com.zeradata.B.a(B.java:2214)

at com.zeradata.B.<init>(B.java:2511)

at com.zeradata.o.<init>(o.java:90)

at com.zeradata.zrm.gui.a4.b(a4.java:69)

at com.zeradata.zrm.gui.a4.c(a4.java:128)

at com.zeradata.zrm.gui.q.actionPerformed(q.java:2)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)

at java.awt.Component.processMouseEvent(Component.java:5517)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)

at java.awt.Component.processEvent(Component.java:5282)

at java.awt.Container.processEvent(Container.java:1966)

at java.awt.Component.dispatchEventImpl(Component.java:3984)

at java.awt.Container.dispatchEventImpl(Container.java:2024)

at java.awt.Component.dispatchEvent(Component.java:3819)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)

at java.awt.Container.dispatchEventImpl(Container.java:2010)

at java.awt.Window.dispatchEventImpl(Window.java:1791)

at java.awt.Component.dispatchEvent(Component.java:3819)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

DB file version info:

File: E:\app\oracle\oradata\orcl\SYSTEM01.DBF, db version: 0

如发现上述类似信息,则说明是因为PRM无权限访问输入的数据文件所致,由于Window下的文件权限管理,可能导致上述由于权限而无法访问数据文件的错误。

对于上述问题,可以通过 以“管理员身份“ 启动cmd命令行,然后在有管理员权限的cmd下启动prm.bat来解决。


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *