Oracle
 sql >> база данни >  >> RDS >> Oracle

Подаване на променлива user,pass,sid в командата sqlplus

Не сте казали какво всъщност се случва, но предполагам, че не сте подканени за идентификационни данни и че може би не може да намери sqlplus . На кутия Red Hat това работи:

#!/bin/bash
echo Please enter an Oracle Username:
read USERNAME
echo "Please enter the Oracle Username's Password:"
read -s PASS
SID=XE
conn_str=$USERNAME/[email protected]$SID

ssh [email protected] << EOF
# set these for your specific environment
ORACLE_HOME=<path to ORACLE_HOME>
PATH=$PATH:$ORACLE_HOME/bin # or without .../bin depending on client
TNS_ADMIN=<path to tnsnames.ora directory, if not default>

sqlplus -s /nolog
connect $conn_str
select * FROM user_tables;
exit
EOF

Това събира стойностите от потребителя на локалната машина, за да се избегне проблемът „Псевдотерминалът няма да бъде разпределен, защото stdin не е терминал“.

След това се настройва средата на Oracle веднъж на отдалечения сървър - това, което трябва да настроите, зависи от това кой клиент използвате (особено дали използвате незабавния клиент, но ако се свързвате като oracle това изглежда малко вероятно и вероятно можете да стартирате oraenv ).

Също така го промених да изпълнява SQL*Plus с /nolog и след това свързване веднъж стартиран, така че идентификационните данни не са изложени в ps изход. И преминах от старите раздели към по-често срещаните user_tables .

Вложените тук документи работят, но не са необходими; SQL командите вече се въвеждат на правилното място и ще бъдат видени от SQL*Plus, а не от отдалечената обвивка.

Разбира се, тъй като не знам каква грешка всъщност виждате, това е до голяма степен спекулация. Вероятно би било по-лесно клиентът да се инсталира локално и да се използва SQL*Net връзка вместо SSH, но може да има ограничения на защитната стена, за които не знаем.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. C# - Трябва ли да използвам връзка със статична база данни

  2. Как да се свържа с база данни с помощта на QOCI или QODBC с правилно кодиране?

  3. План за изпълнение на Oracle

  4. Как да активирате XA Oracle 11g

  5. Как да използвате аналитични функции в oracle (над разделяне по ключова дума)