Oracle SQL Developer 23.1.1保存密码复选框失效问题求助
检查配置目录权限
SQL Developer的密码和连接配置默认存在~/.sqldeveloper/目录下,执行以下命令检查权限:ls -ld ~/.sqldeveloper/ ls -l ~/.sqldeveloper/system/oracle.sqldeveloper.23.1.1.345.2111/o.jdeveloper.db.connection.23.1.1.345.2111/确保当前用户对该目录及下的文件拥有读写权限,如果权限不足,用以下命令修正:
sudo chown -R $USER:$USER ~/.sqldeveloper/ chmod -R u+rw ~/.sqldeveloper/排查容器化安装限制
如果是通过Snap/Flatpak安装的SQL Developer,这类容器化版本存在文件系统隔离,可能无法正常写入本地配置目录。建议卸载Snap/Flatpak版本,直接从Oracle官网下载解压版,手动指定JDK路径启动。检查Java密钥库状态
SQL Developer依赖Java密钥库存储加密后的密码,执行以下命令查看用户目录下的密码存储文件:ls -l ~/.oracle.jdeveloper.encrypted.passwords如果文件不存在,重启SQL Developer后会自动创建;如果存在但权限异常,修正权限后重新测试密码保存。
临时禁用AppArmor限制测试
Ubuntu默认启用AppArmor,可能限制SQL Developer的文件写入操作。临时关闭对应规则测试:sudo aa-disable /usr/bin/sqldeveloper测试后若问题解决,可根据安全需求调整AppArmor规则或保持禁用。
重置SQL Developer配置
备份当前配置目录后,删除原有配置文件,让SQL Developer重新生成默认配置:mv ~/.sqldeveloper/ ~/.sqldeveloper_backup/重启SQL Developer,重新创建连接并勾选保存密码,验证是否生效。
尝试切换Oracle JDK
虽然OpenJDK 11理论上兼容,但部分SQL Developer版本对Oracle JDK的兼容性更好。下载Oracle JDK 11或17,在SQL Developer启动脚本sqldeveloper.sh中修改SetJavaHome参数指向新JDK路径:vi sqldeveloper/sqldeveloper/bin/sqldeveloper.sh # 修改SetJavaHome为你的Oracle JDK路径,例如: SetJavaHome /usr/lib/jvm/oracle-jdk-11/启动后测试密码保存功能。
内容的提问来源于stack exchange,提问作者Charlie

