谁能帮我注释一下这个脚本?我是门外汉,另外脚本中的<<!是什么意思?
export PATH=.:/oracle/product/9.2.0/bin

PATH
export ORACLE_BASE=/oracle/product
export ORACLE_HOME=$ORACLE_BASE/9.2.0
export ORACLE_SID=sdpow
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export CLASSPATH=$ORACLE_HOME/JRE/lib

ORACLE_HOME/jlib

ORACLE_HOME/rdbms/jlib

ORACLE_HOME/network/jlib
export LDR_CNTRL=MAXDATA=0x50000000
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export TMPDIR=/tmp
dates=`date '+%Y%m%d%H'` #设置变量dates为系统当前时间
rman target / rcvcat rman/rman@rman log /oracle/rman_script/back_arch_$dates.log <<!
sql "alter system archive log current";
run
{
allocate channel c3 type 'sbt_tape' connect 'sys/s1d2p3@sdpow1' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
allocate channel c4 type 'sbt_tape' connect 'sys/s1d2p3@sdpow2' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
backup
format "arch_%d_%t_%s_%p"
filesperset 20
(archivelog all delete input);
release channel c3;
release channel c4; }
!