iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle Study之案例--DBMS_METADATA Package应用
  • 202
分享到

Oracle Study之案例--DBMS_METADATA Package应用

2024-04-02 19:04:59 202人浏览 薄情痞子
摘要

oracle Study之案例--DBMS_METADATA Package应用DBMS_METADATA:      The DBMS_METADATA 

oracle Study之案例--DBMS_METADATA Package应用

DBMS_METADATA:

      The DBMS_METADATA package provides a way for you to retrieve metadata from the database dictionary as XML or creation DDL and to submit the XML to re-create the object.

案例分析:

[oracle@RH6 ~]$ sqlplus '/as sysdba'

SQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 8 14:36:29 2014

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options


14:36:29 SYS@ test1 >desc dbms_metadata

FUNCTION GET_DDL RETURNS CLOB
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 OBJECT_TYPE                    VARCHAR2                IN
 NAME                           VARCHAR2                IN
 SCHEMA                         VARCHAR2                IN     DEFAULT
 VERSION                        VARCHAR2                IN     DEFAULT
 MODEL                          VARCHAR2                IN     DEFAULT
 TRANSFORM                      VARCHAR2                IN     DEFAULT

Parameters

Table 87-8 GET_xxx Function Parameters

ParameterDescription

object_type

The type of object to be retrieved. This parameter takes the same values as the OPEN object_type parameter, except that it cannot be a heterogeneous object type. The attributes of the object type must be appropriate to the function. That is, for GET_xxx it must be a named object.

name

The object name. It is used internally in a NAME filter. (If the name is longer than 30 characters, it will be used in a LONGNAME filter.) If this parameter is NULL, then no NAME or LONGNAME filter is specifiedSee Table 87-17 for a list of filters.

schema

The object schema. It is used internally in a SCHEMA filter. The default is the current user.

version

The version of metadata to be extracted. This parameter takes the same values as the OPEN version parameter.

model

The object model to use. This parameter takes the same values as the OPEN model parameter.

transform

The name of a transformation on the output. This parameter takes the same values as the ADD_TRANSFORM name parameter. For GET_XML this must not be DDL.

通过dbms_metadata.get_ddl Procedure分析在extent management(Local or  Dictionary)不同方式下创建table的对象属性

14:50:43 SYS@ test1 >select tablespace_name,contents,extent_management from dba_tablespaces;

TABLESPACE_NAME                CONTENTS  EXTENT_MAN
------------------------------ --------- ----------
SYSTEM                         PERMANENT DICTIONARY
SYSAUX                         PERMANENT LOCAL
TEMP1                          TEMPORARY LOCAL
USERS                          PERMANENT LOCAL
UNDOTBS2                       UNDO      LOCAL
TEMP2                          TEMPORARY LOCAL
INDX                           PERMANENT LOCAL
TMP3                           TEMPORARY LOCAL
TMP4                           TEMPORARY LOCAL
TEST1                          PERMANENT LOCAL
PERFS                          PERMANENT LOCAL
DICT1                          PERMANENT DICTIONARY
TBS_16                         PERMANENT LOCAL

从以上可以看到“USERS tablespace”extent management 为local方式,"DICT1 tablespace" extent management 为dictionary方式


1)获取emp表信息(存储在USERS表空间)

14:44:14 SCOTT@ test1 >set long 5000
14:44:35 SCOTT@ test1 >set linesize 140
14:44:47 SCOTT@ test1 >set pagesize 1000
14:44:54 SCOTT@ test1 >select dbms_metadata.get_ddl('TABLE','EMP') FROM DUAL
DBMS_METADATA.GET_DDL('TABLE','EMP')
--------------------------------------------------------------------------------
  CREATE TABLE "SCOTT"."EMP"
   (    "EMPNO" NUMBER(4,0),
        "ENAME" VARCHAR2(10),
        "JOB" VARCHAR2(9),
        "MGR" NUMBER(4,0),
        "HIREDATE" DATE,
        "SAL" NUMBER(7,2),
        "COMM" NUMBER(7,2),
        "DEPTNO" NUMBER(2,0),
         CONSTRaiNT "PK_EMP" PRIMARY KEY ("EMPNO")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL KEEP FLASH_CACHE DEFAULT CE
LL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS"  ENABLE,
         CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO")
          REFERENCES "SCOTT"."DEPT" ("DEPTNO") ENABLE
   ) SEGMENT CREATION IMMEDIATE
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL RECYCLE FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS"
  
