Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Chuyển người dùng biến, chuyển, sid trong sqlplus comman

Bạn chưa nói điều gì thực sự xảy ra, nhưng tôi đoán bạn không được nhắc nhập thông tin đăng nhập và có thể nó không thể tìm thấy sqlplus . Trên hộp Red Hat, điều này hoạt động:

#!/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

Điều này đang thu thập các giá trị từ người dùng trên máy cục bộ để tránh vấn đề 'Pseudo-terminal sẽ không được cấp phát vì stdin không phải là một thiết bị đầu cuối'.

Sau đó, nó sẽ thiết lập môi trường Oracle một lần trên máy chủ từ xa - những gì bạn cần thiết lập tùy thuộc vào ứng dụng khách bạn đang sử dụng (đặc biệt là liệu bạn có đang sử dụng ứng dụng khách tức thì hay không, mặc dù nếu bạn đang kết nối bằng oracle điều đó có vẻ khó xảy ra và bạn có thể chạy oraenv ).

Tôi cũng đã chỉnh nó để chạy SQL * Plus với /nolog và sau đó connect khi đang chạy, vì vậy thông tin đăng nhập không được hiển thị trong ps đầu ra. Và tôi đã chuyển từ các tab tabs cũ đến user_tables phổ biến hơn .

Các heredocs lồng nhau hoạt động nhưng không cần thiết; các lệnh SQL đã được nhập vào đúng nơi và sẽ được SQL * Plus nhìn thấy chứ không phải là trình bao từ xa.

Tất nhiên, vì tôi không biết bạn thực sự thấy lỗi gì nên phần lớn chỉ là suy đoán. Có lẽ sẽ đơn giản hơn nếu cài đặt ứng dụng khách cục bộ và sử dụng kết nối SQL * Net thay vì SSH, nhưng có thể có những hạn chế về tường lửa mà chúng tôi không biết.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xóa tiêu đề trong Oracle spool

  2. Có nhà điều hành Oracle nào tốt hơn để thực hiện kiểm tra bình đẳng null-safe không?

  3. Thủ tục Tràn bộ đệm

  4. Phép trừ ngày trong Oracle

  5. Có thể truyền các đối tượng vào thủ tục gói PL SQL dưới dạng tham số không?