Sqlplus oracle: как я могу запустить команду sql на bash в 1 строке?

могу ли я преобразовать это в 1 командную строку на bash в sqlplus? потому что я хочу автоматизировать его.

sqlplus / as sysdba
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
exit

4 ответов


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

echo 'EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);' | sqlplus / as sysdba

sqlplus user/password@host @file.sql

вы можете wirite, следуя в оболочке

#!/bin/bash
sqlplus / as sysdba <<EOF
EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
exit
EOF

или вы можете поместить это общее в процедуру


sqlplus /nolog @your_script.sql