ORA-28001:암호가 만료되었습니다.
Oracle 데이터베이스 문제에 직면해 있습니다.데이터베이스를 열면 ORA-28001:암호가 만료되었습니다."
계정을 업데이트했습니다.
sqlplus /nolog
SQL> connect / as SYSDBA
Connected.
SQL> SELECT username, account_status FROM dba_users WHERE ACCOUNT_STATUS LIKE '%EXPIRED%';
SQL> ALTER USER system IDENTIFIED BY system;
User altered.
SQL> ALTER USER system ACCOUNT UNLOCK;
User altered.
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Profile altered.
SQL> exit
확인해보니 내 계정: '시스템'은 OPEN으로 되어 있지만 Oracle SQL Developer에서 열어도 다음과 같은 경고가 있습니다.
ORA-28001: The password has expired
많은 링크를 참조했지만 여전히 문제가 있습니다. 이 문제를 해결하려면 어떻게 해야 합니까?
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
alter user EPUSR100 identified by EPUSR100 account unlock;
commit;
문제를 해결했습니다.확인만 하면 됩니다.
open_mode from v$database
다음 사항을 확인합니다.
check account_status to get mode information
다음으로 다음을 사용합니다.
alter user myuser identified by mynewpassword account unlock;
암호가 만료된 SQL Plus의 사용자와 연결을 시도합니다.새로운 패스워드를 입력하도록 요구됩니다.새 암호를 입력하고 암호를 확인합니다.
그건 작동할 것이다.
'PASSWORD_LIFE_TIME' 체크 방법:
SQL >select * from dba_profiles;
만료되지 않음으로 설정
SQL >ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
그런 다음 잠긴 사용자의 암호를 재설정합니다.
C:\>sqlplus /nolog
SQL> connect / as SYSDBA
SQL> select * from dba_profiles;
SQL> alter profile default limit password_life_time unlimited;
SQL> alter user database_name identified by new_password;
SQL> commit;
SQL> exit;
- Oracle에 접속
- 사용자의 상태 및 만료 날짜 확인
dba_users에서 사용자 이름, account_status, expiry_date를 선택합니다.
- 만료 문제를 해결하기 위해 사용자의 암호 변경
ALTER User dummy_password로 식별되는 사용자 dummy_user;
- 사용자 계정이 잠긴 경우 잠금 해제
ALTER User dummy_사용자 계정 잠금 해제
- 향후 문제가 발생하지 않도록 암호 만료 제한을 무제한으로 설정합니다.
ALTER Profile Default Limit PASSWORD_LIFE_TIME UNLIMITED;
- 사용자의 상태를 다시 확인하여 유효기간을 확인합니다.계정 상태는 현재 열려 있으며 만료 날짜는 무제한입니다.
dba_users에서 사용자 이름, account_status, expiry_date를 선택합니다.
SQL 명령어:
sqlplus sys/root를 sysdba로 지정
dba_users에서 사용자 이름, account_status, expiry_date를 선택합니다.
ALTER User dummy_password로 식별되는 사용자 dummy_user;
ALTER User dummy_사용자 계정 잠금 해제
ALTER Profile Default Limit PASSWORD_LIFE_TIME UNLIMITED;
비밀번호를 변경해도 SQLDEVELAPOER에 반영되지 않아 문제가 발생하였습니다.
다음 Atlast로 문제를 해결했습니다.
- 오픈 명령어 프로포지트
- sqlplus 입력
- sysdba로 로그인
- NEW_PASSWORD로 식별된 사용자 이름 변경 명령을 실행합니다.
같은 문제가 있었습니다.데이터베이스 로그인을 시도하고 있습니다.ORA-28001:패스워드가 유효기간이 지났습니다」, 문제의 간단한 순서를 수정했습니다.
1. open 명령 프롬프트 2.type sqlplus 3.Enter Password(비밀번호 입력)라고 하면 이전 비밀번호를 입력하면 비밀번호가 만료되었습니다.ORA-28001 4라고 표시됩니다.새로운 패스워드를 묻고 패스워드 5를 재입력합니다.새로운 패스워드 6으로 변경됩니다.SQL 데이터베이스로 이동하여 새 비밀번호로 연결을 시도하면 연결됩니다.
Oracle 18c를 Docker 컨테이너에서 실행하고 있는데, 문제가 있는 데이터베이스가 Pluggable 데이터베이스이기 때문에 다른 접근방식을 취해야 했습니다.
SYSDBA 로그인
Pluggagle 데이터베이스로 전환
ALTER SESSION SET CONTAINER=XEPDB2;
비밀번호 만료 제거
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
현재 사용자 세부 정보 가져오기
SELECT dbms_metadata.get_ddl('USER','username') stmt from dual;
「 「 」를 교환해 .
username
★★★★★★★★★★★★★★★★★★★★★★★★★★★출력은 다음과 같습니다.
CREATE USER "…" IDENTIFIED BY VALUES '…'
암호를 재설정하려면 다음과 같이 실행합니다.
ALTER USER "…" IDENTIFIED BY VALUES '…' ACCOUNT UNLOCK;
…이전 단계의 사용자 이름과 비밀번호를 사용합니다.
여기와 다른 답변의 조합입니다.
기한이 만료된 사용자를 확인하려면 SELECT * FROM <DATABASE USER/PROFILES> 명령을 실행합니다.
사용자 잠금을 해제하려면 계정 잠금 해제로 식별된 사용자 변경 명령을 실행합니다.
가 더 했을 경우는, 「 」ORA-65066: The specified changes must apply to all containers
CDB를 사용하다
alter session set container=CDB$ROOT;
다음으로 alter 명령어가 동작합니다.
alter user USER identified by NEW_PASSWORD account unlock;
심플...Goto 명령 프롬프트를 표시하고 SQLPLUS /@connect 문자열 Enter 키를 누릅니다.
패스워드가 만료되어 새로운 패스워드를 입력할 수 있는 옵션이 표시됩니다.새 비밀번호를 입력하면 완료됩니다.
데이터베이스가 있는 머신으로 이동하여 검색창 -> 검색SqlPlus 사용자 이름을 입력하고 비밀번호를 입력하면 새 비밀번호를 입력하라는 메시지가 나타납니다.새로운 패스워드를 입력하면 패스워드가 정상적으로 변경되었다고 표시됩니다.
CDB/PDB가 잘못되었으므로 올바른 PDB에 연결합니다.
언급URL : https://stackoverflow.com/questions/40581131/ora-28001-the-password-has-expired
'source' 카테고리의 다른 글
VB6/VBA용 JSON 파서가 있습니까? (0) | 2023.03.17 |
---|---|
소품에서 일치 개체를 참조하려면 어떤 TypeScript 유형을 사용해야 합니까? (0) | 2023.03.17 |
ng-repeat 추적 기준 및 필터 및 순서 미작동 (0) | 2023.03.17 |
ETH/B와 같은 모든 시장 쌍 목록을 검색하는 방법바이낸스 API를 사용하는 TC? (0) | 2023.03.17 |
GSON 오브젝트 생성 (0) | 2023.03.17 |