记录: 我能够读取/写入我的本地DynamoDB环境。 我按照AWS Documents下载和运行DynamoDB [http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html]
问题: 我的电脑意外停电了。 现在,我在启动DynamoDB进程后出现以下错误
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
错误消息:
Aug 23, 2017 3:52:42 PM com.almworks.sqlite4java.Internal log
WARNING: [sqlite] SQLiteQueue[shared-local-instance.db]: stopped abnormally, reincarnating in 3000ms
Aug 23, 2017 3:52:45 PM com.almworks.sqlite4java.Internal log
WARNING: [sqlite] cannot open DB[2]: com.almworks.sqlite4java.SQLiteException: [14] unable to open database file
Aug 23, 2017 3:52:45 PM com.almworks.sqlite4java.Internal log
SEVERE: [sqlite] SQLiteQueue[shared-local-instance.db]: error running job queue
com.almworks.sqlite4java.SQLiteException: [14] unable to open database file
at com.almworks.sqlite4java.SQLiteConnection.open0(SQLiteConnection.java:1480)
at com.almworks.sqlite4java.SQLiteConnection.open(SQLiteConnection.java:282)
at com.almworks.sqlite4java.SQLiteConnection.open(SQLiteConnection.java:293)
at com.almworks.sqlite4java.SQLiteQueue.openConnection(SQLiteQueue.java:464)
at com.almworks.sqlite4java.SQLiteQueue.queueFunction(SQLiteQueue.java:641)
at com.almworks.sqlite4java.SQLiteQueue.runQueue(SQLiteQueue.java:623)
at com.almworks.sqlite4java.SQLiteQueue.access$000(SQLiteQueue.java:77)
at com.almworks.sqlite4java.SQLiteQueue$1.run(SQLiteQueue.java:205)
at java.lang.Thread.run(Thread.java:748)
尝试: 这篇文章最接近我的错误,但它不涉及DynamoDB,而是涉及一些云日志等。 [https://forums.aws.amazon.com/thread.jspa?threadID=165134]
有关如何纠正数据库文件的任何想法?
答案 0 :(得分:0)
快速解决方案是重新安装所有内容。
rm -rf <unzipped DynamoDB Local folder>
然后,返回安装说明。 http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html
我不熟悉jar文件。用新的jar文件替换它们就像重新安装一样?
答案 1 :(得分:0)
可能是权限问题。尝试更新权限。
sudo chown user dynamodb -R
chmod 775 -R dynamodb
答案 2 :(得分:0)
我在Windows上遇到了与Docker类似的错误,解决方案是向“系统”授予Docker Volume的所有权限,而Docker Volume可以保留数据库数据
答案 3 :(得分:0)
我在将 MacOS 升级到 Catalina 时遇到此错误。
我通过这些说明再次安装了 DynamoDBLocal - https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.DownloadingAndRunning.html
然后它就起作用了。
如果您需要复制旧数据,只需将现有的“shared-local-instance.db”文件复制到新安装中,它就会像以前一样工作。
这很可能是由于 Catalina 被放入后文件访问的某些权限更改造成的。
答案 4 :(得分:0)
如果您在 Windows
,start the command prompt in administrator mode
,然后再次运行您的命令。
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
它对我有用。