Oracle

如何將所有 Oracle 配置文件 PASSWORD_LIFE_TIME 更改為 UNLIMITED?

  • February 9, 2016

這個查詢:

select distinct profile from dba_profiles;

返回 3 行:

  • 預設
  • 預設1
  • 預設2。

我想將PASSWORD_LIFE_TIME所有這些配置文件更改為UNLIMITED使用單個查詢或不手動在查詢中傳遞配置文件名稱。

因為我不知道系統中有多少個配置文件,所以配置文件的數量會有所不同。我必須在多個系統中執行此查詢。

您可以簡單地在 PL/SQL 中循環執行它:

begin
 for c in (select distinct profile from dba_profiles)
 loop
   execute immediate 'alter profile ' || c.profile || ' limit password_life_time unlimited';
 end loop;
end;
/
DECLARE
 v_query varchar2(1024) := '';
BEGIN
FOR x IN (SELECT DISTINCT PROFILE FROM dba_profiles)
loop
 v_query := 'alter profile ' || x.PROFILE || ' limit password_life_time unlimited';
 execute immediate v_query;
end loop;
END;
/

引用自:https://dba.stackexchange.com/questions/128707