Сценарий резервного копирования базы данных - PullRequest
0 голосов
/ 28 мая 2019

Я довольно новичок в Oracle и пытаюсь создать скрипт, который будет резервировать базу данных каждый раз, когда она запускается из cronjob.

Я смотрел много дискуссий в Интернете, но мне не удалось найти что-либо, даже если я сделал несколько небольших шагов. Что мне нужно сделать, так это запустить все от 1-го скрипта, от создания резервной копии каталога базы данных до запуска самой резервной копии

sqlplus / as SYSDBA << EOF
CREATE DIRECTORY dmpdir AS '/nfs/ora_bck/';
exit
EOF

Это должно дать мне положительный результат, но вместо этого я получаю ошибку не подключенной базы данных, которая не имеет смысла, потому что это наша производственная база данных, которая работает и работает без проблем

Ответы [ 2 ]

0 голосов
/ 29 мая 2019

Получается, что все, что мне нужно было добавить: export 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
EOF

backup.sh

export ORACLE_SID=SID
expdp \"/ as sysdba\" directory=fulldp_dir full=y dumpfile=full_exp.dmp logfile=full_exp.log
0 голосов
/ 28 мая 2019

Попробуйте с <<EOF (пробел удален из << EOF), используйте имя каталога UpperCase DMPDIR с предоставленными привилегиями (grant read, write on directory DMPDIR to <yourSchema>) и убедитесь, что путь /nfs/ora_bck/ действительно существует.

...