1、用sqlplus执行
spool empxls
select from emp;
spool off即可
2、实例
#!/bin/sh
#!/bin/bash
today=`date +%Y%m%d`
file=emp_${today}xls
sqlplus 'scott/tigger' << EOF
set linesize 200
set head off
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 from emp;
spool off
quit;
EOF
#处理一下文件头
sed -i '/select/d' $file
sed -i '/spool/d' $file
我用的是redhat
linux,用下面的步骤来启动oracle数据库。
首先使用oracle用户登录linux,然后在shell命令行中执行下面的命令:
第一步:打开oracle监听
$
lsnrctl
start
第二步:进入sqlplus
$
sqlplus
/nolog
sql>
第三步:使用sysdab角色登录sqlplus
sql>
conn
/as
sysdba
第四步:启动数据库
sql>
startup
经过上面的四个步骤,oracle数据库就可以启动了。
兄弟,不是damp文件,是dmp文件吧
开始-运行-cmd
exp 数据库用户/密码@数据库连接串 tables=(table01) file=c:\xx\table01dmp
然后回车
#!/bin/sh
sqlplus abc/passwd << EOF
set linesize 500;
set pagesize 10000;
spool outputtxt
call a1();
call a2();
call a3();
commit;
spool off
quit;
EOF
大概就是这个方式。
需要修改一下oracle用户密码,如果存储过程有参数还需要修改调用的地方。
使用sqlplus连接oracle11g数据库步骤如下所示:
方法一:
1、找到sqlplus,在开始菜单你安装的oracle-》应用程序开发目录下面;
2、点击SQLPlus,d出cmd;
3、输入用户名,还有密码,密码后面加上@数据库实例名,登录成功后界面如下所示;
方法二:
在开始-》运行(快捷键win+r),输入cmd。d出的黑色框中输入:sqlplus用户名/密码@数据库实例名;
crontab里面的脚本,通常读取的是默认的环境变量,PATH里面不包含oracle数据库的路径。
解决方法
1如果有root权限可以这样来修改crontab:
1 su - user -c /path/yourscriptsh >/tmp/cronout
2在你的脚本中加上source /home/username/profile (如是csh 读取的$HOME/cshrc 或 $HOME/login)
#!/bin/bash
source /home/username/profile
以上就是关于求给个linux下oracle数据库导出的shell脚本全部的内容,包括:求给个linux下oracle数据库导出的shell脚本、怎么在linux中 *** 作oracle数据库、如何编写一个shell脚本,从oracle数据库一个表table01读取全部数据到指定xx目录下的table01.damp文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)