728x90

dbca -silent -generateScripts -templateName /oracle/app/oracle/product/19.3.0/assistants/dbca/templates/New_Database.dbt -gdbName orcl -sid orcl -characterSet AL32UTF8 -scriptDest /home/oracle/script

728x90

'ORACLE' 카테고리의 다른 글

[ORACLE] INS-08101  (0) 2022.05.23
[ORACLE] RAC 수동 삭제 (rm)  (0) 2022.05.23
[ORACLE] 공통계정 생성 시 c## 제거 설정  (0) 2022.05.11
[ORACLE] LOB 생성, 조회  (0) 2022.05.11
[ORACLE] 특정 스키마의 PK, UK 없는 table 조회  (0) 2022.05.11
728x90
## START script
vi ora_start.sh
#!/bin/ksh
su - oracle << EOF
lsnrctl start listener
exit
EOF
su - oracle << EOF
export ORACLE_SID=PHARMS
sqlplus "/as sysdba" << EOF
startup
exit
EOF
 
## STOP  script
vi ora_stop.sh
#!/bin/ksh
su - oracle << EOF
lsnrctl stop listener
EOF
su - oracle << EOF
export ORACLE_SID=PHARMS
sqlplus "/as sysdba" << EOF
shutdown immediate
exit
EOF
-- 확인
# ps -ef | grep pmon
oracle    5094     1  0 01:34 ?        00:00:00 ora_pmon_ABCD
root      5165  2722  0 01:34 pts/1    00:00:00 grep pmon
 
# ps -ef | grep tns
root        29     2  0 Nov11 ?        00:00:00 [netns]
oracle    5068     1  0 01:34 ?        00:00:00 /u01/base/product/11.2.0.4/bin/tnslsnr listener -inherit
root      5167  2722  0 01:34 pts/1    00:00:00 grep tns

 

728x90

'ORACLE' 카테고리의 다른 글

[ORACLE] SE to EE 버전업 테스트  (1) 2022.05.11
[ORACLE] Archive log format  (0) 2022.05.11
[ORACLE] DB_NAME 변경  (0) 2022.05.11
[ORACLE] RMAN-03009, ORA-00245  (0) 2022.03.07
[ORACLE] INCREMENTAL BACKUP (Crontab)  (0) 2022.03.07
728x90
-- full backup
#!/bin/sh
CUSER=`id |cut -d"(" -f2 | cut -d ")" -f1`
 
