2013-05-15 10 views
8

denedim:Oracle'da SQL üzerinden tablo yorumları nasıl alınır?

select * from user_tab_comments; 

ve 3 sütun "tablo_ismi", "TABLE_TYPE" ve "YORUMLAR" beni döndürür, ancak "TABLE_NAME" sütununda "şifreli" gibi, ben net tablo isimlerini istiyoruz :

TABLE_NAME      TABLE_TYPE COMMENTS 

BIN$IN1vjtqhTEKcWfn9PshHYg==$0 TABLE  Résultat d'intégration d'une photo numérisée 
BIN$PUwG3lb3QoazOc4QaC1sjw==$0 TABLE  Motif de fin d'agrément de maître de stage 

"user_tables; TABLE_NAME "şifrelenmiş" değil.

+0

Bazı DBA parametrelerini ayarlamanız gerekebilir. Burada çalışır: http://www.sqlfiddle.com/#!4/fbc1c/1 – ankurtr

+8

'BIN $ IN1vjtqhTEKcWfn9PshHYg == $ 0', recyclebin'deki (düşürülmüş bir tablo, sıra, görünüm ...) bir nesnedir. Onları güvenle görmezden gelebilirsiniz. El kitabındaki diğer detaylar: http://docs.oracle.com/cd/E11882_01/server.112/e25494/tables011.htm#ADMIN11679 –

cevap

13

10 g'dan beri Oracle, bir DROP TABLE deyimi yayınladığımız zaman tabloları hemen bırakmaz. Bunun yerine bunları BIN$IN1vjtqhTEKcWfn9PshHYg==$0 gibi yeniden adlandırır ve bunları geri dönüşüm kutusuna koyar. Bu, düşürmek istemediğimiz tabloları kurtarmamızı sağlar. Find out more.

Geri dönüşüm kutusu içindeki tablolar hala tablolar olduğundan, bunlar TÜM_TABLES ve benzeri görünümlerde görünür. Bu nedenle, yalnızca canlı (düşmeyen) tablolarla ilgili yorumları görmek isterseniz, tablo adına göre filtrelemeniz gerekir:

select * from all_tab_comments 
where substr(table_name,1,4) != 'BIN$' 
/
+2

Bir bayrak sütunu olmadığına inanamıyorum. is_recycled = 0' veya bir şey. Yoksa orada mı? –

İlgili konular