当前位置:首页 » 服务存储 » oracle存储过程备份语句
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

oracle存储过程备份语句

发布时间: 2022-10-17 10:27:37

⑴ oracle数据库备份语句

这是一个例子你可以仿照这个写 E:\Work\oracle\BIN\exp.exe file=F:\BackUp\rlpj

⑵ 如何备份oracle存储过程

拷贝出来粘贴到一个文本文件
然后
create PROCEDURE 新存储过程名
下边的内容不变




就行了

是的,直接出来就行,也可以起个别名备份到数据库上,也不是很麻烦

⑶ 如何使用PL/sql来做oracle数据库的备份

使用PL/SQL Developer登录你需要备份的数据库;

2

选择工具->导出用户对象;

3

在对象列表中选择需要备份的对象,再选择一个sql类型的输出文件,点击【导出】,这只是导出数据结构;

4

选择工具->导出表;

5

在列表中选择需要导出数据的表,再选择【SQL插入】,选择一个sql类型的文件,点击【导出】,这一步是把数据导出数据库。

6

这样就得到两个sql,分别是备份数据结构和备份数据的。

⑷ oracle 数据库备份语句

EXP 毕竟也需要连接到数据库,也就是需要提供用户名,密码,所以你说的数据库模式导出,是无法正常实现的。但是使用DBA用户登陆,可以实现导出整个数据库的类似功能。
数据库模式:
EXP SYSTEM/PASSWD@ORACLE FULL = Y FILE = 'DB081222.DMP' LOG = 'DB081222.LOG'
用户模式:
EXP USER/PASSWD@ORACLE FILE = 'USER081222.DMP' LOG = 'USER081222.LOG'
表模式:
EXP USER/PASSWD@ORACLE FILE = 'USER081222.DMP' LOG = 'USER081222.LOG' TABLES = ('TABLE_1','TABLE_2')

IMP 语句只要把上面3个语句中的 'EXP' 换成 'IMP' 就行了
如果还有不明白的,可以在命令行中输入EXP -HELP 或者 IMP -HELP 查看帮助!

⑸ oracle 通过sql语句备份数据库

oracle没有sql语句备份,只有exp导出或者RMAN备份,都不是sql,RMAN是标准的数据块备份,前提要求是数据库一定要开启归档,然后才可以进行RMAN备份,这个方法对数据量大的数据库可以使用,速度会比较快,具体方法可以从网上查,不是很难,但比较繁琐,还有一个exp导出,这个是直接将数据库内的表直接导出城dmp文件,具体的语法是
exp
user/password@DBSID
file=D:\备份目标文件夹\文件名.dmp
log=D:\备份目标文件夹\文件名.log
owner=用户名
上述语句是需要在cmd命令行下执行的,如果想导出哪个用户就可以导出哪个用户,只要能用sql语句连接到数据库就可以使用,不管在哪个机器

⑹ 写出Oracle 11g和SQL Server 2008 ent中备份数据库的ddl语句

ORACLE获取DDL的几种常用方法
转自CSDN (原作 brucelau)

一、通过toad、plsql develop等第三方工具进行导出DLL操作,用这种办法的好处在于操作简单方便,但需要安装,下面简单介绍一下用这两个工具获得DLL语句的操作。

1、Toad 工具 (可以到www.quest.com网站上下载)
a、启动toad,连接目标数据库
b、点击DBA->Generate Schema Script,通过操作界面,选择相应的Schema,当然可以通过其他的几个tab页面选择相应的条件,点击Execute按钮。

2、plsql develop 工具
a、启动plsql develop,连接目标数据库
b、点击Tools->Export Tables,选择相应的内容,然后点击Export按钮,其实这些工具也是调用Oracle的Exp工具而已,如果你没有指定文件目录,文件会出现在plsql develop软件的安装目录下。

二、通过EXP/IMP工具
Oracle提供的最原始最实用的导入导出工具,我们大体上可以分为三种办法实现导出DDL。

1、通过imp指定indexfile参数,但这种办法不爽在于有每行前会有REM
exp userid=... tables=emp rows=n file=emp.dmp
imp userid=... file=emp.dmp indexfile=emp.sql

2、 通过imp指定show=y,同时指定log参数,格式上也不是很好
exp userid=... tables=emp rows=n file= emp.dmp
imp userid=... file= emp.dmp show=y log=emp.sql

3、利用unix下有strings命令(这种方法比较野蛮):
exp userid=... tables=tab1 rows=n file=tab1.dmp
strings emp.dmp >emp.sql
emp.sql中就有DLL语句了

三、通过9i的DBMS_METADATA包得到DLL语句
基本上用到的语法如下:
set echo off
set feedback off
set heading off
set verify off

set newpage none
set linesize 999
set pagesize 0

set term off
set trims off
set trimspool on
set trimout off
set timing off

set long 90000 REM 必需

1、获取单个的建表和建索引的语法
spool DEPT.sql
select dbms_metadata.get_ddl('TABLE','DEPT','SCOTT') from al;
select dbms_metadata.get_ddl('INDEX','DEPT_IDX','SCOTT') from al;
spool off;

