간단 지식/Database

10. Oracle DB, sql developer 설치, scott 계정 생성, 에러 해결, sqlplus 명령어

납작한돌맹이 2021. 2. 8. 23:21
반응형

일전에는 MySQL을 사용했었는데 언젠가 안드로이드 스튜디오랑 연동할 필요가 있는 작업을 할때 꽤나 불편했던 기억이 있다. 안드로이드 스튜디오랑 MySQL은 PHP를 이용해서 연동을 해야하는데 너무 과정이 복잡했고 똑같은 절차를 밟았는데도 결국에는 연동에 실패했다. 아직도 해결을 못해서 이참에 JSP를 이용하는 오라클 DB를 설치해봤다.

 

일단 오라클 계정이 있어야 한다. 없으면 생성하면 된다.

그리고 아래 링크를 타고 가서 자신의 운영체제에 해당하는 zip파일을 다운 받는다.

www.oracle.com/database/technologies/oracle-database-software-downloads.html

압축 해제한 후 setup을 실행하면 인스톨러가 뜰텐데 따로 설정할 필요없이 next만 눌러주면 된다. 설치가 다 끝나면 컴퓨터에 깔려있을 SQL plus를 실행시킨다. 

사용자명에 system을 입력해주고 설치과정에 입력했던 비밀번호를 입력해주면 올바르게 설치되었는지 확인할 수 있다.


여기까지는 그 누구도 에러같은건 마주하지 않을 것이다. 그런데 이 다음부터 에러파티다.

오라클에서는 초보학습을 위해 scott 계정(비밀번호 tiger)을 기본적으로 준다. 그래서 다른 블로그를 보면 알 수 있듯이 scott 계정으로 alter 한 후 로그인해보라고 하지만 나한테는 이런 화면만을 보여준다.

이 말은 그냥 scott계정 자체가 없다는 것이므로 만들어줘야한다.

 

scott 앞에 c##을 꼭 붙여줘야한다. 안그러면 나처럼 계속 해맨다.

 

이렇게 scott 계정이 생성됐으면 현재는 system 계정이므로 계정변경을 해줘야한다.

-  alter user c##scott identified by tiger;

 

그리고 connect test를 해본다.

-  conn c##scott/tiger;

 

그렇지만 아래와 같은 에러가 난다.

다시 system 계정으로 돌아가자.

- conn system/비밀번호

 

그리고 아래 명령어를 입력해서 scott 계정에게 권한을 주자!

-  GRANT connect, resource TO c##scott;

 

그리고 다시 연결시도를 해본다.

- conn c##scott/tiger;

 


 

추가로 아래 링크에서 SQL developer를 설치할 수 있다.

www.oracle.com/tools/downloads/sqldev-downloads.html

 

너무 슬프게도 접속 테스트를 해본 결과 다음과 같은 오류가 일어났다.

- 상태: 실패 -테스트 실패: IO 오류: The Network Adapter could not establish the connection

 

cmd 창에 lsnrctl status를 입력해보면 리스너의 상태가 출력된다. 거기서 내 포트번호와 sid를 확인할 수 있는데 sql developer에서 디폴트로 입력된 포트와 sid와 일치하지 않음을 확인할 수 있다. 수정 후 system 계정으로 접속해본 결과 올바르게 접속이 되었다.(내 경우엔 1524에 orcl이었다)

 

연습용 계정을 위해 계정을 생성해보았다.

SQL> create user testdb identified by 3110;
사용자가 생성되었습니다.
SQL> grant connect, resource to testdb;
권한이 부여되었습니다.
SQL> conn testdb/3110;
연결되었습니다.

성공!


sqlplus에서 사용하는 명령어들

1. 명령프롬프트 상태에서 sys 계정으로 접속하는법 
    sqlplus "/as sysdba"  (대소문자 가리지 않음)

    >SQLPLUS ID___INPUT/PW__INPUT@TNSNAME

2. sqlplus 실행 
    sqlplus sys/비번 as sysdba 
    sysdba는 관리자로 9버전 이후에 꼭 쓰게 하는 것 같다.

3. 현재 접속한 유저확인 
          show user 

4. 스캇 계정 락 풀기 
   스캇계정이 락 걸려있으므로 sys로 접속해서 락을 풀어줘야함 
          1. sqlplus sys/비번 as sysdba : sys로 접속 
          2. alter user scott identified by tiger account unlock;    -- 스캇 계정의 락을 푼다. 

5. 접속중 계정 변경 
    conn sys/비번 as sysdba 

6.  계정생성:sys로 
          create user 계정명 identified by 비번 default tablespace users; 
          create user insaman identified by zxcv default tablespace users; 

7. 권한주기 
          GRANT CONNECT, CREATE VIEW, RESOURCE TO INSAMAN; 

8. 현재 계정의 테이블 확인 
          SELECT * FROM TAB; 

 

9. 테이블의 속성(열) 확인법 
          DESC EMP; 

10. 결과값에 문자열 붙이기 
          SELECT '사원의 이름은:'||ENAME||'입니다.' AS "사원의 이름" 
            FROM EMP; 

  11. 화면 설정 (화면 짤릴때) 
          SET LINESIZE 300;         -- 최대 32767
          SET PAGESIZE 200;        -- 최대 50000

12. 화면 지우기 
          cl scr  -> clear screen

 

 

 

(이 글이 도움이 됐다면 광고 한번씩만 클릭 해주시면 감사드립니다, 더 좋은 정보글 작성하도록 노력하겠습니다 :) )

반응형