<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>惜分飞 &#187; dbms_utility.expand_sql_text</title>
	<atom:link href="https://www.xifenfei.com/tag/dbms_utility-expand_sql_text/feed" rel="self" type="application/rss+xml" />
	<link>https://www.xifenfei.com</link>
	<description>提供7*24专业数据库(Oracle,SQL Server,MySQL,PostgreSQL等)恢复和技术支持@Tel:17813235971</description>
	<lastBuildDate>Sat, 07 Nov 2026 15:45:44 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>ORACLE 12C dbms_utility.expand_sql_text 查看SQL视图基表</title>
		<link>https://www.xifenfei.com/2013/08/oracle-12c-dbms_utility-expand_sql_text-%e6%9f%a5%e7%9c%8bsql%e8%a7%86%e5%9b%be%e5%9f%ba%e8%a1%a8.html</link>
		<comments>https://www.xifenfei.com/2013/08/oracle-12c-dbms_utility-expand_sql_text-%e6%9f%a5%e7%9c%8bsql%e8%a7%86%e5%9b%be%e5%9f%ba%e8%a1%a8.html#comments</comments>
		<pubDate>Sat, 24 Aug 2013 14:45:54 +0000</pubDate>
		<dc:creator><![CDATA[惜分飞]]></dc:creator>
				<category><![CDATA[ORACLE 12C]]></category>
		<category><![CDATA[dbms_utility.expand_sql_text]]></category>

		<guid isPermaLink="false">https://www.xifenfei.com/?p=4655</guid>
		<description><![CDATA[联系：手机/微信(+86 17813235971) QQ(107644445)  &#8230; <a href="https://www.xifenfei.com/2013/08/oracle-12c-dbms_utility-expand_sql_text-%e6%9f%a5%e7%9c%8bsql%e8%a7%86%e5%9b%be%e5%9f%ba%e8%a1%a8.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div id="xifenfeicopyright">
<p>联系：<a href="https://www.xifenfei.com/about_xifenfei" target="_blank">手机/微信(+86 17813235971)   QQ(107644445)</a><a target="_blank" href="http://wpa.qq.com/msgrd?v=3&#038;uin=107644445&#038;site=qq&#038;menu=yes"><img src="https://www.xifenfei.com/wp-content/themes/img/site_qq.jpg" alt="QQ咨询惜分飞" title="QQ咨询惜分飞"/></a></p>
<p>标题：<a href="https://www.xifenfei.com/2013/08/oracle-12c-dbms_utility-expand_sql_text-%e6%9f%a5%e7%9c%8bsql%e8%a7%86%e5%9b%be%e5%9f%ba%e8%a1%a8.html" target="_blank">ORACLE 12C dbms_utility.expand_sql_text 查看SQL视图基表</a></p>
<p>作者：<a href="https://www.xifenfei.com" target="_blank">惜分飞</a>©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]</p>
</div>
<p>在ORACLE 12C之间的版本，如果一条sql中包含了N多视图,我们要查询这条sql访问了哪些基表，以及他们的关联条件是一件比较麻烦的时候，需要进入一个个视图然后一个个去分析，纯体力活，到了12C之后，ORACLE 提供了dbms_utility.expand_sql_text来获得某条sql所对应的全部基表，不用我们再一级一级的去看.<br />
<br />
<img src="//www.xifenfei.com/wp-content/uploads/2013/08/sql.jpg" alt="dbms_utility.expand_sql_text" width="927" height="592" class="size-full wp-image-4656" /> </p>
<hr />
<strong>创建测试表</strong><br />
三个表分别来自数据库的v$datafile,v$tablespace,v$tempfile视图</p>
<pre class="brush: sql; title: ; notranslate">
CDB_PDB@CHF&gt; create table datafile
  2  as
  3  select * from v$datafile;

表已创建。

CDB_PDB@CHF&gt; create table tablespace
  2  as
  3  select * from v$tablespace;

表已创建。

CDB_PDB@CHF&gt; create table tempfile
  2  as
  3  select * from v$tempfile;

表已创建。
</pre>
<p><strong>创建视图</strong><br />
创建三个视图,datafile与tablespace，tempfile与tablespace，这两个视图然后做union all产生新视图</p>
<pre class="brush: sql; title: ; notranslate">
CDB_PDB@CHF&gt; create view v_xifenfei1 as
  2  select d.name dname,t.name tname from datafile d,tablespace t where d.ts#=t.ts#;

视图已创建。

CDB_PDB@CHF&gt; create view v_xifenfei2 as
  2  select d.name dname,t.name tname from tempfile d,tablespace t where d.ts#=t.ts#;

视图已创建。

CDB_PDB@CHF&gt; create view v_xifenfei
  2  as
  3  select * from v_xifenfei1
  4  union all
  5  select * from v_xifenfei2;

视图已创建。
</pre>
<p><strong>找出查询视图sql对应基表</strong></p>
<pre class="brush: sql; title: ; notranslate">
CDB_PDB@CHF&gt;  set linesize 32767 pagesize 0 serveroutput on
CDB_PDB@CHF&gt;  declare
  2     original_sql clob :='select * from v_xifenfei';
  3     expanded_sql clob := empty_clob();
  4  begin
  5      dbms_utility.expand_sql_text(original_sql,expanded_sql);
  6      dbms_output.put_line(expanded_sql);
  7  end;
  8  /
SELECT &quot;A1&quot;.&quot;DNAME&quot; &quot;DNAME&quot;,&quot;A1&quot;.&quot;TNAME&quot; &quot;TNAME&quot; FROM  ( (SELECT &quot;A4&quot;.&quot;DNAME&quot; &quot;DNAME&quot;,&quot;A4&quot;.&quot;TNAME&quot; &quot;TNAME&quot; FROM  (SELECT
 &quot;A6&quot;.&quot;NAME&quot; &quot;DNAME&quot;,&quot;A5&quot;.&quot;NAME&quot; &quot;TNAME&quot; FROM CHF.&quot;DATAFILE&quot; &quot;A6&quot;,CHF.&quot;TABLESPACE&quot; &quot;A5&quot; WHERE &quot;A6&quot;.&quot;TS#&quot;=&quot;A5&quot;.&quot;TS#&quot;) &quot;A4
&quot;) UNION ALL  (SELECT &quot;A3&quot;.&quot;DNAME&quot; &quot;DNAME&quot;,&quot;A3&quot;.&quot;TNAME&quot; &quot;TNAME&quot; FROM  (SELECT &quot;A8&quot;.&quot;NAME&quot; &quot;DNAME&quot;,&quot;A7&quot;.&quot;NAME&quot; &quot;TNAME&quot; FR
OM CHF.&quot;TEMPFILE&quot; &quot;A8&quot;,CHF.&quot;TABLESPACE&quot; &quot;A7&quot; WHERE &quot;A8&quot;.&quot;TS#&quot;=&quot;A7&quot;.&quot;TS#&quot;) &quot;A3&quot;)) &quot;A1&quot;

PL/SQL 过程已成功完成。
</pre>
<p><strong>格式化sql语句</strong></p>
<pre class="brush: sql; title: ; notranslate">
/* Formatted on 2013/8/24 22:33:33 (QP5 v5.227.12220.39754) */
SELECT &quot;A1&quot;.&quot;DNAME&quot; &quot;DNAME&quot;, &quot;A1&quot;.&quot;TNAME&quot; &quot;TNAME&quot;
  FROM ( (SELECT &quot;A4&quot;.&quot;DNAME&quot; &quot;DNAME&quot;, &quot;A4&quot;.&quot;TNAME&quot; &quot;TNAME&quot;
            FROM (SELECT &quot;A6&quot;.&quot;NAME&quot; &quot;DNAME&quot;, &quot;A5&quot;.&quot;NAME&quot; &quot;TNAME&quot;
                    FROM CHF.&quot;DATAFILE&quot; &quot;A6&quot;, CHF.&quot;TABLESPACE&quot; &quot;A5&quot;
                   WHERE &quot;A6&quot;.&quot;TS#&quot; = &quot;A5&quot;.&quot;TS#&quot;) &quot;A4&quot;)
        UNION ALL
        (SELECT &quot;A3&quot;.&quot;DNAME&quot; &quot;DNAME&quot;, &quot;A3&quot;.&quot;TNAME&quot; &quot;TNAME&quot;
           FROM (SELECT &quot;A8&quot;.&quot;NAME&quot; &quot;DNAME&quot;, &quot;A7&quot;.&quot;NAME&quot; &quot;TNAME&quot;
                   FROM CHF.&quot;TEMPFILE&quot; &quot;A8&quot;, CHF.&quot;TABLESPACE&quot; &quot;A7&quot;
                  WHERE &quot;A8&quot;.&quot;TS#&quot; = &quot;A7&quot;.&quot;TS#&quot;) &quot;A3&quot;)) &quot;A1&quot;
</pre>
<p>这里就非常清晰的看到是datafile与tablespace、tempfile与tablespace做union all的sql语句</p>
<div id="crp_related"><ul><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2010/08/fckeditor%e4%bd%bf%e7%94%a8%e8%af%b4%e6%98%8e.html" rel="bookmark" class="crp_title">fckeditor使用说明</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2010/09/shell%e7%bc%96%e7%a8%8b%e2%80%94%e2%80%94%e5%9f%ba%e6%9c%ac%e8%af%ad%e6%b3%95.html" rel="bookmark" class="crp_title">shell编程——基本语法</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2010/08/flash%e5%b9%bb%e7%81%af%e7%89%87.html" rel="bookmark" class="crp_title">flash幻灯片</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2012/03/gzexe%e5%8a%a0%e5%af%86shell%e8%84%9a%e6%9c%ac.html" rel="bookmark" class="crp_title">gzexe加密shell脚本</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2012/05/%e4%bd%bf%e7%94%a8dblink%e5%af%bc%e8%87%b4%e7%9a%84-opaque_transform.html" rel="bookmark" class="crp_title">使用dblink导致的/*+ OPAQUE_TRANSFORM */</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2011/08/%e5%9c%a8%e7%ba%bf%e9%87%8d%e5%ae%9a%e4%b9%89%e5%8e%9f%e7%90%86%e6%8e%a2%e8%ae%a8.html" rel="bookmark" class="crp_title">在线重定义原理探讨</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2012/09/bbed_wrap%e8%84%9a%e6%9c%ac%e8%8e%b7%e5%8f%96%e6%95%b0%e6%8d%ae%e5%9d%97%e5%86%85%e5%ae%b9.html" rel="bookmark" class="crp_title">bbed_wrap脚本获取数据块内容</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2011/03/v%e8%a7%86%e5%9b%be%e7%94%b1%e6%9d%a5.html" rel="bookmark" class="crp_title">v$和gv$来源</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2012/02/%e9%80%9a%e8%bf%87sql%e6%9f%a5%e8%af%a2rman%e5%a4%87%e4%bb%bd%e4%bf%a1%e6%81%af.html" rel="bookmark" class="crp_title">通过sql查询rman备份信息</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2011/04/php%e9%a1%b5%e9%9d%a2%e8%b7%b3%e8%bd%ac.html" rel="bookmark" class="crp_title">php页面跳转</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2012/04/db2%e6%95%b0%e6%8d%ae%e5%ba%93%e6%bf%80%e6%b4%bb.html" rel="bookmark" class="crp_title">DB2数据库激活</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2011/02/goldengate-%e5%bc%82%e5%b8%b8.html" rel="bookmark" class="crp_title">goldengate 异常处理</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>https://www.xifenfei.com/2013/08/oracle-12c-dbms_utility-expand_sql_text-%e6%9f%a5%e7%9c%8bsql%e8%a7%86%e5%9b%be%e5%9f%ba%e8%a1%a8.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
