Czy mogę przekonwertować to na 1 wiersz poleceń w bash w sqlplus? bo chcę to zautomatyzować.Wyrocznia Sqlplus: Jak mogę uruchomić polecenie sql na bashu w 1 linii?
sqlplus/as sysdba
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
exit
Czy mogę przekonwertować to na 1 wiersz poleceń w bash w sqlplus? bo chcę to zautomatyzować.Wyrocznia Sqlplus: Jak mogę uruchomić polecenie sql na bashu w 1 linii?
sqlplus/as sysdba
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
exit
Nie trzeba będzie zjechać z automatyzacji, ponieważ powinna ona wyjść na koniec pliku mimo to. Więc w jednej linii można zrobić:
echo 'EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);' | sqlplus/as sysdba
można wirite przez obserwacji w powłoce
#!/bin/bash
sqlplus/as sysdba <<EOF
EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
exit
EOF
lub można umieścić ten commond w procedurze
sqlplus /nolog @your_script.sql
To nie zadziała, ponieważ/nolog zapobiega logowaniu się SQL * Plus do bazy danych. –
Oczywiście, że nie będzie - bez umieszczania komendy 'connect' w skrypcie. – ipip
sqlplus user/[email protected] @file.sql
Dzięki. to byłaby najlepsza odpowiedź, ponieważ nie chcę tworzyć dodatkowego .sh lub .sql w ogóle. –
Próbuję tego polecenia z zapytaniem o wybór, ale nic się nie stało. Wystarczy się zalogować, a następnie się rozłączyć. Co powinienem zrobić? –
Wygląda na to, że brakuje ci ';' lub '/' (w linii prostej), aby faktycznie uruchomić polecenie. Tylko zgadnij, będziesz potrzebować dostarczyć więcej szczegółów dla lepszej odpowiedzi – Sodved