Я работаю над проектом, цель которого проста. У нас есть суррогатный ключ, тип данных которого необходимо изменить с целого на десятичный (18,0), чтобы вместить больше транзакций из-за роста бизнеса. Судя по всему, это поле очень важно и упоминается в тысячах объектов.
Я хочу найти автоматизированный способ идентификации всех объектов, в которых это поле присутствует или упоминается. Имя поля, скажем, SRV_ACCS_XXX. Это таблицы/представления/макросы и т. д., которые ссылаются на это поле.
Мысль будет использовать системные таблицы каталога/системы :). Это проблема, с которой я столкнулся. В dba_col_comments есть объекты, которые ссылаются на поле SRV_ACCS, однако эти объекты не имеют записи в dba_objects, поэтому я получаю тип объекта как нулевой. Имена объектов похожи на "BIN$01gtIjJPB0vgRAALXeCowg==$0"
, однако они имеют допустимое имя схемы базы данных.
Верен ли мой подход? Если да, то что это за типы объектов - с именами "BIN$01gtIjJPB0vgRAALXeCowg==$0"? Как я могу удалить временные объекты/изменчивые объекты из результата, чтобы получить только постоянно созданные объекты?. Потому что каждый раз, когда я запускаю запрос без каких-либо изменений, он дает разные результаты.
Пожалуйста, прочитайте следующий запрос.
select
current_date "Load_date",
NULL "Tower_owner",
'Oracle Production' as "Environment_Name",
Object_Details_Tbl.TABLE_NAME "Object_Name",
object_typ_tbl.object_type "Object Type",
1 "Num Occurances",
Object_Details_Tbl.Owner "Database Schema",
'p1etl1d8.edc.cingular.net' "Server",
'N/A' "Object_Repository",
'Oracle Table' "Object_Description",
'N/A' "Object_Folder_Name",
'N/A' "Object_Directory_Name",
'A' AS "Object_Status"
from dba_col_comments Object_Details_Tbl
left outer join
dba_objects Object_Typ_Tbl
on
object_details_tbl.table_name = object_typ_tbl.object_name
and
object_details_tbl.owner = object_typ_tbl.owner
where Object_Details_Tbl.column_name like('%SRV_ACCS_%')
Спасибо Маркив.
INTEGER
является синонимомNUMBER(38,0)
, аDECIMAL(18,0)
—NUMBER(18,0)
. Таким образом, вы пытаетесь уменьшить максимальное значение, которое может быть сохранено в столбце, на 20 порядков. Это, кажется, противоречит заявленному желанию разместить больше транзакций из-за роста. Вы действительно хотите уменьшить размер столбца? - person Justin Cave   schedule 16.01.2013select * from user_recyclebin
для просмотра). - person DazzaL   schedule 16.01.2013