Oracle SQL Developer로 비밀번호 변경


139

많은 사용자들이 SQLPlus를 사용하지 않습니다. 나는 그들에게 사용자를 변경할 수 없습니다. 60 일마다 비밀번호가 만료됩니다.

SQLPlus 명령 "password"를 SQL 개발자에서 작동시킬 수 없습니다.

  1. 실행하면 잘못된 명령 오류가 발생합니다.
  2. 실행 스크립트를 쳐도 아무 일도 일어나지 않습니다.

데이터베이스가 많기 때문에 암호를 변경하기 위해 패키지를 작성하고 싶지 않습니다. 더 나은 옵션이 있습니까?


4
SQL 명령을 통해 SQL Developer에서 만료 된 비밀번호를 변경할 수 없습니다. JDBC 스택에서는 지원되지 않습니다. 이를 위해 OCI 라이브러리가 필요합니다. SQL 개발자는 OCI 스택이 올바르게 설치된 경우 OCI 스택을 통해 비밀번호를 재설정하고 만료 할 수 있습니다. 자세한 내용은 내 답변을 참조하십시오.
Frobbit

SQL Developer 4.1.0.17로이를 수행 할 수 있습니다. 아래 답변을 참조하십시오.
퍼지 분석

답변:


189

SQL Developer를 사용하여 비밀번호를 업데이트하는 올바른 구문 은 다음과 같습니다.

alter user user_name identified by new_password replace old_password ;

이 명령에 대한 추가 옵션을 여기서 확인할 수 있습니다. ALTER USER-Oracle DOCS


29
또한 비밀번호의 특수 문자를 피하려면 비밀번호를 큰 따옴표로 묶어야합니다. 예를 들어, asktom.oracle.com/pls/asktom/…에 대한 alter user __user_name__ identified by "newp@ss!!!" replace "oldp@ss!!!"추가 정보
Bryant Bowman

6
귀하의 암호가 만료 된 경우, 이것을 실행하기 위해 로그인하십시오. 답변 질문이지만 질문은 아닙니다.
벤 조지

105

SQL 워크 시트에서 :

  • "암호"를 입력하십시오 (따옴표없이).

  • 강조 표시하고 CTRL+를 누르십시오 ENTER.

  • 비밀번호 변경 화면이 나타납니다.


4
"password someusername"
Anna

3
"Run statement"작업을 의미한다고 가정합니다. 기본 단축키는 Ctrl + Enter 입니다.
Álvaro González

70

SQL Developer에는 상황에 따라 작동 할 수있는 기본 제공 암호 재설정 옵션이 있습니다. 워크 스테이션에 Oracle Instant Client도 추가해야합니다. SQL 개발자가 시작될 때 인스턴트 클라이언트가 경로에 있으면 다음 옵션을 사용할 수 있습니다.

SQL Developer : 비밀번호 재설정 옵션을 표시하는 드롭 다운 메뉴

Oracle Instant Client는 설치하기 위해 관리자 권한이 필요하지 않으며 디렉토리에 쓰고 해당 디렉토리를 사용자 경로에 추가 할 수 있습니다. 대부분의 사용자는이 작업을 수행 할 권한이 있습니다.

요약 : Oracle SQL Developer에서 비밀번호 재설정을 사용하려면 다음을 수행하십시오.

  1. 디렉토리에서 Oracle Instant Client의 압축을 풀어야합니다
  2. Oracle Instant Client 디렉토리를 사용자 경로에 추가해야합니다
  3. 그런 다음 Oracle SQL Developer를 다시 시작해야합니다.

이 시점에서 데이터 소스를 마우스 오른쪽 단추로 클릭하고 비밀번호를 재설정 할 수 있습니다.

전체 연습 은 http://www.thatjeffsmith.com/archive/2012/11/resetting-your-oracle-user-password-with-sql-developer/ 를 참조하십시오 .

오라클 문서의 주석도 참조하십시오 : http://docs.oracle.com/cd/E35137_01/appdev.32/e35117/dialogs.htm#RPTUG41808

SQL Developer (버전 4.0.1에서 테스트)가 OS X에서 Instant Client를 인식하고 사용하도록하는 대체 구성은 다음과 같습니다.

  1. 환경 설정-> 데이터베이스-> 고급-> Oracle 클라이언트 사용에서 Instant Client로 경로 설정
  2. 환경 설정 대화 상자에서 구성 ...-> 테스트 ... 옵션을 사용하여 인스턴스 클라이언트를 성공적으로로드 할 수 있는지 확인하십시오.
  3. (OS X) 이 질문을 참조하십시오 DYLD_LIBRARY_PATH 환경 변수와 관련된 문제를 해결 을 . 다음 명령을 사용한 다음 SQL Developer를 다시 시작하여 변경 사항을 적용했습니다.

    $ launchctl setenv DYLD_LIBRARY_PATH / path / to / oracle / instantclient_11_2