14:44:55 SCOTT@ test1 >select dbms_metadata.get_ddl('INDEX','PK_EMP') FROM DUAL;
DBMS_METADATA.GET_DDL('INDEX','PK_EMP')
--------------------------------------------------------------------------------
  CREATE UNIQUE INDEX "SCOTT"."PK_EMP" ON "SCOTT"."EMP" ("EMPNO")
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL KEEP FLASH_CACHE DEFAULT
CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS"

2)获取t1表信息(存储在DICT1表空间)

14:52:12 SCOTT@ test1 >select dbms_metadata.get_ddl('TABLE','T1') FROM DUAL;
DBMS_METADATA.GET_DDL('TABLE','T1')
--------------------------------------------------------------------------------
  CREATE TABLE "SCOTT"."T1"
   (    "ID" NUMBER(*,0),
        "NAME" VARCHAR2(10)
   ) SEGMENT CREATION IMMEDIATE
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 40960 NEXT 40960 MINEXTENTS 1 MAXEXTENTS 505
  PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEF
AULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "DICT1"

3)查看数据字典

14:58:23 SCOTT@ test1 >select table_name,TABLESPACE_NAME,PCT_FREE,PCT_USED,FREELISTS,INITIAL_EXTENT/1024,NEXT_EXTENT/1024 from user_tables;

TABLE_NAME TABLESPACE_NAME                  PCT_FREE   PCT_USED  FREELISTS INITIAL_EXTENT/1024 NEXT_EXTENT/1024
---------- ------------------------------ ---------- ---------- ---------- ------------------- ----------------
EMP        USERS                                  10                                        64             1024
T1         DICT1                                  10         40          1                  40               40

    从以上可以判断,对于存储在local管理的tablespace上的table,在创建时,Oracle默认会分配大小64k的extent,启用pct_free参数,而pct_used和freelists参数不再被使用。对于存储在dictionary管理的tablespace上的table,在创建时,Oracle默认会分配大小40k得extent,启用pct_free,pct_used,freelists参数。


您可能感兴趣的文档:

--结束END--

本文标题: Oracle Study之案例--DBMS_METADATA Package应用

