FAQ 常见问题解答
- 我不知道我的数据库的字符集信息怎么办?
你可以通过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 |
- 为什么我使用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的下载连接如下:
- 如果我发现了PRM的bug,我应当如何report bug给ParnassusData?
ParnassusData欢迎任何人给我们report bug,只需要发邮件到report_bugs@parnassusdata.com就好了, 建议提交bug时附上您详细的运行环境 包括操作系统、JAVA运行环境和ORACLE数据库版本的环境信息。
- 我启动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的下载连接如下:
- 为什么我在使用PRM时中文显示乱码?
目前已知有2种可能导致该中文显示乱码问题:
l PRM所运行操作系统环境没有安装中文语言包,例如PRM运行在没有安装中文语言包的Linux平台上,那么PRM作为一个软件是无法正常显示中文的。
l 操作系统已经安装了必要的语言包,但启动PRM使用的是JDK 1.4的JAVA运行环境,同样可能出现中文乱码,该问题建议使用JDK 1.6或以上版本来解决
- PRM是否支持LOB大对象字段?
PRM支持CLOB、NCLOB、BLOB等大对象字段,包括分区表、Disable/Enable Storage in ROW等情况均支持对LOB的数据搭桥模式,LOB数据一样无需落地,就可以应用到远程目标数据库中。
对于LOB大对象字段不支持普通的UNLOAD抽取方式,因为抽取方式在数据导入时会十分麻烦;所以我们也推荐用户尽可能使用DataBridge数据搭桥模式。
- PRM有什么讨论的论坛吗?
目前我们有中文的PRM讨论BBS版面,地址为:
http://t.askmac.cn/forum-24-1.html
- 为什么我运行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来解决。
Comment