oracle定时备份
未实验
ORACLE数据库自带的DBMS_JOB功能可以实现定时执行PL/SQL的存储过程,但是如果SQL语句很复杂,
SQL语句很多,以及经常要改变SQL语句的写法,用写PL/SQL存储过程的方法再定时执行会比较繁琐。何
况还有一些UNIX系统管理员不会写PL/SQL存储过程,所以我介绍一个简单的shell程序可以在安装了
ORACLE SERVER或CLIENT的UNIX机器上实现定时执行一个*.sql文件。
首先我们在安装了ORACLE SERVER或CLIENT的UNIX机器上连接目的数据库:
$sqlplus username/password@servie_name
如果能够成功进入
SQL>;
状态,并执行简单的SQL语句
SQL>; SELECT SYSDATE from DUAL;
表明连接成功。
否则检查/$ORACLE_HOME/network/admin/tnsnames.ora 里servie_name是否正确定义
/etc/hostname 里是否包含目的数据库的主机名
等等......(其它的网络检查就不在这里详细列举了)
接着在scott用户下运行测试的SQL语句:scott_select.sql
SQL>; SELECT D.DNAME,E.ENAME,E.JOB,E.HIREDATE
from EMP E,DEPT D
WHERE TO_CHAR(E.HIREDATE,'YYYY')='1981' AND E.DEPTNO=D.DEPTNO;
然后在目录/oracle_backup/
相关文档:
备份的方法
ORACLE数据库有三种标准的备份。导出/导入(EXPORT/IMPORT) 、冷备份、热备份。
导出备份是一种逻辑备份,这种方法包括读取一系列的数据库日志,并写入文件中,这些日志的读取与其所处位置无关。
冷备份和热备份是物理备份(也称低级备份),它涉及到 ......
Oracle数据库只是一些文件组成,Oracle实例是指有自己的系统全局区和相关数据库文件的Oracle服务器进程集。新装的Oracle数据库管理系统有一个预装的数据库(通常叫ORCL),同时会启动一个实例,以后的数据库连接,都默认是通过这个实例连接到该数据库。
可以新建数据库, ......
record示例:
create or replace procedure pro_test_record(vid in varchar2) is
type userRow is record(
id t_user.id%type,
name t_user.name%type
);
realRow userRow;
begin
select id,name into realRow from t_user where id=vid;
dbms_output.put_line(realRow.id||','||realRow.name);
end pro_test_re ......
先建了张测试表
SQL> select * from test_a;
ID PLAYNAME SCORE
-------------------- --- ......