首页 > 数据库 >【Oracle】获取指定用户所有表的建表语句

【Oracle】获取指定用户所有表的建表语句

时间:2023-08-09 22:12:06浏览次数:36  
标签:语句 tmp 建表 获取 TBL Oracle


#!/bin/bash 

TBL_LIST=/tmp/table_name_list.out
TBL_METADATA=/tmp/ddl_tables_all.sql
sqlplus -S '/ as sysdba' << EOF
PROMPT
spool ${TBL_LIST}
set pages 0
set echo off heading off feedback off
select username from dba_users where username not in ('SYS','SYSTEM','DBSNMP','EXFSYS','MDSYS','ORDDATA','UNDOTBS1') order by 1;
spool off
EOF

for USERNAME in `cat ${TBL_LIST}`
do
export USERNAME
sqlplus -S '/ as sysdba' << EOF
begin
   dbms_metadata.set_transform_param (dbms_metadata.session_transform, 'SQLTERMINATOR', true);
   dbms_metadata.set_transform_param (dbms_metadata.session_transform, 'PRETTY', true);
   dbms_metadata.set_transform_param (dbms_metadata.session_transform,'STORAGE',false); --过滤掉tablespace存储信息
   dbms_metadata.set_transform_param (dbms_metadata.session_transform,'REF_CONSTRAINTS', false); -- 过滤掉外键约束信息
   dbms_metadata.set_transform_param (dbms_metadata.session_transform,'TABLESPACE',false);  -- 过滤掉表空间信息
   dbms_metadata.set_transform_param (dbms_metadata.session_transform,'SEGMENT_ATTRIBUTES', false);   -- 过滤掉段信息信息
   dbms_metadata.set_transform_param (dbms_metadata.session_transform,'CONSTRAINTS', false);   -- 过滤掉约束信息  
end;
/

spool ${TBL_METADATA} APPEND
set termout off
set linesize 190
set pages 50000
set feedback off
set trim on
set echo off
col USERNAME for a30
col account_status for a23
set pages 0;
set echo off heading off feedback off;
SELECT DBMS_METADATA.GET_DDL('TABLE', '$USERNAME') FROM DUAL ;
/
spool off
EOF
done



标签:语句,tmp,建表,获取,TBL,Oracle
From: https://www.cnblogs.com/Jeona/p/17618133.html

相关文章

  • Oracle 安装 Failed to Create oracle Oracle Home User 解决方案
    WindowsServer2016安装Oracle12报错:FailedtoCreateoracleOracleHomeUser的解决方案:1、打开域安全策略(secpol.msc)-安全设置-账户策略-密码策略-密码必须符合复杂性要求。定义这个策略设置为:已禁用。 2、最后cmd运行刷新组策略命令为:gpupdate/force 3、重新......
  • 设置Oracle视图查询权限的步骤(oracle视图查询权限)
    设置Oracle视图查询权限的步骤是向用户授予SELECT对设定视图的权限。Oracle提供了两种主要方式来授予用户查询视图的权限,分别是直接授权和使用角色授权。本文将介绍如何正确地设置授权,使用Oracle视图。 首先,要设置Oracle视图查询权限,必须具有包括CREATEVIEW权限和SELECT权限的......
  • 【Oracle】使用exit,return,continue跳出循环
    【Oracle】使用exit,return,continue跳出循环exit是结束循环,但还会继续执行程序包中其他的内容return则是直接中断整个程序continue的作用是终止本次循环,开始下一次循环exitloopselectcount(1)intop_numfromtable1cwherec.b='b'an......
  • Oracle索引&约束
    Oracle索引&约束1索引的原理索引是一种允许直接访问数据表某一数据行的树形结构,为了提高查询效率而引入,是独立于表的对象,可以存放在与表不同的表空间(TABLESPACE)中索引记录中存有索引关键字和指向表中数据的指针(地址)对索引进行的I/O操作比对表进行操作要少很多索引一旦被建立......
  • Oracle常规操作
    Oracle常规操作创建表CREATETABLEt_user(idNUMBER(4),usernameVARCHAR2(20)NOTNULL,genderCHAR(1)DEFAULT'M',birthDATE);插入数据--插入指定的列INSERTINTOt_user(id,username,gender)VALUES(1,'pp0419','M');--使用......
  • oracle物理映射记录
    流程oracle数据库oracle数据库[root@node-3oracle]#lsu01u01-01u01-02[root@node-3oracle]#pwd/root/fileData/bpm/oracle[root@node-3oracle]#u01为从31521导出的数据库数据u01-01对应31522易捷测试环境u01-02对应315238287环境......
  • Oracle慢SQL定位
    统计慢查询耗时select*from(selectsa.SQL_TEXT"执行SQL",sa.EXECUTIONS"执行次数",round(sa.ELAPSED_TIME/1000000,2)"总执行时间",round(sa.ELAPSED_TIME/1000000/sa.EXECUTIONS,2)"平均执行时间",......
  • 数据库-mysql/postgresql/mongo/oracle/redis 物理备份与恢复的执行方式有
    以下是每个数据库的物理备份与恢复的执行方式示例:MySQL:备份:使用mysqldump命令进行备份。示例:mysqldump-uusername-pdatabase_name>backup.sql恢复:使用mysql命令从备份文件中恢复数据。示例:mysql-uusername-pdatabase_name<backup.sqlPostgreSQL:备份:使用pg_d......
  • oracle的时间格式化函数
    oracle的时间格式化函数原文链接:https://blog.csdn.net/aaa1546456/article/details/130830669Oracle数据库中常用的时间格式化函数包括:1.TO_CHAR:将日期型数据格式化为字符串,常用的格式包括:-TO_CHAR(date,'YYYY-MM-DDHH24:MI:SS'):转化成年-月-日时:分:秒的格式。-TO......
  • vue import 调用方法 Import是javascript中的一种模块加载方式,在Vue中也可以使用impor
    vueimport调用方法Import是javascript中的一种模块加载方式,在Vue中也可以使用import来加载组件、库或其他模块。使用import语句,可以将需要的模块导入到当前模块的作用域中,以使其可用于当前模块内的执行。原文链接:https://www.yzktw.com.cn/post/1248672.htmlImport是javascri......