[Oracle] dbms

以下是对Oracle中dbms_metadata.get_ddl的用法进行了详细的分析介绍,需要的朋友参考下
 

dbms_metadata.get_ddl()用于获取对象的DDL,其具体用法如下。
注意:在sqlplus里,为了更好的展示DDL,需要设置如下参数:

复制代码 代码如下:

set line 200
set pagesize 0
set long 99999
set feedback off
set echo off

1)获得表、索引、视图、存储过程、函数的DDL

复制代码 代码如下:

select dbms_metadata.get_ddl('TABLE','TABLE_NAME','TABLE_OWNER') from dual;
select dbms_metadata.get_ddl('INDEX','INDEX_NAME','INDEX_OWNER') from dual;
select dbms_metadata.get_ddl('VIEW','VIEW_NAME','VIEW_OWNER') from dual;
select dbms_metadata.get_ddl('PROCEDURE','PROCEDURE_NAME','PROCEDURE_OWNER') from dual;
select dbms_metadata.get_ddl('FUNCTION','FUNCTION_NAME','FUNCTION_OWNER') from dual;

下面这个脚本用于获得某个schema下所有的表、索引、视图、存储过程、函数的DDL

复制代码 代码如下:

set pagesize 0
set long 90000
set feedback off
set echo off
spool schema_ddl.sql
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name,u.owner) FROM DBA_TABLES u;
SELECT DBMS_METADATA.GET_DDL('VIEW',u.view_name,u.owner) FROM DBA_VIEWS u;
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name,u.owner) FROM DBA_INDEXES u;
select dbms_metadata.get_ddl('PROCEDURE',u.object_name, u.owner,) from dba_objects u where u.object_type = 'PROCEDURE';
select dbms_metadata.get_ddl('FUNCTION',u.object_name, u.owner,) from dba_objects u where u.object_type = 'FUNCTION';
spool off;

2)获得表空间的DDL
获得单个表空间的DDL:

复制代码 代码如下:

select dbms_metadata.get_ddl('TABLESPACE','TBS_NAME') from dual;

获得所有表空间的DDL:

复制代码 代码如下:

SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name)
FROM DBA_TABLESPACES TS;

3)获得用户的DDL
获得单个用户的DDL:

复制代码 代码如下:

select dbms_metadata.get_ddl('USER','EPAY_USER') from dual;

获得所有用户的DDL:

复制代码 代码如下:

SELECT DBMS_METADATA.GET_DDL('USER',U.username)
FROM DBA_USERS U;

时间: 2025-01-21 05:33:31

[Oracle] dbms的相关文章

用orabm测试oracle服务器的TPS值

oracle|服务器 研发论坛讨论主题 葛宏宾109649/user/zte_ltd昨天 16:16 .主题:.用orabm测试oracle服务器的TPS值.分类:测试    用orabm测试oracle服务器的TPS值 1.orabm简介   Orabm是一个开源的oracle性能测试工具,,包含了一套SQL脚本和几个命令行程序. 作者Geoff Ingram,是<High-Performance Oracle: Proven Methods for Achieving Optimum Per

无责任Oracle图书简评 (1)

oracle 如果现在到一家计算机书店转转,你会发现和Oracle技术相关的图书就会占据书店的很大的空间.在这些书中不乏精品,但是肯定也有一些糟粕混杂其中,对于精品,我们不妨拜读,对于那些东拼西凑的图书我们还是避而远之,免得让自己后悔. 在这里,Fenng写下对几本Oracle的图书的印象,希望能对一些朋友有个参考作用(对于Oracle技术高手可能用不到了). "无责任书评"最早在侯捷网站上看到,感觉很有意思,想想自己远没有侯先生的功力,只是凭着一些感觉,拉大旗作虎皮,这个题目也是暗示

Oracle dbms_metadata.get_ddl的用法总结

