① shell脚本语言如何和oracle结合在一起使用
如果是通过shell脚本运行Oracle的sql语句,可以这样写shell脚本:
echo “Oracle SQL Example"
sqlplus / as sysdba <<EOF
select * from scott.emp;
EOF
也就是把sql语句写到shell脚本的EOF之间。
② linux oracle 数据库备份 密码带@
密码用双引号引起来。
scott/"xxx@123"@ORCL
③ shell脚本中实现对oralce数据库的操作
试一下,我没环境,不能帮你测试,有问题联系
在表名的文件中,增加表结构说明,格式如下:
field1,field2,field3,.....,fieldn
load_data()
{
TABNAME=$1
DATAFILE=$2
crt_ctlfile $TABNAME $DATAFILE
sqlldr $username/$password control=loader.ctl
if [ $? -ne 0 ]
then
echo "error load $TABNAME!"
exit -1
fi
}
crt_ctlfile()
{
echo "load data" > loader.ctl
echo "infile '$2'" >> loader.ctl
echo "into table $1" >> loader.ctl
echo "fields terminated by \"|\" optionally enclosed by '\"'" >> loader.ctl
echo "(" >> loader.ctl
cat tablelist/$1 >> loader.ctl
echo ")" >> loader.ctl
}
if [ $# -ne 2 ]
then
echo "usage: $0 username password"
exit
fi
username=$1
password=$2
tabname=`ls tablelist`
for tab in $tabname
do
if [ -z tablelist/$tab ]
then
echo "file : $tab is null, you need to add table field!"
else
datafile=$tab.unl
if [ -s ./data/$datafile ]
then
load_data $tab $datafile
else
echo "file : $datafile is null or not exists"
fi
fi
done
④ oracle用户的密码含有特殊字符,在shell脚本中如何实现sqlplus的连接操作
加个转义字符\: password="'\"qaz@qaz\"'"
⑤ linux shell脚本如何实现数据库密码的输入
mysql:./mysql -uroot -p'123456789'
还可以使用 shell 中的read函数 让执行者输入密码后在执行mysql
read -p "Enter DB PWD: "
echo “mysql -uroot -p'$REPLY'."
⑥ linux下编写以个shell脚本,实现对oracle数据库抽取指定条件的数据并且保存在一个文本文件中。
empno=100不存在的,改成有的数据了。
#!/bin/bash
result=$(sqlplus -s 'scott/tiger@dbname'<<EOF
spool test.txt
set pages 0
set feed off
set heading off;
set feedback off;
set verify off;
set linesize 1000;
SELECT * FROM scott.emp where empno=7369;
spool off
EOF
)
echo $result
~
~
~
~
~
~
~
~
~
"test.sh" 14L, 256C written
oracle@****:~> ./test.sh
7369 SMITH CLERK 7902 17-DEC-80 2240.06 20
oracle@****:~> more test.txt
7369 SMITH CLERK 7902 17-DEC-80 2240.06
20
⑦ 求大神给一个linux下oracle数据库导出的shell脚本
把下面的代码保存为服务器端的脚本,执行即可。
PS:需要自己替换一下双引号中的内容
#!/bin/sh
. $HOME/.bash_profile
export ORACLE_SID="你的数据库的SID"
CutDATE=`date '+%Y-%m%d-%H%M'`
DATE=`date -d '-2 day' '+%Y-%m%d'`
export NLS_LANG="你的字符集设定"
exp "具有权限的账号"/"密码" file=/home/oracle/2014/"你的数据库的SID"_$CutDATE.dmp log=/home/oracle/2014/"你的数据库的SID"_$CutDATE.log owner=user1,user2
⑧ shell脚本中如何加密变量(dbca静默创建oracle实例,-syspassword参数为明文密码,需加密)
openssl提供了多种加密算法,可以考虑将密码加密后密文写在配置文件