기억의 습작

oracle 에러코드 본문

DB/oracle

oracle 에러코드

뿌사리다 2021. 8. 29. 00:34

ORA-01017: invalid username/password; logon denied

  • SQL> connect / as sysdba 입력시 발생하는 에러라면

SQL> connect sys/oracle as sysdba   (계정및 패스워드를 함께 입력)

  • 원인: ConnectionPool 로 아이디 패스워드가 틀린 것으로 판단

해결: Server → context.xml 에서 아이디 패스워드 확인 및 username, password 철자확인

<Resource
  auth = “Container”
  driverClassName = “oracle.jdbc.driver.OracleDriver”
  url = “jdbc:oracle:thin:@localhost:1521:xe”
  username = “ppusari”
  password = “oraclepw”
  name = “jdbc/Oracle11g”
  type = “javax.sql.DataSource”
  maxActive = “50”
  maxWait = “1000”
/>

ORA-01031: insufficient privileges

ORA-01034

DB가 꺼져있는 상태에서 다른 계정으로 접근시 발생

$ sqlplus /nolog

SQL> conn sys/ as sysdba

SQL> startup

ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

  • 리스너를 재시작 해줘야함?

ORA-12712: new character set must be a superset of old character set

  • SQL> sysdba 권한으로 로그인한 후
  • SQL> update SYS.PROPS$ set value$=’KO16KSC5601′ where name=’NLS_CHARACTERSET’ ;
  • SQL> commit;
  • SQL> shutdownimmediate;
  • SQL> startup;

ORA-27101: shared memory realm does not exist Linux-x86_64 Error: 2: No such file or directory

위와 같은 에러가 발생이 된다면 데이터베이스가 기동되지 않았기 때문입니다.

DBA 권한이 없는 일반 유저 계정은 데이터베이스가 기동중인 경우에만 데이터베이스에 접근할 수 있습니다. DBA 권한을 가진 SYS 계정으로 로그인해야 STARTUP 명령어로 데이터베이스를 기동할 수 있습니다. 우선 SYS 계정으로 로그인 합니다.

sqlplus sys/change_on_install as sysdba

sys 계정으로 로그인하였다면 다음과 같이 입력하여 데이터베이스를 기동합니다.

startup

이렇게 기동한 후에는 scott 계정으로 접속이 가능해집니다.

ORA-28000: the account is locked (시스템 패스워드 잠겼을때)

  # sqlplus “/ as sysdba”  ← 접속

  SQL> SELECT USERNAME, ACCOUNT_STATUS, TO_CHAR(LOCK_DATE,’YY/MM/DD HH24:MI’) LOCK_DATE, PROFILE FROM DBA_USERS;  ← 상태확인

  SQL> ALTER USER system ACCOUNT UNLOCK; ← 잠김풀기

ORA-28002: password will expire within 7 days  (DB접속시 패스워드 만료경고 뜰경우)

명령을 통해 PASSWORD_LIFE_TIME 값이 180일로 되어있으면 늘려준다.

  • SQL> SELECT RESOURCE_NAME, LIMIT FROM DBA_PROFILES WHERE PROFILE = ‘DEFAULT’ AND RESOURCE_TYPE = ‘PASSWORD’;

패스워드 변경기한을 무제한으로 늘림

  • SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
  • SQL> commit;

ORA-28001: the password has expired 에러 발생시

원인: 오라클 패스워드 만료

해결: C:> sqlplus system/oraclepw  기존 암호로 들어가서 새로 변경하면 됨.

728x90
반응형
LIST

'DB > oracle' 카테고리의 다른 글

SQL developer in Ubuntu  (0) 2021.08.29
Oracle 설치 in CentOs  (0) 2021.08.29
Oracle 설치 및 계정관리 in Windows  (0) 2021.08.29
테이블스페이스(tablespace)  (0) 2021.08.29
오라클 캐릭터 변경  (0) 2021.08.28