dbms_metadata.get_ddl()用于获取对象的DDL,其具体用法如下. 注意:在sqlplus里,为了更好的展示DDL,需要设置如下参数: set line 200 set pagesize 0 set long 99999 set feedback off set echo off 1)获得表.索引.视图.存储过程.函数的DDL select dbms_metadata.get_ddl('TABLE','TABLE_NAME','TABLE_OWNER') from dual;

Oracle统计信息和dbms_stats包

1.统计信息的作用 Oracle基于CBO的优化器在生成执行计划时,很大程度上依赖 于统计信息,你可以把CBO理解为一个复杂的数学模型,而统计信息是它最主要的输入,执行 计划是输出,如果输入都不准确,输出还可能准确吗?所有,统计信息是否及时有效对执行 计划的好坏有着关键的影响. 2.dbms_stats包 Oracle里采用dbms_stats包分 析统计信息(Analyze命令已过时,不建议使用),该包的使用方法,官方文档有详细说明 (http://docs.oracle.com/cd/E11

oracle基础sql语句详解

二.SQL Structur query language 结构化查询语言,是操作关系型数据库中的对象. DDL(Data definition language 数据定义语言),用于建表或删表操作,以及对表约束进行修改 create table , alter table , drop table 对表结构的增删操作. DML(Data manipulation language 数据操作语言),向表中插入纪录,修改纪录 insert , update , delete , merge tra

Oracle的Lob介绍

Lob的定义 像Oracle这种关系型数据库,比较擅长处理结构化的数据,那么对于非结构化的数据,Oracle是怎 么处理和存储的呢?Lob (Large Object)是Oracle专门用来处理半结构化和非结构化数据,它是一个大 对象数据类型,可以存储超过4000字节的字符串.二进制数据. Lob的类型 有两种Lob,非常是Internal Lob和External Lob.所谓Internal Lob是指Lob数据存储在Oracle数 据文件里,External Lob是指Lob数据存储在数据

关于炉石传说的Oracle数据库故障不要以为你也可以幸免

最近暴雪公司和网易的一则声明刷爆了朋友圈,大意就是由于『供电意外中断的原因而产生故障,导致数据损坏』,这样一则公告引发了一系列的猜想,我们在围观时仿佛人人都是诸葛亮,而事实上设身处地,我想在一次负责任的故障考验下,也许很少有人能够幸免. 如同阿里云会误删文件.京东会泄露数据.支付宝会被修改密码.携程会大面积瘫痪,在灾难来临之前,谁都会觉得自己是幸运者,而事实上,只是措手不及那次灾难还没有来到而已. 先回顾一下<炉石传说>长长的公告,然后我们再基于事实做一下分析吧: 首先,关于暴雪的核心数据库架

《Oracle PL/SQL必知必会》——2.2 起步

2.2 起步 如你现在所知的,要开始使用Oracle,以及循序渐进地学习本书中的课程,需要访问Oracle DBMS(或者Oracle Server)和客户端应用程序(用于访问服务器的软件). 2.2.1 你需要什么软件 你不需要自己安装的Oracle服务器,但是需要能够访问Oracle服务器.你基本上有两个选项. 访问现有的Oracle DBMS,也许是你的托管公司或者企业或学校所在位置提供的Oracle DBMS.要使用该服务器,你需要获得一个服务器账户(登录名和密码). 为了在自己的计算机

《Oracle PL/SQL必知必会》——第2章 初识Oracle和PL/SQL 2.1 什么是Oracle

第2章 初识Oracle和PL/SQL Oracle PL/SQL必知必会 在本章中,你将认识Oracle和PL/SQL是什么,以及你可以使用什么工具来操作它们. 2.1 什么是Oracle 在前一章中,你学习了数据库和SQL.如所解释的那样,做所有工作(存储.检索.管理和操作数据)的实际上是数据库软件(DBMS或数据库管理系统[Database Management System]).Oracle DBMS(或者简称为Oracle)就是一个DBMS:也就是说,它是数据库软件. Oracle已经