Для тестирования процесса восстановления базы данных, невозможно получить запрос o/p с помощью сценария оболочки
Я написал сценарий оболочки как:
#!/bin/bash
#shell script for recovery testing
$ORACLE_HOME/bin/rman target/ <<EOF >rman.log
shutdown immediate;
startup mount;
run
{
recover database;
}
sql 'alter database open read only';
exit;
EOF
$ORACLE_HOME/bin/sqlplus '/as sysdba' <<_EOF1_ >sql.log
spool '/home/oracle/test1.log'
select * from hr.employees;
spool off;
exit;
_EOF1_
, но не удалось получить спул вывод из запроса SQL, как решить проблему?
1 ответ
Я не знаю, что не так с вашим кодом. Он должен работать. Я проверил это:
$ sqlplus '/as sysdba' <<_EOF1_ >sql.log
spool '/home/oracle/test1.log'
select * from dual;
spool off;
exit;
_EOF1_
Выход
$ cat sql.log
SQL*Plus: Release 11.2.0.4.0 Production on Mon Nov 6 15:18:42 2017
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL> SQL>
D
-
X
SQL> SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
Выход 2
$ cat /home/oracle/test1.log
SQL> select * from dual;
D
-
X
SQL> spool off;
Есть два варианта для достижения вашей цели. Вы используете оба в одном. Есть ли для этого причины?
Опция 1
$ sqlplus / as sysdba << EOF > /dev/null
spool test.out
select * from dual;
spool off
EOF
Выход
$ cat test.out
SQL> select * from dual;
D
-
X
SQL> spool off
Вариант 2
$ sqlplus / as sysdba << EOF > test.out
> select * from dual;
> EOF
Выход
$ cat test.out
SQL*Plus: Release 11.2.0.4.0 Production on Mon Nov 6 15:12:05 2017
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options
SQL>
D
-
X
SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options