本文链接: https://www.lsjlt.com/news/47417.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle Study之案例--DBMS_METADATA Package应用
    Oracle Study之案例--DBMS_METADATA Package应用DBMS_METADATA:      The DBMS_METADATA ...
    99+
    2024-04-02
  • Oracle Study之Oracle High Water Mark的示例分析
    小编给大家分享一下Oracle Study之Oracle High Water Mark的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一...
    99+
    2024-04-02
  • Oracle Study--RAW Device在Oracle下的应用
    Oracle Study--RAW Device在Oracle下的应用1、 什么是裸设备(RAW DEVICE)        裸设备是指未创建文件系统的磁...
    99+
    2024-04-02
  • python应用案例
      生成激活码#!/usr/bin/env python #encoding:utf-8 #Author:sean import string import random #激活码中的字符和数字 field = string.lette...
    99+
    2023-01-31
    案例 python
  • Oracle服务分类及应用案例剖析
    Oracle服务分类及应用案例剖析 Oracle是全球领先的数据库管理系统提供商,其产品涵盖了数据库、云计算服务、企业软件等多个领域。在Oracle数据库领域,服务分类和应用案例是数据...
    99+
    2024-03-02
    服务 oracle 应用案例 sql语句
  • PHP扩展之kafka安装应用案例详解
    话说用了就要有点产出,要不然过段时间又忘了,所以在这里就记录一下试用Kafka的安装过程和php扩展的试用。 实话说,如果用于队列的话,跟PHP比较配的,还是Redis。用的顺手,呵...
    99+
    2024-04-02
  • OpenBSD WEB应用案例
    这篇文章主要介绍了OpenBSD WEB应用案例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  1、升级系统#cd /usr/src#cv...
    99+
    2024-04-02
  • Java基础学习之IO流应用案例详解
    目录一、点名器二、集合到文件三、文件到集合一、点名器 需求: 我有一个文件里面存储了班级同学的姓名,每一个姓名占一行,要求通过程序实现随机点名器 实现步骤: 创建字符缓冲输入流对象创...
    99+
    2024-04-02
  • Oracle NVL函数实际案例分析与应用技巧
    《Oracle NVL函数实际案例分析与应用技巧》 在Oracle数据库中,NVL函数是一种用于处理空值的函数,它可以判断一个字段是否为空,如果为空则返回指定的默认值,如果不为空则返回...
    99+
    2024-03-09
    分析 oracle nvl函数 sql语句
  • Oracle SQL*Loader使用案例(三)
          上两篇文章中,介绍了SQL*Loader的使用方法及使用案例,本篇将根据实际的使用案例来更深层次的来解读SQL*Loader     &nbs...
    99+
    2024-04-02
  • Vue.js之$emit用法案例详解
    1、父组件可以使用 props 把数据传给子组件。 2、子组件可以使用 $emit 触发父组件的自定义事件。 vm.$emit( event, arg ) //触发当前实例上的事件 ...
    99+
    2024-04-02
  • Java之Jackson使用案例详解
    序列化 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取...
    99+
    2024-04-02
  • Java之Class.forName()用法案例详解
    Class.forName()主要功能 Class.forName(xxx.xx.xx)返回的是一个类, Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载...
    99+
    2024-04-02
  • vue之keepAlive使用案例详解
    在开发中经常有从列表跳到详情页,然后返回详情页的时候需要缓存列表页的状态(比如滚动位置信息),这个时候就需要保存状态,要缓存状态;vue里提供了keep-alive组件用来缓存状态。...
    99+
    2024-04-02
  • Oracle 应用之--VirtualBox UUID问题
    Oracle 应用之--VirtualBox UUID问题系统环境:    操作系统: MAC OS 10.10.3    应用软件:VirtualBox故障:&nb...
    99+
    2024-04-02
  • Oracle 触发器trigger使用案例
    目录一、触发器定义二、触发器分类三、触发器功能四、触发器语法五、触发器使用案例案例1:向job1表中插入一条数据后输出 欢迎加入 语句案例2:数据校验,不允许星期二和星期四向emp1...
    99+
    2024-04-02
  • C# ThreadPool之QueueUserWorkItem使用案例详解
    先看代码: //设置可以同时处于活动状态的线程池的请求数目。 bool pool = ThreadPool.SetMaxThreads(8, 8); if (pool) { ...
    99+
    2024-04-02
  • C# CultureInfo之常用InvariantCulture案例详解
    1、CultureInfo的InvariantCulture的作用 (1)、CultureInfo使整个.NET Framework更加人性化,因为这可以使同一个数据适应不同地区和文...
    99+
    2024-04-02
  • Java之常用类小结案例讲解
    Java常用类 包装类 由于Java语言中的基本类型不是面向对象,并不具备对象的性质,实际使用存在很多不便。Java在java.lang包中提供了八种基本类型对应的包装类,可以方便地...
    99+
    2024-04-02
  • Android动画之TranslateAnimation用法案例详解
    我们在实际的开发过程中,有很多地方需要使用TranslateAnimation,本文是爱站技术频道小编为大家做的简单介绍,下面是详解Android 动画之TranslateAnima...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作