오늘같은 삽질을 안하려면...
1. 처음 데이터베이스에 접속하려면 사용자명에 sys as sysdba 입력후 접속한다.
2. 혹시 db가 꺼져있으면 startup 한다.
3. user를 만들어야 하는데 오라클 12c부터는 대소문자 구분을 해야하므로 명령어를 넣는다.
4. 사용자만들고 권한을 준다.
오늘의 삽질 순서 기록...
오류발생 ---> ORA-01034: ORACLE not available
* 참고한 블로그 : doracle.tistory.com/44
db가 꺼져있는 상태에서 다른 계정으로 들어가려고 할때 생기는 에러라고함. 따라해봄.
C:\Users\sangn>sqlplus /nolog
SQL*Plus: Release 12.2.0.1.0 Production on 목 10월 22 19:38:05 2020
Copyright (c) 1982, 2016, Oracle. All rights reserved.
SQL> conn sys/ as sysdba
비밀번호 입력:
휴지 인스턴스에 접속되었습니다.
SQL> startup
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE 인스턴스가 시작되었습니다.
Total System Global Area 1694498816 bytes
Fixed Size 8919680 bytes
Variable Size 1325401472 bytes
Database Buffers 352321536 bytes
Redo Buffers 7856128 bytes
데이터베이스가 마운트되었습니다.
데이터베이스가 열렸습니다.
SQL> conn scott/tiger
ERROR:
ORA-01017: 사용자명/비밀번호가 부적합, 로그온할 수 없습니다.
경고: 이제는 ORACLE에 연결되어 있지 않습니다.
왜 나는 연결안되고 또 에러가 생기는가...
사용자명에 "sys"만 넣으면 안되고 "sys as sysdba"라고 해야한단다
C:\Users\sangn>sqlplus
SQL*Plus: Release 12.2.0.1.0 Production on 목 10월 22 19:43:05 2020
Copyright (c) 1982, 2016, Oracle. All rights reserved.
사용자명 입력: sys as sysdba
비밀번호 입력:
다음에 접속됨:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
접속성공함.
테이블을 만들어보자.
SQL> create user c##scott identified by tiger;
create user c##scott identified by tiger
*
1행에 오류:
ORA-01920: 사용자명 'C##SCOTT'(이)가 다른 사용자나 롤 이름과 상충됩니다
언제 만들어놓은 거야...
계정이 잠겨서 그런거란다... 잠금해제하자.
참고블로그 : byhou.tistory.com/420
SQL> ALTER USER c##scott ACCOUNT UNLOCK;
사용자가 변경되었습니다.
SQL> alter user scott identified by tiger;
alter user scott identified by tiger
*
1행에 오류:
ORA-01918: 사용자 'SCOTT'(이)가 존재하지 않습니다
SQL> alter user c##scott identified by tiger;
사용자가 변경되었습니다.
SQL> grant dba to c##scott;
권한이 부여되었습니다.
SQL> select * from all_users;
USERNAME
--------------------------------------------------------------------------------
USER_ID CREATED COMMON OR INHERI
---------- -------- ------ -- ------
DEFAULT_COLLATION
--------------------------------------------------------------------------------
IMPLIC ALL_SH
------ ------
C##SCOTT
106 20/10/22 YES N NO
USING_NLS_COMP
NO NO
새로만든 아이디(scott)로 다시 접속해보자.
C:\Users\sangn>sqlplus
SQL*Plus: Release 12.2.0.1.0 Production on 목 10월 22 20:12:16 2020
Copyright (c) 1982, 2016, Oracle. All rights reserved.
사용자명 입력: scott
비밀번호 입력:
ERROR:
ORA-01017: 사용자명/비밀번호가 부적합, 로그온할 수 없습니다.
또 에러가 난다.
에러발생 시 아래 경로에 있는 sqlnet.ora 파일에 해당 옵션을 추가해 주면 된다고 한다.
C:\app\oracle\product\12.2.0\dbhome_1\network\admin\sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_SERVER=11
대소문자 구분도 해주었다.
그래도 에러가 남
왜인지 모르지만 순서를 바꾸니까 접속이 된다.... why??
참고 블로그 : nirsa.tistory.com/5
1. sqlplus sysdba로 접속후 계정생성전에 아래의 명령어 사용
SQL> ALTER SESSION SET "_ORACLE_SCRIPT"=true;
: 오라클이 12c로 넘어가면서 계정 생성을 할 때, 계정명 앞에 C##을 붙여줘야 공통 사용자 생성이 가능해짐에 따라, 계정 생성할때마다 C##을 붙여주기 귀찮으니 위의 명령어를 사용하는 것임.
2. 사용자 생성하기
SQL> create user scott[사용자명] identified by tiger[비밀번호];
3. 권한부여하기
SQL> grant connect, resource to scott;
4. 접속해보기
SQL*Plus: Release 12.2.0.1.0 Production on 목 10월 22 20:55:34 2020
Copyright (c) 1982, 2016, Oracle. All rights reserved.
사용자명 입력: scott
비밀번호 입력:
마지막 성공한 로그인 시간: 목 10월 22 2020 20:48:37 +09:00
다음에 접속됨:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
4시간만에 접속성공......
'각종 오류들' 카테고리의 다른 글
mysql db접속하기 (0) | 2021.08.09 |
---|---|
No mapping found for HTTP request with URI.... (0) | 2021.04.12 |
npm install 에러 (0) | 2020.05.20 |
usb가 인식되지 않는다. 메모리 파일 복구하기 (0) | 2020.05.12 |
vmware 상단에 connection failed 창 뜨며 인터넷이 안 될 때 (0) | 2020.01.21 |