#/bin/sh
#创建脚本目录
mkdir -pv /home/oracle/expdp_script
CMDS="
export ORACLE_HOME=$ORACLE_HOME
export ORACLE_SID=$ORACLE_SID
echo
echo ----- SUBSHELL ENV VARIABLES -----
echo
env | sort | egrep '^ORACLE_|^NB_ORA_|^RMAN_|^BACKUP_|^TNS_'
echo
$ENV_COMMANDS
echo ----- STARTING SQL EXECUTION -----
echo
sqlplus / as sysdba"
#创建备份目录
echo ====== 1. create OS DIR and expdp directory ======
CREATE_DIR=" <<\EOF
create or replace directory NEW_BACKUP as '/home/oracle/new_backup';
grant read,write on directory NEW_BACKUP to system;
exit
EOF
"
#创建用于备份的 OS 目录
mkdir -pv /home/oracle/new_backup
#执行创建目录语句
/bin/sh -c "$CMDS $CREATE_DIR"
echo ====== 1. create OS DIR and expdp directory done ======
echo ====== 2. create profile ======
EXEC_PRO=" <<\EOF
@/home/oracle/expdp_script/7.exec_profile.sql
exit
EOF
"
#执行创建 profile 脚本 /home/oracle/expdp_script/7.exec_profile.sql
/bin/sh -c "$CMDS $EXEC_PRO"
echo ====== 2. create profile done ======
#设置 USER 以及 TEMP 表空间自动扩展
echo ====== 3. extent tablespace USER and TEMP ======
#获取语句写入 /home/oracle/expdp_script/extent_tablespace.sql
cat > /home/oracle/expdp_script/extent_tablespace.sql << \EOF
set linesize 200;
set pagesize 100;
spool /home/oracle/expdp_script/extent_SQL.sql
select 'alter database datafile '||file_id||' autoextend on;' as "SQL"
from dba_data_files where tablespace_name='USERS';
评论