2012-06-28 17 views
8

क्या मैं इसे एसक्लप्लस में बैश पर 1 कमांड लाइन में परिवर्तित कर सकता हूं? क्योंकि मैं इसे स्वचालित करना चाहता हूं।स्क्लप्लस ऑरैकल: मैं 1 लाइन में बैश पर एसक्यूएल कमांड कैसे चला सकता हूं?

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

उत्तर

13

आप स्वचालन के साथ बाहर निकलने की जरूरत नहीं होगी, क्योंकि यह अंत पर बाहर निकलने चाहिए में इस commond डाल सकते हैं वैसे भी फ़ाइल का। तो एक लाइन पर तुम कर सकते हो:

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

धन्यवाद। यह सबसे अच्छा जवाब होगा क्योंकि मैं –

+0

पर अतिरिक्त .sh या .sql बनाना नहीं चाहता हूं, मैं इस कमांड को चुनिंदा क्वेरी के साथ आज़माता हूं लेकिन कुछ भी नहीं हुआ। यह सिर्फ लॉगिन करें और फिर डिस्कनेक्ट करें। मुझे क्या करना चाहिए? –

+0

लगता है कि वास्तव में कमांड चलाने के लिए आप ';' या '/' (स्वयं की एक पंक्ति पर) गायब हैं। बस एक अनुमान है, आपको बेहतर उत्तर – Sodved

3

आप एक खोल

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

में अनुवर्ती द्वारा wirite सकते हैं या आप एक प्रक्रिया

0

sqlplus /nolog @your_script.sql

+0

के लिए अधिक जानकारी प्रदान करने की आवश्यकता होगी जो काम नहीं करेगा, क्योंकि/nolog SQL * प्लस को डेटाबेस पर लॉग इन करने से रोकता है। –

+0

बेशक यह नहीं होगा - स्क्रिप्ट में 'कनेक्ट' कमांड डाले बिना। – ipip

संबंधित मुद्दे