1
모든 사용자에게 해당되는 것은 아닙니다. 80 (
Keng

흠, 나를 위해 작동하지 않는 것 같습니다. Mac에서 PATH 업데이트가 실제로 필요한 모든 것인지 궁금합니다.
fudo

나는 집에서 Mac을 사용하지만 직장에서는 Windows PC를 사용합니다. 우리는 곧 맥으로 전환하고 있습니다. 세부 정보를 찾으면 게시하겠습니다.
Frobbit

1
Google은 매우 유용합니다 :-) 내가 찾은 oracle.com/technetwork/topics/linuxx86-64soft-092277.html 이 오래되었습니다. 다시 구글을 사용하려면 goo.gl/kU5ZdM
Frobbit를

1
감사합니다. Windows 7 64bit에서 작동했습니다. 그래도 추가 단계 (위의 OS X 구성의 첫 단계와 동일)를 거쳐야했습니다. 그렇지 않으면 '암호 재설정'옵션이 회색으로 유지됩니다. > 데이터베이스 - -> 고급 -> 사용 오라클 클라이언트 환경 설정에서 인스턴트 클라이언트에 4. 경로
marciowerner

24

사용자는 " newpassword로 식별 된 사용자 이름 만 변경"을 통해 여전히 비밀번호를 변경할 수 있습니다 . 자신의 암호를 변경하기 위해 ALTER USER 권한이 필요하지 않습니다.


16

관리자 설정에 따라 REPLACE 옵션을 사용하여 이전 비밀번호를 지정해야 할 수도 있습니다

alter user <username> identified by <newpassword> replace <oldpassword> 

새 비밀번호와 이전 비밀번호가 동일 할 수 있습니까?
Haris Mehmood

2
이 답변은 잘못되었습니다. newpassword와 oldpassword가 바뀝니다. 대신 stackoverflow.com/a/10809140/643483 을 사용하십시오
Aaron Kurtzhals

1
@AaronKurtzhals 당신이 참조하는 대답은 내 대답과 같은 것을 말합니다. 여기에서 오라클 문서를 참조하십시오 : docs.oracle.com/cd/B19306_01/server.102/b14200/…
Gerry Gurevich

추가해야 할 중요한 것은 (이 같은 질문에 대한 그의 대답에서 @pgs에 의해 수행 된) 특수 문자가 포함되어 있으면 암호를 따옴표로 묶어야 할 수도 있습니다.
Gerry Gurevich

10

좀 더 명확하게하려면 :

사용자 이름 : abcdef 및 이전 비밀번호 : a123b456, 새 비밀번호 : m987n654

사용자 변경 abcdefm987n654로 식별 된 하십시오 . a123b456을 대체 하십시오 .


9

나는 많은 답변이 있다는 것을 알고 있지만 일부에게는 도움이 될만한 해결책을 찾았습니다. 같은 문제가 발생하여 로컬 컴퓨터에서 Oracle sql develop을 실행 중이며 많은 사용자가 있습니다. 내 사용자 중 하나의 비밀번호를 기억하고 다른 사용자의 비밀번호를 재설정하는 데 사용했습니다.

단계 :

  1. 유효한 사용자와 비밀번호를 사용하여 데이터베이스에 연결하십시오. 제 경우에는 "시스템"을 제외한 모든 사용자가 만료되었으며 해당 비밀번호를 기억합니다

  2. 아래 이미지가 표시되는대로 트리에서 "Other_users"노드를 찾으십시오.

여기에 이미지 설명을 입력하십시오

3. "Other_users"트리에서 비밀번호를 재설정 할 사용자를 찾은 다음 메모를 마우스 오른쪽 단추로 클릭하고 "사용자 편집"을 선택하십시오.

여기에 이미지 설명을 입력하십시오

4. 사용자 편집 대화 상자에서 새 비밀번호를 입력하고 "적용"을 클릭하십시오. "비밀번호가 만료되었습니다 (사용자는 다음 로그인을 변경해야합니다)"를 선택 해제했는지 확인하십시오.

여기에 이미지 설명을 입력하십시오

그리고 그것은 나를 위해 일했습니다. 적어도 하나의 계정에 로그인 할 수 있어야하지만 다른 솔루션만큼 좋지 않습니다.


7

이것이 SQL Developer 3.0.04에서 작동 함을 확인했습니다. 암호에는 특수 문자가 필요하므로 큰 따옴표로 묶인 문자열이 필요합니다. 물론 암호가 아직 만료되지 않았고 현재 로그인 한 경우에만 작동합니다.

ALTER USER MYUSERID
IDENTIFIED BY "new#password"
REPLACE "old#password"

