إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

لو عايز اعرف ازاى اى OBJECT VALID OR INVA


10 رد (ردود) على هذا الموضوع

#1 محمد سعيد

محمد سعيد

    عضو مميز

  • الأعضــاء
  • 534 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 19 January 2006 - 12:25 AM

السلام عليكم
ازاى اعرف اى OBJECT VALID OR INVALID

#2 هانى سند

هانى سند

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 743 مشاركة

تاريخ المشاركة 19 January 2006 - 10:53 AM

السلام عليكم
اذا لم يكن عندك اي اداة gui للعمل علي الداتا بيز مثل تود او وراكل رابتور فيمكن بجملة سيليكت سريعة ان تعرف حالة الاوبجكت اذا كان valid or invalid
SELECT object_name, status
  FROM dba_objects dbo
 WHERE dbo.owner = USER
طبعا ضيف اسم الاوبجكت و نوعه
و غير يوزر ليكون اسم اليوزر صاحب الاوبجكت حسب ما تريد
بالتوفيق

#3 ابو صالح

ابو صالح

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,253 مشاركة
  • البـلـد: Country Flag
  • المنصب الحالي:(رحمه الله)

تاريخ المشاركة 19 January 2006 - 03:54 PM

ولعمل recompile لها
ALTER PACKAGE package_name COMPILE;
ALTER PACKAGE package_name COMPILE BODY;
ALTER PROCEDURE procedure_name COMPILE;
ALTER FUNCTION function_name COMPILE;
ALTER TRIGGER trigger_name COMPILE;
ALTER VIEW view_name COMPILE;



كما يمكن عمل recompile لكل العناصر invalid عن طريق سكربت UTLRP وتجده في المجلد
$oracle_home$/rdbms/admin/utlrp

<span style='font-size:11pt;line-height:100%'>
زكاة العلم نشرة

Oracle Certifed Expert, OCE RAC
Oracle Certified Professional OCP 9i,10g
ITIL v3

</span>


#4 محمد سعيد

محمد سعيد

    عضو مميز

  • الأعضــاء
  • 534 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 20 January 2006 - 12:23 AM

السلام عليكم
هذا الكود لا يعمل[code=auto:0]

SELECT XX ,STATUS
FROM DBA_OBJECTS DBO
WHERE DBO.OWNER=SCOTT


وطبعا XX اسم PROCEDURE

#5 ابو صالح

ابو صالح

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,253 مشاركة
  • البـلـد: Country Flag
  • المنصب الحالي:(رحمه الله)

تاريخ المشاركة 20 January 2006 - 07:34 AM

لا XX ليست اسم procedure بل هو اسم العمود في هذا الجدول .

<span style='font-size:11pt;line-height:100%'>
زكاة العلم نشرة

Oracle Certifed Expert, OCE RAC
Oracle Certified Professional OCP 9i,10g
ITIL v3

</span>


#6 محمد سعيد

محمد سعيد

    عضو مميز

  • الأعضــاء
  • 534 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 20 January 2006 - 07:52 AM

جزاكم الله خير اخ ابو صالح بس انا اقصد ال FUNCTION او الPROCEDURE مش الجدول

#7 هانى سند

هانى سند

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 743 مشاركة

تاريخ المشاركة 22 January 2006 - 01:06 PM

الأخ ابو صالح يقصد ان الجدول هو جدول dba_objects و النتائج من هذه السيليكت ستكون اسم الاوبجكت سواء كان فانكشن او بروسيدر او تابل
و حالتها
اذا كانت valid or invalidو يمكن عمل ريكومبايل لها كما تفضل الاخ ابو صالح و اضاف
و اذا كنت تريد فقط الاوبجكت من نوع بروسيدر او فانكشن اضف شرط لهذا
object_type='PROCEDURE'
بالتوفيق

#8 eddy

eddy

    مشترك

  • الأعضــاء
  • 133 مشاركة

تاريخ المشاركة 22 January 2006 - 10:30 PM

بسم الله الرحمن الرحيم
هناك طريقه سهله جدا للتعرف اذا ما كان الprocedure و ال function
valid or invalid
وهي :
select *
from user_bjects
where object_name in ('PROCEDURE' , 'FUNCTION')
وستظهر لك الحاله
-----------------
واذا احببت التعرف علي محتوي ال PROCEDURE او ال FUNCTION بفرض ان اسم محتوي ال PROCEDURE او ال FUNCTION هو xxx
SELECT text
from user_source
where name =xxx

Senior Developer


#9 محمد سعيد

محمد سعيد

    عضو مميز

  • الأعضــاء
  • 534 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 23 January 2006 - 12:25 AM

جزاكم الله خيرا جميعا

#10 محمد سعيد

محمد سعيد

    عضو مميز

  • الأعضــاء
  • 534 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 23 January 2006 - 12:10 PM

السلام عليكم الاخ eddy
هذة الاكواد لا تعمل معى ارجو تجربتها وارسالها سليمة
SELECT text
from user_source
where name =xxx
وهذا ايضا
select *
from user_bjects
where object_name in ('PROCEDURE' , 'FUNCTION'

#11 eddy

eddy

    مشترك

  • الأعضــاء
  • 133 مشاركة

تاريخ المشاركة 25 January 2006 - 03:55 PM

جل من لا يسهو
الكود الاول
SELECT text
from user_source
where name =اسم الاوبجيكت سواء كانت فنكشن او غيرها و يكون الاسم بين سينجل كوتيشن


الكود الثاني هو' select * from user_objects where object_type = 'PROCEDURE اذا كنت تبحث عن PROCEDURE
او ' select * from user_objects where object_type = 'FUNCTIONاذا كنت تبحث عن FUNCTION


وارجو الافاده

Senior Developer