Oracle SQL*Plus 数据备份为 sql 文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle SQL*Plus 数据备份为 sql 文件相关的知识,希望对你有一定的参考价值。
在某些比较严格的环境中,不提供像PL/SQL Developer 这样的工具供我们备份表数据时,使用SQL*Plus运行如下脚本内容导出数据.
1, 执行时登录SQL*Plus, 命令 @D:/backup.sql
2, backup.sql 文件内容:
-- 备份权限表数据--
set echo off
set feedback off
set newpage none
set pagesize 5000
set linesize 500
set verify off
set pagesize 0
set term off
set trims on
set linesize 600
set heading off
set timing off
set verify off
set numwidth 38
SPOOL c:\xxx.sql -- 指定的导出文件路径
---------------------------具体要导出的sql---------可以写任意多条sql语句---------------------- -------------back base_permission----------------start--- select ‘insert into BASE_PERMISSION (permis_id, permis_code, permis_name, permis_url, permis_order, remark, permis_pid, belong, creator, gmt_create, modifier, gmt_modified, permis_type) values (‘ || b.permis_id ||‘,‘ || chr(39) || b.permis_code || chr(39) ||‘,‘|| chr(39) || b.permis_name || chr(39) ||‘,‘|| chr(39) || b.permis_url || chr(39) ||‘,‘ || b.permis_order ||‘,‘|| case when b.remark is null then ‘null‘ else chr(39) || b.remark || chr(39) end || ‘,‘ || b.permis_pid ||‘,‘|| case when b.belong is null then ‘null‘ else chr(39) || b.belong || chr(39) end || ‘,‘ || b.creator ||‘,‘|| ‘to_date(‘ || chr(39)|| to_char(b.gmt_create,‘dd-mm-yyyy hh24:mi:ss‘)||chr(39)||‘,‘|| chr(39) || ‘dd-mm-yyyy hh24:mi:ss‘ ||chr(39) || ‘)‘ || ‘,‘ || b.modifier||‘,‘|| ‘to_date(‘ || chr(39)|| to_char(b.gmt_modified,‘dd-mm-yyyy hh24:mi:ss‘)||chr(39)||‘,‘|| chr(39) || ‘dd-mm-yyyy hh24:mi:ss‘ ||chr(39) || ‘)‘ || ‘,‘ || chr(39) || b.permis_type|| chr(39) || ‘);‘ from BASE_PERMISSION b; -------------back base_permission----------------end--- ------------------继续导出其它表-----------------
SPOOL OFF
上面脚本仅仅导出了权限表数据,导出的最终内容如下:
insert into BASE_PERMISSION (permis_id, permis_code, permis_name, permis_url, permis_order, remark, permis_pid, belong, creator, gmt_create, modifier, gmt_modified, permis_type) values (221,‘TRAN_DATA_MONITOR‘,‘交易信息实时监控‘,‘trandatamonitor‘,3,null,67,‘1‘,1,to_date(‘26-08-2016 16:13:45‘,‘dd-mm-yyyy hh24:mi:ss‘),1,to_date(‘26-08-2016 16:13:45‘,‘dd-mm-yyyy hh24:mi:ss‘),‘1‘); insert into BASE_PERMISSION (permis_id, permis_code, permis_name, permis_url, permis_order, remark, permis_pid, belong, creator, gmt_create, modifier, gmt_modified, permis_type) values (144,‘SYSTEM_PARAMETER‘,‘系统参数‘,‘systemParameter‘,5,null,1,null,1,to_date(‘05-08-2016 17:03:36‘,‘dd-mm-yyyy hh24:mi:ss‘),1,to_date(‘05-08-2016 17:03:36‘,‘dd-mm-yyyy hh24:mi:ss‘),‘1‘); insert into BASE_PERMISSION (permis_id, permis_code, permis_name, permis_url, permis_order, remark, permis_pid, belong, creator, gmt_create, modifier, gmt_modified, permis_type) values (181,‘APPLICATIONS_MODULE‘,‘业务申请单‘,‘‘,9,null,0,null,1,to_date(‘17-08-2016 10:39:23‘,‘dd-mm-yyyy hh24:mi:ss‘),1,to_date(‘02-09-2016 16:15:20‘,‘dd-mm-yyyy hh24:mi:ss‘),‘0‘); insert into BASE_PERMISSION (permis_id, permis_code, permis_name, permis_url, permis_order, remark, permis_pid, belong, creator, gmt_create, modifier, gmt_modified, permis_type) values (161,‘SIGN_INFO_COUNT‘,‘签约统计报表‘,‘signInfoCount‘,4,null,8,null,1,to_date(‘11-08-2016 16:46:23‘,‘dd-mm-yyyy hh24:mi:ss‘),1,to_date(‘15-08-2016 09:58:36‘,‘dd-mm-yyyy hh24:mi:ss‘),‘1‘); insert into BASE_PERMISSION (permis_id, permis_code, permis_name, permis_url, permis_order, remark, permis_pid, belong, creator, gmt_create, modifier, gmt_modified, permis_type) values (182,‘APPLICATIONS‘,‘业务申请单打印‘,‘applications‘,0,null,181,null,1,to_date(‘17-08-2016 10:43:38‘,‘dd-mm-yyyy hh24:mi:ss‘),1,to_date(‘02-09-2016 16:15:32‘,‘dd-mm-yyyy hh24:mi:ss‘),‘1‘); insert into BASE_PERMISSION (permis_id, permis_code, permis_name, permis_url, permis_order, remark, permis_pid, belong, creator, gmt_create, modifier, gmt_modified, permis_type) values (41,‘SYS_FAULT‘,‘故障管理‘,‘‘,3,null,0,null,1,to_date(‘27-05-2016 13:45:16‘,‘dd-mm-yyyy hh24:mi:ss‘),1,to_date(‘27-05-2016 13:46:06‘,‘dd-mm-yyyy hh24:mi:ss‘),‘0‘); insert into BASE_PERMISSION (permis_id, permis_code, permis_name, permis_url, permis_order, remark, permis_pid, belong, creator, gmt_create, modifier, gmt_modified, permis_type) values (19,‘PARAMETER‘,‘全行参数‘,‘parameter‘,3,null,1,null,1,to_date(‘24-12-2015 10:30:05‘,‘dd-mm-yyyy hh24:mi:ss‘),1,to_date(‘31-05-2016 16:47:35‘,‘dd-mm-yyyy hh24:mi:ss‘),‘1‘); insert into BASE_PERMISSION (permis_id, permis_code, permis_name, permis_url, permis_order, remark, permis_pid, belong, creator, gmt_create, modifier, gmt_modified, permis_type) values (13,‘SERVER_MODULE‘,‘服务管理‘,‘‘,6,null,0,null,1,to_date(‘21-12-2015 11:20:19‘,‘dd-mm-yyyy hh24:mi:ss‘),1,to_date(‘30-03-2016 15:25:06‘,‘dd-mm-yyyy hh24:mi:ss‘),‘0‘);
以上是关于Oracle SQL*Plus 数据备份为 sql 文件的主要内容,如果未能解决你的问题,请参考以下文章
将数据从 oracle sql plus 导出到 csv 时,Hypen 转换为问号
navicat for oracle 连接oracle 数据库,通过sql plus 能连接上数据库 ,可是通过navicat 就是连不上