3
이 답변은 잘못되었습니다. newpassword와 oldpassword가 바뀝니다. 대신 stackoverflow.com/a/10809140/643483 을 사용하십시오
Aaron Kurtzhals

3

SQL Developer의 Reset Password 옵션이 작동하지 않으면 이 솔루션을 사용해보십시오 .

1 단계 : SQL Developer 설치 패키지와 함께 제공되는 시작 메뉴에서 SQL 명령 줄 실행을 엽니 다.

2 단계 : 다음 명령을 실행하십시오.

여기에 이미지 설명을 입력하십시오

참고 : 비밀번호가 이미 만료 된 경우 Changing password for <user>옵션이 자동으로 나타납니다.


2

내장 비밀번호 재설정 옵션이 사용자에게 작동하지 않을 수 있습니다. 이 경우 다음 SQL 문을 사용하여 비밀번호를 재설정 할 수 있습니다.

ALTER user "user" identified by "NewPassword" replace "OldPassword";

1

DBA_USERS 테이블에서 사용자를 찾을 수 있습니다.

SELECT profile
FROM dba_users
WHERE username = 'MacsP'

이제 시스템 / 시스템 (관리자)으로 이동하여 쿼리를 사용하십시오.

ALTER USER PRATEEK
IDENTIFIED BY "new_password"
REPLACE "old_password"

계정 상태를 확인하려면

SELECT * FROM DBA_USERS.

사용자 상태를 볼 수 있습니다.


1

이제 관리자 권한이있는 다른 계정이 있다고 가정하면 PL / SQL이 필요하지 않은 SQL Developer 4.1.0.17 에서이 작업을 수행 할 수 있습니다 .

  1. 대체 관리 사용자로 SQL Developer 4.1.0.17에서 데이터베이스에 대한 연결 작성
  2. 연결되면 "기타 사용자"섹션을 펼치고 비밀번호가 만료 된 사용자를 마우스 오른쪽 단추로 클릭하십시오. "사용자 편집"을 선택하십시오.
  3. "Password Expired ..."체크 상자를 체크 해제하고 사용자의 새 암호를 입력 한 후 "Save"를 누르십시오.
  4. 작업 완료! 비밀번호가 만료 된 사용자와 연결하여 다시 유효한지 테스트하여 테스트 할 수 있습니다.

1

명령 프롬프트를 통해 비밀번호재설정하는 다른 방법이 있습니다 ...

1) 시작 메뉴에서 Oracle Database 폴더 (필자의 경우 Oracle Database 11g Express Edition)로 이동하십시오.

2) 해당 폴더에서 "Run SQL Commandline"을 클릭 하십시오.

Oracle 데이터베이스 폴더 이미지

3) 유형 " 연결 사용자 이름 / 암호 인용 부호없이"(사용자 이름과 이전 암호를)

4) 표시되는 메시지는 ...

오류 : ORA-28001 : 암호가 만료되었습니다

hr의 비밀번호 변경

-> 새 비밀번호 :

사용자 이름, 비밀번호 이미지를 입력하십시오

5) 새 비밀번호를 입력하십시오

6) 새 비밀번호를 다시 입력하십시오

7) 표시되는 메시지는 ...

비밀번호가 변경되었습니다.

SQL>

8) SQL 개발자로 이동-> 새 비밀번호 입력-> 연결됨


질문이 제기 된 지 5 년이 지난 후에도 OP가 여전히 활성화되어 있지만 답변이 더 이상 관련이 없을 수 있습니다.
딸기

@Strawberry가 질문에 대답하면 왜 안됩니까? !!
Muhammed Refaat

1

sysdba 또는 sys의 암호 설정이없고 정기적으로 타사 클라이언트를 사용하는 사람들을위한 참고 사항입니다. 여기에 도움이되는 암호없이 명령 줄 sqlplus에 로그인하는 방법에 대한 정보가 있습니다. 나는 페도라 21을 사용하고 있습니다.

locate sqlplus

필자의 경우 sqlplus는 다음 위치에 있습니다.

/u01/app/oracle/product/11.2.0/xe/config/scripts/sqlplus.sh

이제 실행

cd /u01/app/oracle/product/11.2.0/xe/config/scripts
./sqlplus.sh / as sysdba

이제 이전 자격 증명으로 데이터베이스에 연결해야합니다. 출력에서 Oracle 제공 템플리트를 찾을 수 있습니다.

Use "connect username/password@XE" to connect to the database.

제 경우에는 암호 "oracle"을 가진 "oracle"사용자가 있으므로 입력 내용은 다음과 같습니다.

connect oracle/oracle@XE

끝난. 이제 새 비밀번호를 두 번 입력하십시오. 그런 다음 비밀번호가 더 이상 만료되지 않게하려면 실행할 수 있습니다.

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.