2012-11-20 24 views
5

मुझे ओरेकल में dbms_crypto.hash() फ़ंक्शन का उपयोग करने में समस्या है।नियमित उपयोगकर्ता के रूप में ओरेकल में dbms_crypto फ़ंक्शंस कैसे चलाएं?

मैं के रूप में sqlplus का उपयोग कर डेटाबेस सर्वर से कनेक्ट "sys/sysdba के रूप में पासवर्ड", तो मैं dbms_crypto पैकेज स्थापित:

@/home/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/dbmsobtk.sql 
@/home/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/prvtobtk.plb 
Grant execute on dbms_crypto to public; 
Grant execute on dbms_sqlhash to public; 
Grant execute on dbms_obfuscation_toolkit to public; 
Grant execute on dbms_obfuscation_toolkit_ffi to public; 
Grant execute on dbms_crypto_ffi to public; 

सब कुछ अच्छा लग रहा है, तो मैं hash() समारोह का परीक्षण किया:

SQL> select dbms_crypto.hash(utl_raw.cast_to_raw('zorg'), 3) from dual; 

DBMS_CRYPTO.HASH(UTL_RAW.CAST_TO_RAW('ZORG'),3) 
-------------------------------------------------------------------------------- 
60C440F9954CA4744204CDA9CC93567059C1EC82 

मैंने नियमित रूप से उपयोगकर्ता के रूप में डिस्कनेक्ट किया और उस डेटाबेस से कनेक्ट किया, लेकिन फिर मुझे त्रुटि मिली:

SQL> select dbms_crypto.hash(utl_raw.cast_to_raw('zorg'), 3) from dual; 
select dbms_crypto.hash(utl_raw.cast_to_raw('zorg'), 3) from dual 
      * 
ERROR at line 1: 
ORA-06521: PL/SQL: Error mapping function 
ORA-06512: at "MN.DBMS_CRYPTO_FFI", line 131 
ORA-06512: at "MN.DBMS_CRYPTO", line 72 

मैं इस फ़ंक्शन का नियमित उपयोगकर्ता के रूप में उपयोग क्यों नहीं कर सकता? अन्य उपयोगकर्ताओं को इसका उपयोग करने की अनुमति कैसे दें?

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production 

उत्तर

8

समस्या हल:

मैं के साथ काम करते हैं। मैंने पैकेज को गलत उपयोगकर्ता के रूप में बनाया है। उचित तरीके: dbms_crypto पैकेज से नियमित उपयोगकर्ता और उपयोग कार्यों के रूप में

@/home/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/dbmsobtk.sql 
@/home/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/admin/prvtobtk.plb 
  • कनेक्ट:

    1. का उपयोग कर कनेक्ट:

      sqlplus/as sysdba 
      
    2. संकुल स्थापित करें।

  • +0

    माइकल की रिपोर्टिंग के लिए धन्यवाद। क्या आप संकेत दे सकते हैं कि दूसरों को इससे मदद मिल सकती है? अन्यथा आप सवाल बंद करना चाहते हैं। –

    +1

    मुझे लगता है कि दूसरों की मदद की जा सकती है। –