2、获取一个SCHEMA下的所有建表和建索引的语法,以scott为例:
spool scott_schema.sql
SELECT DBMS_METADATA.GET_DDL('TABLE',table_name) FROM USER_TABLES;
SELECT DBMS_METADATA.GET_DDL('INDEX',index_name) FROM USER_INDEXES;
spool off;

3、获取某个SCHEMA的建全部存储过程的语法
spool proceres.sql
select DBMS_METADATA.GET_DDL('PROCEDURE',object_name) from user_objects where object_type = 'PROCEDURE' AND status='VALID';
spool off;

4、获取某个SCHEMA的建全部视图/的语法
spool proceres.sql
select DBMS_METADATA.GET_DDL('VIEW',object_name) from user_objects
where object_type = 'VIEW' AND status='VALID';
spool off;

注:PACKAGE 也同样适用,格式不是很好;

⑺ oracle 通过job数据备份的存储过程谁帮忙讲解一下都什么意思。

CREATE OR REPLACE PROCEDURE P_BACKUP_SQL AS -- 创建存储过程
V_INPUT VARCHAR2(32767); --说明:这三行BEGIN前的是声明变量
V_OUTPUT VARCHAR2(32767);
V_OUT NUMBER;
BEGIN --将命令脚本保存到V_INPUT变量中
V_INPUT := 'RUN -- 运行。。
{ -- 下面三行是分配通道,类型是磁盘(如果是磁带则为type tape,format后是格式)
ALLOCATE CHANNEL C1 DEVICE TYPE DISK FORMAT ''/data/backup/member/%U'';
ALLOCATE CHANNEL C2 DEVICE TYPE DISK FORMAT ''/data/backup/member/%U'';
ALLOCATE CHANNEL C3 DEVICE TYPE DISK FORMAT ''/data/backup/member/%U'';
BACKUP DATABASE; --备份数据库
}'; --脚本结束,以上内容保存在V_INPUT变量中
DBMS_PIPE.PACK_MESSAGE(V_INPUT); -- 调用DBMS_PIPE包管道通信,将V_INPUT中命令压入管道消息(队列)中
V_OUT := DBMS_PIPE.SEND_MESSAGE('ORA$RMAN_PJOB_IN'); --调用SEND_MESSAGE的ORA$RMAN_PJOB_IN是变量,将刚压入的传送给管道并执行ORA$RMAN_PJOB_IN中变量,消息传送的结果保存到V_OUT变量中
COMMIT;
V_OUT := 0; -- V_OUT变量赋值为0

WHILE (V_OUT = 0) LOOP -- 当V_OUT为0时执行循环
V_OUT := DBMS_PIPE.RECEIVE_MESSAGE('ORA$RMAN_PJOB_OUT', 3600); -- 接收管道命令的消息,接收结果保存到V_OUT中
IF V_OUT = 0 THEN
DBMS_PIPE.UNPACK_MESSAGE(V_OUTPUT); -- 释放管道命令的消息,结果保存到V_OUTPUT
INSERT INTO BACKUP_LOG (END_DATE, OUTPUT_LOG) VALUES (SYSDATE, SUBSTRB(V_OUTPUT, 1, 4000)); -- 将管道命令结果保存到BACKUP_LOG表中
END IF;
END LOOP;
COMMIT;
END;

⑻ oracle 存储过程备份整个数据库

exp username/password@dbname file=d:\db.dmp log=d:\db.log
username和password 是你的用户名和密码
dbname是你要备份的数据库名
file后是你备份的文件存放的路径 db.dmp是备份获得的数据库文件
db.log是日志文件

如果你要备份的数据库很大的话还有另一个方法就是使用sqluldr2工具导出数据库,不过这个稍微麻烦一些,如果还有疑问,再问吧

⑼ 如何备份oracle的存储过程

拷贝出来粘贴到一个文本文件
然后
create
PROCEDURE

存储过程

下边的内容不变



就行了
是的,直接出来就行,也可以起个别名备份到数据库上,也不是很麻烦

⑽ oracle自动备份语句

自己的备份语句,拿来分享一下

SET hour=%time:~0,2%
SET hour=%hour: =%
SET DATE=%date:~0,10%_%hour%_%time:~3,2%_%time:~6,2%
SET ZIP_CMD=e:\backup_command\7-zip\7z.exe
SET BACKUP_ROOT=E:\databackup
SET USER=%1
SET PASSWORD=%2
mkdir %BACKUP_ROOT%\%USER%_%DATE%

exp USERID=%USER%/%PASSWORD%@orcl file=%BACKUP_ROOT%\%USER%_%DATE%\oracle_%REPO_NAME%-%USER%-%date%.dmp OWNER=(%USER%) DIRECT=Y BUFFER=1024

%ZIP_CMD% a -tzip %BACKUP_ROOT%\%USER%_%DATE%.zip %BACKUP_ROOT%\%USER%_%DATE%
del %BACKUP_ROOT%\%USER%_%DATE%/Q /S
move %BACKUP_ROOT%\%USER%_%DATE%.zip %BACKUP_ROOT%\%USER%_%DATE%

exit

把语句存为批处理,有两个参数,%1和%2,分别是用户名和密码