Skip to content

Oracle #
Find similar titles

Structured data

About
Relational database

상업용 Relational database

관련 링크

원격 접속방법 #

참고 : Oracle 접속문제

  1. Oracle client 프로그램을 설치한다.
  2. $ORACLE_HOME/network/admin 디렉토리에 tnsnames.ora 파일을 생성한다.

tnsnames.ora 예제

SidExample =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = ipaddress )(PORT = 1521))
    (CONNECT_DATA =
      (SID = SidExample)
    )
  )

sqlplus를 이용한 접속

$ sqlplus id/password@sid

사용 팁 #

사용자생성

SQL>CONN SYSTEM/MANAGER       -- DBA Role이 있는 유저로 접속합니다.
SQL>CREATE USER yong IDENTIFIED BY 1111;    -- USER를 다시 생성합니다.
SQL>GRANT CREATE USER, ALTER USER, DROP USER TO yong WITH  ADMIN  OPTION;  -- 권한부여
SQL>GRANT SELECT, INSERT ON some_object TO yong WITH  GRANT  OPTION;  -- 객체(테이블,뷰,시퀀스,프로시저)에 권한부여

자주쓰이는 쿼리문

SQL>select table_name from user_tables;  # 유저가 소유한 모든 테이블 보기
SQL>select sequence_name from user_sequences; # 유저가 소유한 모든 시퀀스 보기

Oracle 시작과 종료

# su - oracle
$ export ORACLE_SID=ORANLRI
$ sqlplus "/as sysdba"
> startup
> shutdown immediate
> exit

백업과 복구

$ exp id/password@sid file=my.dump  #해당 사용자의 모든 테이블
$ exp id/password@sid file=my.dump tables=kmaregs,lifekind   #모든 테이블
$ imp id/password@sid file=my.dump

테이블스페이스 용량확인

# su - oracle
$ sqlplus "as sysdba"
> SELECT u.tablespace_name "TMS_DAT01",
u.bytes / 1048576 "크기(MB)",
(u.bytes - sum(nvl(f.bytes,0))) / 1048576 "사용됨(MB)",
(sum(nvl(f.bytes,0))) / 1048576 "남음(MB)",
trunc((sum(nvl(f.bytes,0)) / u.bytes) * 100,2) "남은 %"
FROM DBA_FREE_SPACE f, DBA_DATA_FILES u
WHERE f.file_id(+) = u.file_id
GROUP BY u.tablespace_name, u.file_name, u.bytes
ORDER BY u.tablespace_name;

DBA권한 주거나 뺐기

grant sysdba to user;
revoke sysdba from user;

테이블스페이스가 꽉 찼을 때

  1. ORA-01653: THE_TABLE_NAME 테이블을 4(으)로 PF_DAT 테이블스페이스에서 확장할 수 없습니다

해결 방법 3가지

  1. TableSpace를 resize를 통해서 늘여준다
  2. TableSpace에 Datafile을 추가한다.
  3. TableSpace의 AutoExtend를 off일 경우 on을 변경한다.

유닉스환경에서의 환경설정

SQL> define _editor=vim
SQL> ed  --> to the vim editor
SQL> /   --> latest sql query

테이블 변경

SQL> create table test (
  2  name varchar(10)
  3  );
SQL> alter table test add(osy number(10));
SQL> alter table test rename column osy to osy79;
SQL> alter table test modify(osy79 varchar(10));
SQL> alter table test drop(osy79);

(다양한 팁 추가중)

Incoming Links #

Related Codes #

Suggested Pages #

web biohackers.net
0.0.1_20140628_0