#!/bin/sh
echo "Please enter evaluate database username"
read eval_user
echo "Please enter evaluate database password"
read eval_pass
echo "Please enter the database name"
read db_name
LOGFILE=shell_log.txt
$ORACLE_HOME/bin/sqlplus -s /nolog <<-EOF>> ${LOGFILE}
connect $eval_user/[email protected]$db_name
WHENEVER OSERROR EXIT 9;
WHENEVER SQLERROR EXIT SQL.SQLCODE;
DBMS_OUTPUT.put_line('Connected to db');
EOF
if [ $? != 0 ]
then
echo "The upgrade script failed. Please refer to the log results.txt for more information"
echo "Error code $?"
exit 0;
fi
Tôi đang nhập các giá trị rác cố gắng buộc tập lệnh này thất bại. Nhưng, khó chịu, nó tiếp tục di chuyển về phía trước mà không có bất kỳ đề cập đến bất kỳ mã lỗi. Điều gì khác cần phải được thực hiện ở đây?Quản lý xử lý lỗi khi chạy sqlplus từ tập lệnh shell
Bạn đang chạy tài khoản người dùng OS nào? Tập lệnh cơ sở dữ liệu đăng nhập vào cơ sở dữ liệu nào? – APC
Tôi đã thử tập lệnh của bạn và tệp nhật ký đang ghi lại mã lỗi. Đây là lấy từ tệp nhật ký: 'ERROR: ORA-01017: tên người dùng/mật khẩu không hợp lệ; đăng nhập bị từ chối SP2-0734: không biết lệnh bắt đầu "DBMS_OUTPU ..." - phần còn lại của dòng bị bỏ qua.' – Incognito
Tôi biết, bạn đang nhận được gì trong tệp nhật ký khi bạn thực thi tập lệnh? – Incognito