我想使用 AWS SCT 将 Oracle DB 迁移到 Amazon Redshift

I would like migrate Oralce DB to Amazon Redshift with AWS SCT

概览

我参考本教程学习将 Amazon RDS for Oracle Database 迁移到 Amazon Redshift https://docs.aws.amazon.com/dms/latest/sbs/CHAP_RDSOracle2Redshift.html

麻烦

step5 中,我使用 Amazon SCT 将 Oracle Schema 转换为 Amazon Redshift。 但是,我必须更改 Amazon SCT 的配置,因为教程文档是 2017 年编写的旧文档。 更改配置之一,我尝试disable to use AWS Glue。 我打开Project settings to uncheck the checkbox "Use AWS Glue"。 不久之后,AWS SCT froze.

我的PC有8GB内存,我试试16GB内存的商用PC。 还是没用。

我的尝试

根据 this blog,我需要增加 JVM 大小。所以,我编辑了 SCT 的配置文件。

[Application]
app.name=AWS Schema Conversion Tool
app.version=1.0.645
app.runtime=$ROOTDIR\runtime
app.identifier=com.amazon.sct
app.classpath=$ROOTDIR\app\AWSSchemaConversionTool.jar;$ROOTDIR\app\AWSSchemaConversionToolBatch.jar
app.mainjar=$ROOTDIR\app\AWSSchemaConversionTool.jar
app.mainclass=com.amazon.sct.App

[JavaOptions]
-Xss128M
-Dfile.encoding=UTF-8
-XX:+UseParallelGC
--add-opens=java.base/jdk.internal.loader=ALL-UNNAMED
--add-exports=java.base/jdk.internal.loader=ALL-UNNAMED
--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED

[JVMUserOptions] #add
–Xmx4096m        #add 
–Xms2048m        #add

[ArgOptions]

我完成文件编辑并重新启动 AWS SCT,但是 JVM memory does not increase。

我不知道如何解决这个问题。接下来我该怎么办? 请帮助我。

难怪会出错。每个线程的堆栈大小为 128Mb,但总体只有 4096Mb。这只给你足够的 space 来使用 40 个线程,然后堆中没有任何对象。

可能最好取消所有 space 大小的注释并让 JVM 自动执行它的操作。

分辨率

有一次,我卸载了 AWS SCT,然后重新安装了旧版本。 然后,我可以打开项目设置 windows 并取消选中 [使用 AWS Glue] Project settings