'Oracle/SQL'에 해당되는 글 6건
SQL> SELECT status,enabled, t.name,d.name FROM V$DATAFILE d, V$TABLESPACE t WHERE t.ts#=d.ts#; => 현재 dbf 파일과 테이블 스페이스명의 위치를 확인 SQL> select name,enabled from v$datafile; => dbf 파일들 위치 확인 SQL> select distinct owner from dba_segments where tablespace_name='TS_XEP_D' => 테이블 스페이스 명으로 소유자 계정을 확인 drop tablespace TSCAL_T including contents AND DATAFILES; drop tablespace TSCAL_I including contents AND DATAFILES; drop tablespace TS_PORTAL_I including contents AND DATAFILES; drop tablespace HDATA_3_WEB including contents AND DATAFILES; drop tablespace HDATA_4_WEB including contents AND DATAFILES; drop tablespace HINDEX_1 including contents AND DATAFILES; drop tablespace HINDEX_2_WEB including contents AND DATAFILES; drop tablespace HINDEX_3_WEB including contents AND DATAFILES; => TSCAL_T 의 테이블 스페이스 및 실제 물리 dbf 파일도 같이 다 삭제 SQL> DROP USER INTRAG7 CASCADE; => intrag7 계정을 삭제 SQL> drop tablespace 테이블스페이스명 including contents cascade constaints; 이후 실제 dbf 파일을 rm 또는 탐색기에서 삭제한다
'Oracle > SQL' 카테고리의 다른 글
tablespace생성과 자동으로 사이즈 늘리기 (0) | 2014.11.11 |
---|---|
중복된 row 데이터 삭제하는 방법 (0) | 2014.11.11 |
SQL*Loader 실행하기 (0) | 2014.11.10 |
[ORA-12988] cannot drop column owned by sys 에러 (0) | 2014.10.31 |
PL/SQL 결과물 출력하기 (0) | 2014.10.31 |
SQL> create tablespace spider 2 datafile '/app/oracle/oradata/sprider01.dbf' size 10m autoextend on;테이블 스페이스를 10m로 생성하고 10m가 가득차면 자동으로 사이즈를 늘린다.
'Oracle > SQL' 카테고리의 다른 글
테이블스페이스 소유자 확인 (2) | 2015.01.13 |
---|---|
중복된 row 데이터 삭제하는 방법 (0) | 2014.11.11 |
SQL*Loader 실행하기 (0) | 2014.11.10 |
[ORA-12988] cannot drop column owned by sys 에러 (0) | 2014.10.31 |
PL/SQL 결과물 출력하기 (0) | 2014.10.31 |
ROWID를 이용해서 중복된 데이터를 제거할수있다.
SQL> delete from taran a 2 where rowid > (select min(rowid) from taran b 3 where b.no = a.no); 3 rows deleted.중복 된 데이터값중에 rowid가 큰값 제거
SQL> DELETE FROM emp a WHERE ROWID < (SELECT MAX(ROWID) FROM emp b WHERE a.empno = b.empno);나중에 들어온 데이터를 살릴경우
'Oracle > SQL' 카테고리의 다른 글
테이블스페이스 소유자 확인 (2) | 2015.01.13 |
---|---|
tablespace생성과 자동으로 사이즈 늘리기 (0) | 2014.11.11 |
SQL*Loader 실행하기 (0) | 2014.11.10 |
[ORA-12988] cannot drop column owned by sys 에러 (0) | 2014.10.31 |
PL/SQL 결과물 출력하기 (0) | 2014.10.31 |
아무옵션 없이 sqlldr 명령어만 실행하면 옵션들이 나옵니다.
[oracle@localhost ~]$ sqlldr SQL*Loader: Release 11.2.0.2.0 - Production on Thu Mar 28 04:02:10 2013 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. Usage: SQLLDR keyword=value [,keyword=value,...] Valid Keywords: userid -- ORACLE username/password control -- control file name log -- log file name bad -- bad file name data -- data file name discard -- discard file name discardmax -- number of discards to allow (Default all) skip -- number of logical records to skip (Default 0) load -- number of logical records to load (Default all) errors -- number of errors to allow (Default 50) rows -- number of rows in conventional path bind array or between direct path data saves (Default: Conventional path 64, Direct path all) bindsize -- size of conventional path bind array in bytes (Default 256000) silent -- suppress messages during run (header,feedback,errors,discards,partitions) direct -- use direct path (Default FALSE) parfile -- parameter file: name of file that contains parameter specifications parallel -- do parallel load (Default FALSE) file -- file to allocate extents from skip_unusable_indexes -- disallow/allow unusable indexes or index partitions (Default FALSE) skip_index_maintenance -- do not maintain indexes, mark affected indexes as unusable (Default FALSE) commit_discontinued -- commit loaded rows when load is discontinued (Default FALSE) readsize -- size of read buffer (Default 1048576) external_table -- use external table for load; NOT_USED, GENERATE_ONLY, EXECUTE (Default NOT_USED) columnarrayrows -- number of rows for direct path column array (Default 5000) streamsize -- size of direct path stream buffer in bytes (Default 256000) multithreading -- use multithreading in direct path resumable -- enable or disable resumable for current session (Default FALSE) resumable_name -- text string to help identify resumable statement resumable_timeout -- wait time (in seconds) for RESUMABLE (Default 7200) date_cache -- size (in entries) of date conversion cache (Default 1000) no_index_errors -- abort load on any index errors (Default FALSE) PLEASE NOTE: Command-line parameters may be specified either by position or by keywords. An example of the former case is 'sqlldr scott/tiger foo'; an example of the latter is 'sqlldr control=foo userid=scott/tiger'. One may specify parameters by position before but not after parameters specified by keywords. For example, 'sqlldr scott/tiger control=foo logfile=log' is allowed, but 'sqlldr scott/tiger control=foo log' is not, even though the position of the parameter 'log' is correct. [oracle@localhost ~]$위 값중에 errors 값이 default 50으로 되어있는데 50값보다 많은 에러가 발생하면 작업이 중단되어
더 이상 진행이 되지 않는다는 의미 이므로 옵션을 줄때 아주 충분히 값을 지정해 작업해야 합니다.
1) SQL*Loader 실습 1 - 입력할 데이터가 외부 프로그램 자료일 경우
(아래 그림의 엑셀 데이터를 오라클의 F_Animal 테이블로 입력할 경우)
엑셀을 열어서 위와 같이 데이터를 입력했습니다.
위의 엑셀 데이터를 csv(쉼표로구분) 파일로 저장합니다. 그리고 파일이름은 a1으로 하겠습니다.
저장이 완료 된 파일은 winscp나 xftp를 이용해서 oracle home의 원하는 디렉토리에 옮깁니다.
SQL> !vi /app/oracle/tran_ex/tran.cvs 15,Heracules baboon,21cm,Hysterocrates hercules,사나움,보통,나이지리아,10년이상,버로우 16,King baboon,23cm,Citharischius crawshayi,사나움,빠름,탄자니아 케냐 등,15년,버로우 ~ ~vi editor를 이용해 xftp로 옮긴 tran.csv파일을 연다.
필요한것만 빼고 위처럼 만들어준 후에 저장 종료한다.
control file
SQL> !vi /app/oracle/tran_ex/tran.ctl load data infile "/app/oracle/tran_ex/tran.csv" append into table taran fields terminated by ',' (no,name,max_size,technical_name,personality,growth,habitat,max_age,type) ~ ~위처럼 control file 만들어준후에 저장종료한다.
이제 데이터를 넣을 테이블을 만들어주면 된다.
SQL> create table taran 2 (no number, 3 name varchar2(50), 4 max_size varchar2(50), 5 technical_name varchar2(50), 6 personality varchar2(50), 7 growth varchar2(50), 8 habitat varchar2(50), 9 max_age varchar2(50), 10 type varchar2(10)) to tablespace spider; created table테이블을 생성했으면 이제 데이터를 넣어주면 된다.
[oracle@dbserver ~]$ [oracle@dbserver ~]$ sqlldr scott/tiger control='/app/oracle/tran_ex/tran.ctl' SQL*Loader: Release 11.2.0.2.0 - Production on Tue Nov 11 09:12:39 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. Commit point reached - logical record count 2 [oracle@dbserver ~]$2개의 데이터가 들어갔다.
확인해보자
SQL> select * from taran 2 order by 1; NO NAME MAX_SIZE TECHNICAL_NAME PERSONALIT GROWTH HABITAT MAX_AGE TYPE ---- ----------------------------------- -------- ------------------------------ ---------- ---------- ------------------------------ --------------- ---------- 0 Mexican Golden Redrump 15cm Brachypelma ruhnaui 온순함 느림 멕시코 20년이상 배회성 1 Mexican_Redknee 13cm Brachypelma_smithi 온순함 느림 멕시코 15년 이상 배회성 2 Mexican_redleg 15cm Brachypelma_emilia 온순함 느림 멕시코 15년 이상 배회성 3 Antilles Pinktoe 14cm Avicularia versicolor 예민함 보통 마티니크섬 14년 나무위성 4 Giant Mustard stripe 18cm Grammastola aureostriatum 온순함 보통 프랑스챠코 20년 이상 배회성 5 Mexican Pink 15cm Brachypelma Klaasi 온순함 느림 멕시코 20년 이상 배회성 6 Mexican flame knee 15cm Brachypelma Klaasi 온순함 느림 멕시코 20년 이상 배회성 7 Mexico Fireleg 14cm Brachypelma Klaasi 온순함 느림 멕시코 20년 이상 배회성 8 Costa Rican Zebra 12cm Aphonopelma seemani 온순함 보통 파나마 과태말라 열대우림 20년 이상 배회성 9 Brazillian giant white knee 22cm Acanthoscurria geniculata 보통 빠름 브라질 아마존 15년 배회성 10 Mexican true red leg 13cm Brachypelma emillia 온순함 보통 멕시코 15년 이상 배회성 11 Goliath birdeater 30cm theraphosa blondi 사나움 빠름 베네수엘라 등 25년 배회성 12 Peruvian Blonde 15cm Lasiodoredes polycuspulatus 온순함 보통 페루 null null 13 Brazillian salmon pink 15cm Lasiodoredes parahybana 공격적 빠름 브라질 20년 배회성 14 Amazon Spaier Pinktoe 12cm Avicularia fasciculata 온순함 보통 브라질 10년이상 나무위성 15 Heracules baboon 21cm Hysterocrates hercules 사나움 보통 나이지리아 10년이상 버로우 16 Usambara Orange Baboon 15cm Pterinochilus Murinus 엄청사나움 엄청빠름 탄자니아 케냐 등 12년 3성 17 King baboon 23cm Citharischius crawshayi 사나움 빠름 탄자니아 케냐 등 15년 버로우 18 rows selected. SQL>데이터가 정상적으로 들어가져 있다.
(*추가적으로 실습하면서 같이 썼던 쿼리들*)
SQL> insert into taran(clumns.....) /데이터 여 넣기 2 values(key....) ------------------------------------------- SQL> alter table taran /type 바꾸기 2 modify(clumns type); ------------------------------------------- SQL> alter table taran /컬럼추가 2 add (clumns type) ------------------------------------------- update taran /업데이트. where절 조심 2 set 변경할 컬럼 = 변경된 값 3 where 조건 -------------------------------------------
'Oracle > SQL' 카테고리의 다른 글
테이블스페이스 소유자 확인 (2) | 2015.01.13 |
---|---|
tablespace생성과 자동으로 사이즈 늘리기 (0) | 2014.11.11 |
중복된 row 데이터 삭제하는 방법 (0) | 2014.11.11 |
[ORA-12988] cannot drop column owned by sys 에러 (0) | 2014.10.31 |
PL/SQL 결과물 출력하기 (0) | 2014.10.31 |
/as sysdba 계정
'SYS'계정으로 만든 TABLE은 컬럼추가나 변경은
가능하지만 각 컬럼들은 삭제가 불가능하다.
ORA-12988:
cannot drop column from table owned by SYS
Cause: An attempt was made to drop a column from a system table. Action: This action is not allowed
결론은 컬럼 삭제만 막아놓았다.(오라클에서)
'Oracle > SQL' 카테고리의 다른 글
테이블스페이스 소유자 확인 (2) | 2015.01.13 |
---|---|
tablespace생성과 자동으로 사이즈 늘리기 (0) | 2014.11.11 |
중복된 row 데이터 삭제하는 방법 (0) | 2014.11.11 |
SQL*Loader 실행하기 (0) | 2014.11.10 |
PL/SQL 결과물 출력하기 (0) | 2014.10.31 |
PL/SQL은 기본적으로 처리된 PL/SQL 문장의 결과를 화면에 출력하지 않습니다.
그래서 결과를 화면에 출력할려면 아래와 같이 출력물을 ON,OFF로 사전작업이 필요합니다.
SQL> SET SERVEROUTPUT ON; SQL> SET SERVEROUTPUT OFF;
그리고 PL/SQL은 작성시 오류가 있을 경우 오류에 대한 상세 내용을 별도로 보여주지 않기에
별도로 쿼리를 입력해서 아래와 같이 조회해야 오류결과 출력물을 얻을 수 있습니다.
SQL> SHOW ERRORS;
'Oracle > SQL' 카테고리의 다른 글
테이블스페이스 소유자 확인 (2) | 2015.01.13 |
---|---|
tablespace생성과 자동으로 사이즈 늘리기 (0) | 2014.11.11 |
중복된 row 데이터 삭제하는 방법 (0) | 2014.11.11 |
SQL*Loader 실행하기 (0) | 2014.11.10 |
[ORA-12988] cannot drop column owned by sys 에러 (0) | 2014.10.31 |