IT/ORACLE

오라클 계정 관련 정보

news-wiki 2018. 12. 27. 22:12
728x90

오라클 sys, system암호 까먹었을때 

명령 프롬프트에서 다음을 실행합니다.

 

C:>sqlplus "/as sysdba"

SQL> show user

USER is "SYS"

 

암호를 원하는 대로 설정합니다.

 

SQL> alter user sys identified by 암호;

SQL> alter user system identified by 암호;

 

접속

 

SQL> connect sys/암호 as sysdba

SQL> connect systemp/암호


===================



◈ TABLE 구조 보기


SQL>DESC TABLE_NAME

 


◈ 테이블 존재 여부 알아보기


SQL>SELECT TABLE_NAME 

        FROM USER_TABLES

        WHERE TABLE_NAME = '찾을 테이블 이름'

        -->찾을 테이블 이름은 대문자여야 됩니다. 

 


◈ 모든 유저 보기


SQL>SELECT username FROM ALL_USERS;


-모든 테이블 보기 

 SELECT TABLE_NAME FROM USER_TABLES;


 


◈ 테이블 제약조건의 확인


SQL>SELECT table_name, constraint_name, constraint_type

        FROM   USER_CONSTRAINTS

        WHERE TABLE_NAME ='STORM_CONTENT';

 

◈ 잠시 host상태로 나가고 싶을 때.


SQL>host

다시 sqlplus로 들어오려면 exit명령어로 들어오시면 됩니다.

 


◈ 테이블에 새로운 컬럼의 추가


SQL>ALTER TABLE table_name ADD ( column_name DATATYPE ); 

 

ex)SQL>ALTER TABLE storm_board ADD(ip_addr VARCAHR2(15) not null)



◈ 테이블 컬럼의 삭제


SQL>ALTER TABLE table_name DROP COLUMN column_name


ex)SQL>ALTER TABLE storm_board DROP COLUMN ip_addr

-->컬럼의 삭제는 오라클 8i버전부터 되는것으로 알고 있습니다.  

 

◈ SQLPLUS에서 SQL문의 실행 속도 알아보기

SQL>SET TIMING ON


을 한 후 SELECT문을 수행하면 경과 시간이 나옵니다. 

 

SQL> SELECT COUNT(name) FROM storm_board;

 

COUNT(NAME)

-----------

        286

 

경   과: 00:00:00.10



◈ SQLPLUS에서 SELECT문 사용시 데이타만 출력되고 HEADER는 안나오게 하는 방법



SQL>SET HEADING OFF

한후 SELECT문을 수행하면 아래와 같은 결과가 나옵니다.

 

SQL> SELECT empno, ename, mgr 

         FROM emp 

         WHERE rownum < 6;


 


7369  SMITH            7902

7499  ALLEN            7698

7521  WARD             7698

7566  JONES            7839

7654  MARTIN           7698

 

 


 


=======================

오라클을 설치하면 기본 ID:scott PW:tiger 접속이 가능하게 될것이다.


기본 계정에 테이블을 생성하게 될경우 속도가 저하되고 퍼포먼스가 나질 않기


때문에 새로 계정을 생성하여 테이블을 관리해주는게 좋은데 그때 새계정을


생성하는 방법을 적고자한다. 오라클환경은 9.2.0.1에서 하였음.


 


계정 생성법

SQL>conn as sysdba;


SQL>사용자명 입력: sys

SQL>암호 입력: manager


 


SQL>create tablespace 관리하고자하는 dbf파일명 ex)dreamhl_tbs

  datafile 'c:\oracle\oradata\O9i\dreamhl_tbs.dbf' size 100m  ←경로중요함 틀리면 뷁

  default storage

  (initial 10k

  next  10k

  minextents 2

  maxextents 50

  pctincrease 50

  );



SQL> create user testman

            identified by testman    

            default tablespace dreamhl_tbs

            temporary tablespace temp;


사용자가 생성되었습니다.


 


SQL> grant connect, resource to testman;   (일반적인 권한으로 접속할수 있게 하고 resource는 pl/sql을 사용하게 함)


권한이 부여되었습니다.


conn testman/testman;



위에서 datafile에서 O9i경로 빼먹거나 잘못 넣었을때 대처법


SQL> show user;

USER은 "TESTMAN"입니다

SQL> conn as sysdba



사용자명 입력: sys

암호 입력: *******

연결되었습니다.

SQL> shutdown immediate;

데이터베이스가 닫혔습니다.

데이터베이스가 마운트 해제되었습니다.

ORACLE 인스턴스가 종료되었습니다.



파일을 맞는 경로(c:\oracle\oradata\O9i\)에 옮긴후.



SQL> startup mount;

ORACLE 인스턴스가 시작되었습니다.


Total System Global Area  135338868 bytes

Fixed Size                   453492 bytes

Variable Size             109051904 bytes

Database Buffers           25165824 bytes

Redo Buffers                 667648 bytes

데이터베이스가 마운트되었습니다.

SQL> 

SQL> 

SQL>



SQL> ALTER DATABASE RENAME FILE

    'c:\oracle\oradata\dreamhl_tbs.dbf' to

    'c:\oracle\oradata\O9i\dreamhl_tbs.dbf';


데이타베이스가 변경되었습니다.



SQL>alter database open;


데이타베이스가 변경되었습니다.


728x90