oracleshell脚本
1. 求一份shell脚本,需求是:从Oracle数据库中提取一个表中的数据输出到文件,并且每条记录一行;
应用spool命令,大量数据汇出很方便,脚本内容大致如下:
--============================================
#!/bin/sh
#第一步
sqlplus -s 用户名/密码@服务名<<EOF
spool customers.sql --输出文件路径及名称
set trimspool on
set linesize 8000
set pagesize 50000
set newpage 1
set heading off
set term off
set feedback off
set sqlblankline off
SELECT A || '|+|' || --字段A
B || '|+|' || --字段B
C || '|+|' || --字段C
D || '|+|' || --字段D
E || '|+|' || --字段E
F || '|+|' || --字段F
G || '|+|' || --字段G
TO_CHAR(H,'YYYYMMDD HH:MM:SS') || '|+|' --字段H,可以使用函数
FROM CUSTOMERS;--表名
spool off
exit
EOF
--=======================
其中'|+|'为分隔符,也可以换成你说的逗号,即','。调用该脚本后,在根目录下生成customers.sql文件。
2. 如何定制oracle用户下的shell脚本自动运行
多样性应该是Linux最好的特性之一,用户可以不断尝试各种喜欢和新鲜玩法与花样,并从中找出最适合自己的应用
无论你是Linux新人还是老鸟,层出不穷的应用和桌面环境可能都会让我们应接不暇,特别是尝试不同的Linux桌面环境,可以说是一项非常耗时和累人的任务
在此,咱系统极客对目前应用最为广泛的7款Linux桌面环境进行盘点,并对其优缺点进行比较,希望对各位选择或者进行各种折腾有所帮助
声明:我们只是对目前应用最为广泛的7款Linux桌面环境进行盘点小节,排名无分先后
KDEKDE绝非只是一个桌面环境,实际上是各种应用程序与Linux桌面的一个集合,桌面环境本身只作为该套应用环境的一个子集
目前最新的KDE环境名叫Plasma,它又分为PlasmaDesktop和PlasmaNetbook两个版本,KDE可以说是目前定制性最强,最为灵活的Linux桌面环境之一
其它桌面环境可能需要使用额外的工具才能进行自定义或调整,而KDE将这一切都集成进了系统设置当中,用户不需要使用任何第三方工具即可以对桌面进行个性化订制,如下载桌面小工具、壁纸和主题等
KDE还对常用的基本应用程序进行了集成,并对未使用KDE开发平台构建的应用进行兼容,KDE集成的应用非常丰富,完全能够满足普通用户的日常应用,而无需安装其它替代应用
无论你只是想要一个开箱即用的Linux桌面环境还是要对桌面进行全面的个性化订制,KDE都是一个非常不错的选择
目前采用KDE作为默认桌面环境的Linux发行版主要有openSUSE和Kubuntu
KDE优点:功能十分丰富强大高度可定制性和灵活性范围广泛的软件兼容性KDE缺点:稍重的资源占用某些组件使用起来似乎过于复杂MATEMATE桌面环境基于目前无人维护的GNOME2,MATE最初就是为对GNOME3失望的用户而开发
ForkGNOME2的代码进行氏清纳开发并不意味着就使用过时的技术,MATE将继续使用现代技术进行改善
MATE桌面环境采用了现代而又不失传统的桌面体验,它支持面板系统、各种菜单、小程序、指示器和按钮等,并可按用户的需要进行布置
MATE自带的基本应用都从GNOME2复制过来进行集成,它本身对资源的消耗非常小,能够在不十分强劲的硬件平台上稳定工作
UbuntuMATE目前采用MATE作为自己的默认桌面环境
MATE优点:直观和稳定的用户体验简单、轻便高度可定制MATE缺点:接口看起来有些老了GNOMEGNOME是各Linux发行版采用最为广泛、最流行的桌面环境之一,许多Linux发行版都使用GNOME作为默认桌面环境
它也有一些流行的分支,例如Cinnamon、Unity等等
GNOME以易于使用和定制为设计初衷,目前果最新的GNOME3具有非常现代和有吸引力的用户界面,并能为触摸设备提供更好的支持
GNOME几乎包含了所有现代化桌面环境需要的所有功能,GNOME3比GNOME2的精典模式提供了更好的界面,仪表板、全系统搜索和强大的应用程序都能够直接轻松搞定用户使用需求
不过桌面环境的定制调整需要使用gnome-tweak-tool工具来完成,在3
18版本中它还了文件管理器的一些有趣功能,例如对GoogleDrive进行了集成
目前使用GNOME作为默认桌面环境的Linux发行版主要有Debian、Fedora、openSUSE和UbuntuGNOME
GNOME优点:现代和触摸友好的用户界面能够通过Shell扩展延伸功能可定制性强GNOME缺点:扩展管歼没理不尽如人意CINNAMONCinnamon是GNOME3的一个分支,目前正作为LinuxMint的默认桌面环境
它最出名的便是与Windows相似的用户界面,可以帮助Linux入门用户轻松上手并减低不适应度
Cinnamon集成的各种基本应用都源于GNOME3,Cinnamon集成了面板、主题、小应用程序和各种自定义组件扩展,面板位置屏幕底部边缘,配备了主菜单、启用程序、打开窗口列表及系统托盘等
Cinnamon优点:时尚精致的外观熟悉的界面非常漂亮的定制Cinnamon缺点:偶尔出现的BugUNITYUnity也是基于GNOME桌面环境开发而来,配备有最核心的GNOME应用正基程序
Unity主要用于Canonical开发的Ubuntu桌面环境
Unity主攻方向为使用键盘、鼠标、触控板甚至触摸屏的用户提供一致一用户体验,为用户提供了简单的应用程序并集成了触控友好的使用环境,还实现了一些新的想法和技术,如Lens和HUD等
尽管针对Unity桌面环境有大量的争论,但它还是有非常大量的用户,这都归功于它是目前最流行Linux发行版Ubuntu的默认桌面环境
3. 怎样在shell脚本中嵌入Oracle数据库操作
在shell里面执行sqlplus,大致如下
sqlplus username/password@sid << EOF >> xxxx.log
select field_name from table_name where ....;
exit;
EOF
然后从输出log里面分析出你要的值
4. shell脚本语言如何和oracle结合在一起使用
如果是通过shell脚本运行Oracle的sql语句,可以这样写shell脚本:
echo “Oracle SQL Example"
sqlplus / as sysdba <<EOF
select * from scott.emp;
EOF
也就是把sql语句写到shell脚本的EOF之间。
5. oracle form怎么跨服务器调用shell脚本
我有一个思兄困路如下:
你可以在本地写一个shell脚本,用SHELL脚本去调用远端服务器上的shell,
然后在FORM里调用本地这个shell
需要注意的是脚本权限和路径
给你提供一个SHELL范本
#!/bin/bash
#变量定义
ip_array=("192.168.1.1""192.168.1.2""192.168.1.3")
user="test1"
remote_cmd="/home/test/1.sh"#远端shell脚本路径
#本地通过歼尘渣ssh执行远程服务器的脚本
foripin${ip_array[*]}
do
if[$ip="192.168.1.1"氏悄];then
port="777"
else
port="22"
fi
ssh-t-p$port$user@$ip"remote_cmd"#ssh远端执行shell
done
6. 如何在oracle中执行shell脚本
要在sql下面执行shell语句,用!符号,不过功能有限;有的时候打不到我们想要的效果!先给你两个实例;
要在后台登陆;plsql中测试不行
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Proction
With the Partitioning, Data Mining and Real Application Testing options
SQL> !echo 123;
123
SQL> !/billing/user/xufc/ftp.sh
Local directory now /billing/Balance/SP/REALINCOME/FTRANS
Interactive mode off.
-rw-r--r-- 1 500 500 823038 Feb 17 06:27 .gz
-rw-r--r-- 1 500 500 33 Feb 17 06:27 .md5
其中ftp.sh需要用绝对路径;该脚本里面的内容只是ls一下;就这样了
7. 怎么样用shell做一个连接oracle数据库的脚本
shell中直接调用sqlplus即可
sqlplus -s 用户名/口令@实例名<<EOF
8. oracle存储过程中调用一个shell脚本,用于进行一些操作,已经赋权限,但是执行不了
shell的环境变量问题,你在shell内部的变量是获取不到外部执行结果的。
9. 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
...
10. 如何在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');
spool磨亮off
exit;
EOF
既然能执行select语句,update,delete,执行过程和函数是没有脊源任何问题的。