⑴ 如何在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