⑴ 如何在shell腳本中嵌入Oracle資料庫操作
是不是要這樣腳本:
sqlplus-Ssystem/system<<EOF
setfeedbackoff
setheadingoff
setpagesize0
setlinesize200
setechooff
settermoutoff
spooltxt/fbfjmxb.txt
select*fromORD_PEO_TXNPCLWHERESUBSTR(TRIM(YJHM),1,1)='9'ANDTRUNC(CLDATE,'dd')=TRUNC(SYSDATE,'dd');
spooloff
exit;
EOF
既然能執行select語句,update,delete,執行過程和函數是沒有任何問題的。
⑵ 我想用SSH Secure Shell連接linux系統中得oracle資料庫,修改一些參數,但是進去後,我用su -oracle命令
你已經用root登錄了linux了嗎,如果已經進入linux了,使用命令
su - oracle
注意空格
或者你也可以直接使用oracle用戶連接ssh,不用再su了
⑶ 寫個shell腳本連接oracle資料庫查詢某表數據導出為txt文件,再發送到第三
1、簡單的單列
#!/bin/sh
sqlplus 'user001/12345678'<< EOF
set define off
set hea off
spool vip1.txt
select username from ACCOUNT where LEVEL=7;
spool off
quit;
EOF
sed -i 's/[ ]*//g' ~/vip1.txt
sed -i '/^$/d' ~/vip1.txt
sed -i '1d' ~/vip1.txt
sed -i '$d' ~/vip1.txt
scp -P22 ~/vip1.txt [email protected]:/root
2、復雜的多列
#!/bin/sh
cid=$1;
today=` +%Y-%m-%d-%H.%M`
ym=`date +%Y%m`
ymd=`date -d -1days +%Y%m%d`
last_ym=`date -d last-month +%Y%m`
next_ym=`date -d next-month +%Y%m`
file=chat_recorder_${cid}_20140707-11.xls
if [[ $1 == '' ]];then
echo "Usage: $0 company_id "
exit 0;
fi
sqlplus 'user002/12345678' << EOF
set linesize 200
set term off verify off feedback off pagesize 999
set markup html on entmap ON spool on preformat off
alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
spool ${file}
select a.*,b.* from recorder_${ym} a,t_${ym} b where a.company_id='$cid' and a.create_time between TO_DATE('2014-07-07 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and TO_DATE('2014-07-12 00:00:00', 'YYYY-MM-DD HH24:MI:SS') and a.chat_id=b.chat_id order by b.chat_id ;
spool off
quit;
EOF
sed -i '/select/d' $file
zip -r ${file}.zip $file
scp -P22 ${file}.zip [email protected]:/opt
⑷ 怎麼樣用shell做一個連接oracle資料庫的腳本
shell中直接調用sqlplus即可
sqlplus -s 用戶名/口令@實例名<<EOF
⑸ LINUX怎麼遠程連接ORACLE資料庫
在防火牆開通的復前提下:
1.簡便連接制:
sqlplus username/password@hostname:port/service_name
hotname:B的hostname或IP,port,監聽程序的埠,例如1521
service_name:通常為資料庫名
例如在A電腦上:sqlplus hr/[email protected]:1521/orcl
2.本地命名:
在A電腦上配置tnsnames.ora文件
<oracle_home>/network/admin/tnsname.ora
oracle_home:安裝客戶端時指定的oracle_home
可以在網路一下tnsnames.ora文件的配置格式。
⑹ xshell登陸遠程可以導出遠程的oracle資料庫么
可以,但是如果xshell中斷連接,那麼導出也會中斷。建議把導出寫成個shell腳本。使用nohup命令使其後台執行。
⑺ xshell連接不上oracle資料庫中的用戶
使用sqlplus連接oracle11g資料庫步驟如下所示:
方法一:
1、找到sqlplus,在開始菜單你安裝的oracle-》應用程序開發目錄下面;
2、點擊SQLPlus,彈出cmd;
3、輸入用戶名,還有密碼,密碼後面加上@資料庫實例名,登錄成功後界面如下所示;
方法二:
在開始-》運行(快捷鍵win+r),輸入cmd。彈出的黑色框中輸入:sqlplus用戶名/密碼@資料庫實例名;
⑻ shell腳本計劃任務里無法入oracle資料庫,求助!
crontab裡面的腳本,通常讀取的是默認的環境變數,PATH裡面不包含oracle資料庫的路徑。
解決方法
1.如果有root許可權可以這樣來修改crontab:
* 1 * * * su - user -c /path/yourscript.sh >/tmp/cron.out
2.在你的腳本中加上source /home/username/.profile (如是csh 讀取的$HOME/.cshrc 或 $HOME/.login)
#!/bin/bash
source /home/username/.profile
...
⑼ shell腳本如何連接遠程資料庫
連Oracle資料庫,用:sqlplus -s usr/pwd@mylink @my.sql