记录一下window服务器备份数据库流程:
1、首先创建一个txt,复制下面代码,修改后缀为bat
@echo off
echo ================================================
echo Windows环境下Oracle数据库的自动备份脚本
echo 1. 使用当前日期命名备份文件。
echo 2. 自动删除3天前的备份。
echo ================================================
echo 以“YYYYMMDD”格式取出当前时间。
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
echo 设置用户名、密码和要备份的数据库
set USER=username
set PASSWORD=password
set DATABASE=ip:1521/orcl
echo 创建备份目录
if not exist "F:\backup\data" mkdir F:\backup\data
if not exist "F:\backup\log" mkdir F:\backup\log
set DATADIR=F:\backup\data
set LOGDIR=F:\backup\log
exp %USER%/%PASSWORD%@%DATABASE% file=%DATADIR%\data_%BACKUPDATE%.dmp log=%LOGDIR%\log_%BACKUPDATE%.log
echo 删除3天前的备份。
forfiles /p "%DATADIR%" /s /m *.* /d -3 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -3 /c "cmd /c del @path"
exit
2、执行就可以进行数据库备份。
3、linux备份
#!/bin/bash
BK=`date +%Y%m%d_%H%M`
EBK=/home/oracle/db_backup
cd $EBK
export ORACLE_SID=orcl #对应自己数据库sid
export ORACLE_BASE=/u01/app/oracle #数据库文件夹路径
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
expdp test/password schemas=test dumpfile=test_$BK.dmp logfile=test_$BK.log directory=DB_BACKUP PARALLEL=1 CLUSTER=NO
find /home/oracle/db_backup -name "test**" -mtime +7 -exec rm -rf {} \;
4、修改oracle默认监听端口
(1)、关闭监听 lsnrctl stop
(2)、修改监听配置文件,/oracle_home/dbhome_1/network/admin 下面的 listener.ora,将里面的tcp对应端口1521改成自己端口6324;
(3)、管理员登录进数据库 sqlplus / as sysdba
执行 alter system set local_listener="(ADDRESS = (PROTOCOL = TCP)(HOST = oracleHost)(PORT = 6324))";
对应listener.ora里面的刚才修改的那部分
(5)、启动监听 lsnrctl start
(6)、查看端口是否被监听 netstat -ano|grep 6324