Oracle
#
Find similar titles
- (rev. 5)
- Hyungyong Kim
Structured data
- About
- Relational database
관련 링크
- 오라클공부를 처음 시작하시는 분들께...
- Expression edition download
- Django 테스트를 위한 VirtualBox OS 인스턴스: https://code.djangoproject.com/wiki/OracleTestSetup
Table of Contents
원격 접속방법 #
참고 : Oracle 접속문제
- Oracle client 프로그램을 설치한다.
- $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;
테이블스페이스가 꽉 찼을 때
- ORA-01653: THE_TABLE_NAME 테이블을 4(으)로 PF_DAT 테이블스페이스에서 확장할 수 없습니다
해결 방법 3가지
- TableSpace를 resize를 통해서 늘여준다
- TableSpace에 Datafile을 추가한다.
- 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 (Code 0) #
Suggested Pages #
- 0.442 Biopython
- 0.178 PostgreSQL
- 0.025 Web framework
- 0.025
- 0.025 Database
- 0.025 SQL
- 0.024
- 0.024 July 21
- 0.023 InfluxDB
- 0.022 TimescaleDB
- More suggestions...