#RMAN_LOG_FILE=${0}.out
RMAN_LOG_FILE=/RMAN/log/fullbackup.`/bin/date +%Y%m%d_%H%M%S`.log
find /RMAN/log/* -mtime +40 -exec rm -f {} \;
 
if [ -f "$RMAN_LOG_FILE" ]
then
    rm -f "$RMAN_LOG_FILE"
fi
 
echo >> $RMAN_LOG_FILE
chmod 666 $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== started on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
ORACLE_HOME=/oracle/base/product/19
export ORACLE_HOME
ORACLE_SID=orcl1
export ORACLE_SID
ORACLE_USER=oracle
TARGET_CONNECT_STR=sys/oracle
RMAN=$ORACLE_HOME/bin/rman
 
echo >> $RMAN_LOG_FILE
echo   "RMAN: $RMAN" >> $RMAN_LOG_FILE
echo   "ORACLE_SID: $ORACLE_SID" >> $RMAN_LOG_FILE
echo   "ORACLE_USER: $ORACLE_USER" >> $RMAN_LOG_FILE
echo   "ORACLE_HOME: $ORACLE_HOME" >> $RMAN_LOG_FILE
echo "Full backup requested" >> $RMAN_LOG_FILE
 
CMD_STR="
ORACLE_HOME=$ORACLE_HOME
export ORACLE_HOME
ORACLE_SID=$ORACLE_SID
export ORACLE_SID
$RMAN target $TARGET_CONNECT_STR nocatalog msglog $RMAN_LOG_FILE append << EOF
RUN {
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
BACKUP
    SKIP INACCESSIBLE
    TAG full_level0
    FILESPERSET 5
    FORMAT '/RMAN/backup/bk_%s_%p_%t'
    INCREMENTAL LEVEL 0
DATABASE;
sql 'alter system archive log current';
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
 
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
#CONFIGURE CHANNEL 1 DE
BACKUP
    filesperset 20
    FORMAT '/RMAN/backup/al_%s_%p_%t'
    ARCHIVELOG ALL DELETE INPUT;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
 
 
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
BACKUP
    FORMAT '/RMAN/backup/control_%s_%p_%t'
    CURRENT CONTROLFILE;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
}
exit
EOF
"
# Initiate the command string
if [ "$CUSER" = "root" ]
then
    su - $ORACLE_USER -c "$CMD_STR" >> $RMAN_LOG_FILE
    RSTAT=$?
else
    /usr/bin/sh -c "$CMD_STR" >> $RMAN_LOG_FILE
    RSTAT=$?
fi
if [ "$RSTAT" = "0" ]
then
    LOGMSG="ended successfully"
else
    LOGMSG="ended in error"
fi
echo >> $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== $LOGMSG on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
exit $RSTAT
-- cumulative backup
#!/bin/sh
CUSER=`id |cut -d"(" -f2 | cut -d ")" -f1`
 
#RMAN_LOG_FILE=${0}.out
RMAN_LOG_FILE=/RMAN/log/cumu_incre.`/bin/date +%Y%m%d_%H%M%S`.log
find /RMAN/log/* -mtime +40 -exec rm -f {} \;
 
if [ -f "$RMAN_LOG_FILE" ]
then
    rm -f "$RMAN_LOG_FILE"
fi
 
echo >> $RMAN_LOG_FILE
chmod 666 $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== started on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
ORACLE_HOME=/oracle/base/product/19
export ORACLE_HOME
ORACLE_SID=orcl1
export ORACLE_SID
ORACLE_USER=oracle
TARGET_CONNECT_STR=sys/oracle
RMAN=$ORACLE_HOME/bin/rman
 
echo >> $RMAN_LOG_FILE
echo   "RMAN: $RMAN" >> $RMAN_LOG_FILE
echo   "ORACLE_SID: $ORACLE_SID" >> $RMAN_LOG_FILE
echo   "ORACLE_USER: $ORACLE_USER" >> $RMAN_LOG_FILE
echo   "ORACLE_HOME: $ORACLE_HOME" >> $RMAN_LOG_FILE
echo "Full backup requested" >> $RMAN_LOG_FILE
 
CMD_STR="
ORACLE_HOME=$ORACLE_HOME
export ORACLE_HOME
ORACLE_SID=$ORACLE_SID
export ORACLE_SID
$RMAN target $TARGET_CONNECT_STR nocatalog msglog $RMAN_LOG_FILE append << EOF
RUN {
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
BACKUP
    SKIP INACCESSIBLE
    TAG cumu_incre_1
    FILESPERSET 5
    FORMAT '/RMAN/backup/bk_%s_%p_%t'
    INCREMENTAL LEVEL 1 CUMULATIVE
DATABASE;
sql 'alter system archive log current';
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
 
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
BACKUP
    filesperset 20
    FORMAT '/RMAN/backup/al_%s_%p_%t'
    ARCHIVELOG ALL DELETE INPUT;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
 
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
BACKUP
    FORMAT '/RMAN/backup/ctl_%s_%p_%t'
    CURRENT CONTROLFILE;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
}
exit
EOF
"
# Initiate the command string
if [ "$CUSER" = "root" ]
then
    su - $ORACLE_USER -c "$CMD_STR" >> $RMAN_LOG_FILE
    RSTAT=$?
else
    /usr/bin/sh -c "$CMD_STR" >> $RMAN_LOG_FILE
    RSTAT=$?
fi
if [ "$RSTAT" = "0" ]
then
    LOGMSG="ended successfully"
else
    LOGMSG="ended in error"
fi
echo >> $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== $LOGMSG on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
exit $RSTAT
-- incremental backup
#!/bin/sh
CUSER=`id |cut -d"(" -f2 | cut -d ")" -f1`
 
#RMAN_LOG_FILE=${0}.out
RMAN_LOG_FILE=/RMAN/log/incre.`/bin/date +%Y%m%d_%H%M%S`.log
find /RMAN/log/* -mtime +40 -exec rm -f {} \;
 
if [ -f "$RMAN_LOG_FILE" ]
then
    rm -f "$RMAN_LOG_FILE"
fi
 
echo >> $RMAN_LOG_FILE
chmod 666 $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== started on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
ORACLE_HOME=/oracle/base/product/19
export ORACLE_HOME
ORACLE_SID=orcl1
export ORACLE_SID
ORACLE_USER=oracle
TARGET_CONNECT_STR=sys/oracle
RMAN=$ORACLE_HOME/bin/rman
 
echo >> $RMAN_LOG_FILE
echo   "RMAN: $RMAN" >> $RMAN_LOG_FILE
echo   "ORACLE_SID: $ORACLE_SID" >> $RMAN_LOG_FILE
echo   "ORACLE_USER: $ORACLE_USER" >> $RMAN_LOG_FILE
echo   "ORACLE_HOME: $ORACLE_HOME" >> $RMAN_LOG_FILE
echo "Full backup requested" >> $RMAN_LOG_FILE
 
CMD_STR="
ORACLE_HOME=$ORACLE_HOME
export ORACLE_HOME
ORACLE_SID=$ORACLE_SID
export ORACLE_SID
$RMAN target $TARGET_CONNECT_STR nocatalog msglog $RMAN_LOG_FILE append << EOF
RUN {
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
BACKUP
    SKIP INACCESSIBLE
    TAG incre_2
    FILESPERSET 5
    FORMAT '/RMAN/backup/bk_%s_%p_%t'
    INCREMENTAL LEVEL 2
DATABASE;
sql 'alter system archive log current';
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
 
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
BACKUP
    filesperset 20
    FORMAT '/RMAN/backup/al_%s_%p_%t'
    ARCHIVELOG ALL DELETE INPUT;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
 
ALLOCATE CHANNEL ch00 TYPE DISK CONNECT='sys/oracle@orcl1';
ALLOCATE CHANNEL ch01 TYPE DISK CONNECT='sys/oracle@orcl2';
BACKUP
    FORMAT '/RMAN/backup/ctl_%s_%p_%t'
    CURRENT CONTROLFILE;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
}
exit
EOF
"
# Initiate the command string
if [ "$CUSER" = "root" ]
then
    su - $ORACLE_USER -c "$CMD_STR" >> $RMAN_LOG_FILE
    RSTAT=$?
else
    /usr/bin/sh -c "$CMD_STR" >> $RMAN_LOG_FILE
    RSTAT=$?
fi
if [ "$RSTAT" = "0" ]
then
    LOGMSG="ended successfully"
else
    LOGMSG="ended in error"
fi
echo >> $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== $LOGMSG on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE
exit $RSTAT
 

 

 

 

728x90

+ Recent posts