[20150503]关于同义词问题2.txt

简介: [20150503]关于同义词问题2.txt --节前在做数据库同义词整理时,写了一篇blog --[20150430]同义词使用问题.txt http://blog.

[20150503]关于同义词问题2.txt

--节前在做数据库同义词整理时,写了一篇blog
--[20150430]同义词使用问题.txt
http://blog.itpub.net/267265/viewspace-1612866/

--在家想如何能快速找到无效的同义词,剔除出去.
--我想最简单方法就是执行一次看看是否报错.

SCOTT@test01p>  desc tt
ERROR:
ORA-04043: object tt does not exist

SCOTT@test01p> create synonym syn_public_tt1 for tt;
Synonym created.

SCOTT@test01p> create synonym syn_public_tt2 for syn_public_tt1;
Synonym created.

SCOTT@test01p>
select 'select * from '||decode(owner,'PUBLIC','',owner||'.')||synonym_name||' where 1=0;' c60  from dba_synonyms where table_owner='SCOTT'
C60
------------------------------------------------------------
select * from SCOTT.SYN_PUBLIC_TT1 where 1=0;
select * from SCOTT.SYN_PUBLIC_TT2 where 1=0;

--将以上结果记录到1个文本文件aa.sql中:

SCOTT@test01p> spool d:\a.txt
SCOTT@test01p> @d:\aa.sql
select * from SCOTT.SYN_PUBLIC_TT1 where 1=0
                    *
ERROR at line 1:
ORA-00980: synonym translation is no longer valid


select * from SCOTT.SYN_PUBLIC_TT2 where 1=0
                    *
ERROR at line 1:
ORA-00980: synonym translation is no longer valid


SCOTT@test01p> spool off

--在使用shell工具编辑一下,很容易过滤有问题的同义词,再使用vim编辑删除就ok了.

d:\>grep -B3 ORA-00980 a.txt | grep "^select" | cut -f4 -d" "
SCOTT.SYN_PUBLIC_TT1
SCOTT.SYN_PUBLIC_TT2

--估计写PL/SQL也可以,一次性的东西还是放弃....

目录
相关文章
|
SQL 测试技术 索引
[20180509]函数索引问题.txt
[20180509]函数索引问题.txt https://jonathanlewis.wordpress.com/2018/05/07/fbis-dont-exist/ --//重复测试: 1.
1096 0
|
索引 关系型数据库 Oracle
[20180329]删除带斜线的索引.txt
[20180329]删除带斜线的索引.txt --//上午看链接:http://www.itpub.net/thread-2100824-1-1.html --//开始没仔细看,实际上已经恢复了,索引名带斜线,看看如何删除.
949 0
|
关系型数据库 Linux 索引
[20180212]函数索引问题.txt
[20180212]函数索引问题.txt --//11g下,如果函数索引,字段出现重复,出现ORA-54015: Duplicate column expression was specified.
982 0
|
关系型数据库 数据库管理 Oracle
[20180208]ezconnect语法.txt
[20180208]ezconnect语法.txt --昨天看书Oracle Database11g DBA Handbook.pdf,Using Easy Connect Naming P561.
1055 0
|
关系型数据库 Oracle 开发工具
[20170508]listagg拼接显示字段.txt
[20170508]listagg拼接显示字段.txt --//记得前一阵子,要给表增加一个字段,并赋值.采用表在线重定义.要使用函数dbms_redefinition.
866 0
|
SQL Shell 测试技术
[20161023]为什么以前可以这样的表.txt
[20161023]为什么以前可以这样的表.txt --上午看https://oracleblog.org/working-case/ora-01401-impdp-same-character/ CREATE TABLE ASS_ACC...
775 0
|
SQL Oracle 关系型数据库
[20150803]使用函数索引注意的问题.txt
[20150803]使用函数索引注意的问题.txt --昨天在10g下优化时遇到一个奇怪的问题,做一个记录: --首先说明一下,最近一段时间在做一个项目的优化,这个项目实际上ETL项目: http://baike.
843 0
|
机器学习/深度学习 Java 数据库
[20150604]关于同义词的问题3.txt
[20150604]关于同义词的问题3.txt --前一阵子对服务器的同义词做了一些整理,参考链接: http://blog.itpub.net/267265/viewspace-1621290/ http://blog.itpub.net/267265/viewspace-1612866/ --但是我在检查sys.obj$时发现我好像并没有删除这些同义词。
710 0
|
SQL Oracle 关系型数据库
[20150430]同义词使用问题.txt
[20150430]同义词使用问题.txt SCOTT@test> @ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -...
842 0
使用 UTL_FILE导出TAB和逗号分割数据
DECLARE   row_result varchar2(4000);   selectsql  varchar2(4000);   qrycursor  SYS_REFCURSOR;   txt_handle UTL_FILE.
1096 0