我是Oracle的新手,我正在尝试编写一个脚本,在每次从cronjob运行数据库时对其进行备份。
我已经在网上看了很多讨论,但我真的没有找到任何东西,即使我做了一些小步骤。我需要做的是从一个脚本开始运行所有内容,无论是从创建数据库目录备份位置到运行备份本身
sqlplus / as SYSDBA << EOF
CREATE DIRECTORY dmpdir AS '/nfs/ora_bck/';
exit
EOF它应该会给我一些积极的输出,但我得到了一些数据库未安装的错误,这是没有意义的,因为它是我们的生产数据库,它已经启动并运行,没有任何问题
发布于 2019-05-29 04:53:54
尝试使用<<EOF (从<< EOF中删除空格),使用UpperCase目录名DMPDIR并授予权限( grant read, write on directory DMPDIR to <yourSchema> ),并确保路径/nfs/ora_bck/确实存在。
发布于 2019-05-29 05:11:27
因此,我所需要添加的就是:导出ORACLE_SID=SID (您可以在ps -ef | grep pmon中找到它),然后是脚本的其余部分。
希望这能帮助那些有同样问题的人。
以防任何人需要这些脚本:
command.sh
export ORACLE_SID=SID
sqlplus / as SYSDBA <<EOF
CREATE DIRECTORY fulldp_dir AS '/mnt/nfs/backup_ora/';
exit
EOFbackup.sh
export ORACLE_SID=SID
expdp \"/ as sysdba\" directory=fulldp_dir full=y dumpfile=full_exp.dmp logfile=full_exp.loghttps://stackoverflow.com/questions/56349360
复制相似问题