अन्य उत्तर राज्य के रूप में, उपयोगकर्ता के प्रोफ़ाइल (जैसे 'डिफ़ॉल्ट' प्रोफ़ाइल) उचित रूप से, पासवर्ड के लिए नेतृत्व करेंगे कि एक बार सेट, समय सीमा समाप्त हो कभी नहीं होगा बदलते।
हालांकि, एक टिप्पणीकर्ता बताता है कि प्रोफ़ाइल के पुराने मानों के तहत सेट किए गए पासवर्ड पहले से ही समाप्त हो चुके हैं, और (यदि प्रोफ़ाइल की निर्दिष्ट अनुग्रह अवधि के बाद) खाता लॉक हो गया है।
बंद कर दिया खातों के साथ समाप्त पासवर्ड (एक आंसरिंग टिप्पणी में प्रदान की जाती के रूप में) के लिए समाधान ALTER उपयोगकर्ता आदेश में से एक संस्करण का उपयोग करने के लिए है:
ALTER USER xyz_user ACCOUNT UNLOCK;
हालांकि अनलॉक आदेश केवल खातों जहां खाता है के लिए काम करता वास्तव में बंद कर दिया गया है, लेकिन उन खातों के लिए नहीं जो अनुग्रह अवधि में हैं, जहां पासवर्ड समाप्त हो गया है लेकिन खाता अभी तक बंद नहीं हुआ है।
ALTER USER xyz_user IDENTIFIED BY new_password;
नीचे एक छोटे से एसक्यूएल * प्लस स्क्रिप्ट कि एक विशेषाधिकार प्राप्त उपयोगकर्ता (जैसे उपयोगकर्ता SYS ') एक उपयोगकर्ता का पासवर्ड रीसेट करने के लिए उपयोग कर सकते हैं: इन खातों के लिए पासवर्ड ALTER उपयोगकर्ता आदेश का एक और संस्करण के साथ रीसेट किया जाना चाहिए डेटाबेस में संग्रहीत मौजूदा मौजूदा हैश मान के लिए।
REM Tell SQL*Plus to show before and after versions of variable substitutions
SET VERIFY ON
SHOW VERIFY
REM Tell SQL*Plus to use the ampersand '&' to indicate variable substitution expansion
SET DEFINE '&'
SHOW DEFINE
REM Specify in a SQL*Plus variable the account to 'reset'
DEFINE USER_NAME = 'xyz_user'
REM Show the status of the account before reset
SELECT
ACCOUNT_STATUS,
TO_CHAR(LOCK_DATE, 'YYYY-MM-DD HH24:MI:SS') AS LOCK_DATE
FROM
DBA_USERS
WHERE
USERNAME = '&USER_NAME';
REM Create a SQL*Plus variable to hold the hash of existing password
DEFINE OLD_PASSWORD = ""
REM Tell SQL*Plus where to store the value to be selected with SQL
COLUMN PWORDHASH NEW_VALUE OLD_PASSWORD
REM Select the old hash password as a delimited string
SELECT
'''' || PASSWORD || '''' AS PWORDHASH
FROM
SYS.USER$
WHERE
NAME = '&USER_NAME';
REM Show the contents of the SQL*Plus variable
DEFINE OLD_PASSWORD
REM Reset the password
ALTER USER &USER_NAME IDENTIFIED BY VALUES &OLD_PASSWORD;
REM Show the status of the account after reset
SELECT
ACCOUNT_STATUS,
TO_CHAR(LOCK_DATE, 'YYYY-MM-DD HH24:MI:SS') AS LOCK_DATE
FROM
DBA_USERS
WHERE
USERNAME = '&USER_NAME';
स्रोत
2014-04-24 19:14:37
का जवाब कर सकते हैं। मैं इसे मजबूर नहीं कर रहा हूं क्योंकि आपने कहा था कि आप इसे विकास के लिए उपयोग कर रहे हैं, और मुझे लगता है कि यहां कोई मौका है कि यहां कोई व्यक्ति जानता होगा और/या यहां अन्य लोगों को इस जानकारी से फायदा हो सकता है। –
मुझे लगता है कि मैं बस यही करूँगा। मैं बहस कर रहा था कि यह साइट किस लिए अधिक उपयुक्त थी, क्योंकि यह एक मूल डेटाबेस प्रश्न है और इतना डीबीए चीज नहीं है। –
सुनिश्चित नहीं है कि डुप्ली नीति क्रॉस-साइट प्रश्नों के लिए क्या है, लेकिन यहां लिंक है: http://serverfault.com/questions/37622/how-do-i-turn-off-oracle-password-expiration –