因版本控制不规范,项目中运营同事在部署前需手动备份数据库过程、函数代码,以支持失败时回滚; 这里写了个小程序,以简化备份操作:(只针对 Oracle)
一共分两个脚本:exp.bat 和 exp.conf(执行前,修改
数据库
连接信息和备份内容即可)
exp.bat
sqlplus dc_data/dc_data@crs116 @c:\exp\exp.conf
pause
其中 @c:\exp\exp.conf
表示 查找
exp.conf 配置文件
exp.conf
set trimspool on
set linesize 2000
set pagesize 0
set newpage 1
set heading off
set term off
set long 1000000
set longc 1000000
spool .\P_GROUP_VARCHAR_APPEND.PRC
SELECT DBMS_METADATA.GET_DDL('PROCEDURE','P_GROUP_VARCHAR_APPEND', 'DC_DATA') AS TEXT FROM DUAL;
spool off
spool .\F_WORKDATE.FUN
SELECT DBMS_METADATA.GET_DDL('FUNCTION', 'F_WORKDATE', 'DC_DATA') AS TEXT FROM DUAL;
spool off
spool .\PKG_UNITY.PKG
SELECT DBMS_METADATA.GET_DDL('PACKAGE', 'PKG_UNITY', 'DC_ETL') AS TEXT FROM DUAL;
spool off
exit
文中
分别将sql语句的结果生成到相应文件;
.\P_GROUP_VARCHAR_APPEND.PRC
表示生成的文件名和路径(这里是相对路径)
set long 1000000
因 DBMS_METADATA.GET_DDL() 函数返回CLOB,默认只输出前80个字符,这里进行调大
set longc 1000000
防止CLOB写到文件里时被截断而换行
分享到:
相关推荐
本文将详细讲解如何在Windows和Unix环境下利用SQL*Plus的`spool`命令来导出Oracle数据库中的数据,并将其转换为INSERT语句或纯文本格式。 `spool`是SQL*Plus的一个内置命令,它允许用户将SQL*Plus会话的输出重定向...
- 使用数据泵工具可以导出和导入表结构、索引、函数、包和存储过程等元数据信息。 - 导出(EXPDP)和导入(IMPDP)操作是基于参数文件进行的,参数文件中可以指定需要导出或导入的数据类型、对象和过滤条件等。 2...
接下来的部分使用了Oracle提供的`DBMS_METADATA`包来进行元数据转换和提取。`DBMS_METADATA`包主要用于获取数据库对象的定义,并可以将这些定义转换成SQL脚本的形式。脚本中包含了多个`EXEC DBMS_METADATA.set_...
在使用UTL_FILE包进行数据导出时,开发者需要编写PL/SQL代码,通过游标遍历数据,然后利用UTL_FILE包的函数(如`UTL_FILE.PUT_LINE`)将每一行数据写入文本文件。文件操作完成后,别忘了关闭打开的文件。这种方法...
从 Oracle 数据库中导出 SQL 脚本 Oracle 数据库是一个功能强大...从 Oracle 数据库中导出 SQL 脚本可以使用 `dbms_metadata.get_ddl` 函数来获取指定对象的 DDL 定义,然后使用 `spool` 命令将输出结果写入到文件中。
数据字典是Oracle系统存储元数据的地方,包含关于数据库对象的信息。用户可以通过查询视图如DBA_OBJECTS, USER_TABLES, ALL_TAB_COLUMNS等了解数据库的状态和结构。 这些笔记内容覆盖了Oracle数据库的诸多方面,...
- **转换函数**:如`TO_CHAR`、`TO_DATE`等数据类型转换。 - **系统函数**:如`USERENV`等获取系统信息。 ### 数据库管理,表的逻辑备份与恢复 这部分讲述了Oracle数据库的管理策略,包括逻辑备份与恢复的操作。 -...
第35章 过程、函数与程序包 第36章 使用本地动态SQL和DBMS_SQL 第37章 PL/SQL调整 第Ⅴ部分 对象关系数据库 第38章 实现对象类型、对象视图和方法 第39章 收集器(嵌套表和可变数组) 第40章 使用大对象 第41章 ...
第35章 过程、函数与程序包 第36章 使用本地动态SQL和DBMS_SQL 第37章 PL/SQL调整 第Ⅴ部分 对象关系数据库 第38章 实现对象类型、对象视图和方法 第39章 收集器(嵌套表和可变数组) 第40章 使用大对象 第41章 ...
- SPOOL命令:可以将SQLPLUS会话的输出重定向到文件,方便日志记录和数据导出,例如`spool filename`。 这些是Oracle数据库学习的基础内容,掌握这些知识对于理解和操作Oracle数据库至关重要。随着深入学习,还会...
在Oracle数据库环境中,有时我们需要将数据导出为CSV(逗号分隔值)格式以便进行数据分析、传输或在其他系统中使用。Oracle SQL提供了一种简单的方法,通过SQL*Plus命令来生成CSV文件。以下是对标题和描述中提及的...
2. **数据类型**:在Oracle中,数据类型定义了列可以存储的数据类型。 - **VARCHAR2(size)**:可变长度的字符串,最多可存储指定的size个字符。 - **CHAR(size)**:固定长度的字符串,即使实际存储的数据小于指定...
- **导出导入数据**:通过SQL*Plus的spool功能,可以将查询结果导出为文本文件,或从文件导入数据。 总之,Oracle Instant Client 11.2带有SQL*Plus的版本是开发人员和DBA在没有完整Oracle数据库安装的情况下进行...
§1.7 ORACLE数据类型 38 §1.8 SQL 语句基础 44 §1.8.1 SQL语句所用符号 44 §1.8.2 简单select 查询 45 §1.9 伪列及伪表 46 §1.10 使用SQL Worksheet工作 46 第二章 查询基础 50 §2.1 SELECT语句 50 §2.2 SQL...
移植工具是 Oracle 数据库的数据移植工具,提供了多种数据移植功能,包括数据导入、导出、同步等。 网络管理 网络管理是 Oracle 数据库的网络管理工具,提供了多种网络管理功能,包括网络配置、安全管理、性能监控...