아무옵션 없이 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 |
오라클을 설치할 때 기본적으로 설치되는 유틸리틴데
예를들어 신규 ERP 구축 프로그램에서 기존 엑셀 데이터를 오라클DB로 입력해야 할 경우 굉장히 많은
데이터를 일일이 수동으로 입력해야 하는데 이럴 때 쓰이는 유틸리티가 SQL*Loader 입니다.
a. 우선 NLS_LANG 환경변수를 먼저 체크해서 서버의 Character set과 동일하게 설정하세요.
이 환경변수는 서버에게 현재 클라이언트가 입력할 데이터 유형을 알려주는 역할을 하게 된다.
만약 이 변수가 서버의 Character set과 다를 경우 내부적으로 변환이 일어나기 때문에 속도 저하
및 데이터가 입력되다가 에러가 발생할 수도 있게 된다.
[oracle@localhost ~]$ env | grep NLS_LANG NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949 [oracle@localhost ~]$b.ORACLE_HOME 환경변수를 확인하세요.
[oracle@localhost ~]$ env | grep ORACLE_HOME ORACLE_HOME=/app/oracle/product/11g [oracle@localhost ~]$c.LD_LIBRARY_PATH 환경변수를 확인하세요(UNIX만 해당)
[oracle@localhost ~]$ env | grep LD_LIBRARY_PATH LD_LIBRARY_PATH=/app/oracle/product/11g/lib:/lib:/usr/lib:/usr/local/libd.ORA_NLS33이나 ORA_NLS10 환경변수를 설정하세요.
[oracle@localhost ~]$ env | grep ORA_NLS33 ORA_NLS33=/app/oracle/product/11g/ocommon/nls/admin/data [oracle@localhost ~]$ [oracle@localhost ~]$ env | grep ORA_NLS10 [oracle@localhost ~]$ORA_NLSxx란 환경변수는 Character set을 저장하고 있는 .nlb 파일의 위치를 지정하는 변수입니다.
이는 오라클 버전마다 다르며 ORA_NLS32파라미터는 8버전이상부터 사용할 필요가 없고
ORA_NLS33파라미터는 10G 이상 버전부터 사용할 필요가 없습니다.
2) SQL*Loader의 구조
위 그림처럼 SQL*Loader는 OS에서 다른 응용프로그램에서 생성된 특정 규칙을 가진 텍스트 파일을 메모리에 거치지 않고
데이터파일로 직접 대량 입력하게 됩니다.
a. 입력 파일을 여러 개 가질 수 있다.
b. 입력 파일의 여러 개의 레코드를 입력 시 하나의 논리적 레코드로 가공하여 한꺼번에 입력이 가능하다.
c. 입력 필드가 고정길이나 가변길이로 가능합니다.
d. 입력 데이터가 문자, binary,날짜,packed 십진 데이터,zone 십진 데이터 등의 여러가지 형태가 가능합니다.
e. 하나의 입력 데이터로 여러 테이블에 동시 입력이 가능하다.
f. 테이블의 기존 데이터를 변경하거나 지우고 다시 입력하거나 추가하는 등의 작업도 가능합니다.
g. SQL 함수를 사용하여 입력 가능합니다.
h. Sequence를 사용하여 데이터를 순차적으로 입력할 수 있습니다.
3)SQL*Loader를 구성하는 주요 파일들
위 그림에서 보는것과 같이 SQL*Loader에는 2개의 "입력 관련 파일과" 3개의 "출력 관련 파일"을 사용할 수 있습니다.
아래에서 각각의 파일에 대해서 자세히 살펴보겠습니다.
이 파일은 Oracle을 운영하기 위해 사용하는 conrol file이 아니라 SQL*Loader를 사용하기 위한 정보를 가진 control file입니다.
피 파일 안에 SL*Loader를 실행시키기 위한 각종 정보가 들어 있으며 확장자는 ctl로 합니다. 자세한건 아래와 같습니다.
LOAD DATA : 새로운 데이터 입력이 시작됨을 의미합니다.
만약 작업이 중단 되었다가 다시 시작해야 할 경우 CONTINUE LOAD DATA 문장을 사용합니다.
INFILE* : 입력하고자 하는 데이터파일이 외부에 있을 경우에는 * 대신 파일이름을 적어주면 되고
CONTROL FILE 내부에 데이터가 있을 경우 *를 사용합니다.
DISCARDFILE "DISFILE.DSC' : 폐기된 파일 목록을 저장할 파일 WHERE 절의 조건에 해당하지 않아 폐기되는 파일을 기록함
필요할 경우만 생성하며 내용을 수정해서 다시 사용 가능합니다.
RELACE : 테이블의 기존 행을 모두 삭제(DELETE)한 후 다시 입력하라는 의미
INSERT : 내용이 없는 테이블에 신규 데이터를 입력할 경우 사용합니다.
TRUNCATE : 기본 내용을 모두 TRUNCATE한 후 다시 입력 하라는 의미
APPEND : 기존 내용 아래에 신규 내용을 추가하라는 의미
INTO TABLE STEST : 데이터를 입력할 테이블명을 적어줍니다.
FIELDS TERMINATED BY ',' : 각 필드의 구분 기호를 이곳에 적어줍니다.
OPTIONALLT ENCLOSED BY ',' : (A,B,C...) < 데이터가 있을 경우 칼럼 이름을 적어줍니다.
BEGINDATA : A,B,C ... > 실제 데이터를 적어줍니다.
위에서 본 여러가지 옵션들을 활용해서 SQL*Loader 실습을 해보겠습니다.
'Oracle' 카테고리의 다른 글
SQL* Loader로 외부 데이터 입력하기 (0) | 2014.11.10 |
---|---|
윈도우 Client로 Oracle Server 접속하기 (0) | 2014.11.04 |
toad for oracle 설치 및 세팅 (0) | 2014.11.04 |
OEL5 + Oracle 11g rac rawdevice (0) | 2014.09.28 |
oracld 11g rac asm (0) | 2014.09.26 |
오라클에서 데이터를 입력하는 방식은 2가지로 나뉩니다.
1. Convertional path
2. Direct path
Direct path는 다른말로 Bulk Load방식이라고 부르기도 합니다.
SQL Loader는 위 기능 중 Direct path 방식을 이용하여 대량의 데이터를 아주 빠른 속도로 입력할수 있는 유틸리티 중에 하나인데,
이 기능을 사용하려면 입력하는 테이블에 select 할 수 있는 권한만 있으면 가능합니다.
1) Convertonal Path Method 기본모드
데이터가 입력되거나 조회될때 항상 메모리(database buffer cache)를 통해서 작업된다.
사용자가 select를 수행하면 우선 database buffer cache에 해당 블록이 load되어 있는지를 살펴보고
있으면 바로 Fetch를 하고 없으면 data file에서 해당 block을 불러와(load) Fetch를 하게 됩니다.
또한 새로운 데이터를 insert할 경우 database buffer cache의 free list에서 빈 블록을 찾아보고 없을 경우
data file에서 빈 블록을 database buffer cache로 이동(load)한 후 데이터를 insert하게 됩니다.
단, 데이터를 load하는 도중에 다른 사용자와 작업 승인 테이블을 공유해서 작업 할 수 있다는 장점이 있지만
속도가 Direct load보다 느리고 redo log와 undo data가 많이 발생한다는 단점이 있습니다.
convertional path방식은 자주 사용하는 블록을 메모리에 공유해서 디스크 I/O를 줄이기 위해서 도입된 방식입니다.
그래서 자주 사용하는 블록은 메모리에 저장해서 재활용하고 없을경우에만 디스크에 찾아서 메모리로 적재합니다.
하지만 만약에라도 재사용하지 않는 블록이 메모리에 남게되면 오히려 심각한 성능 저하를 발생시킬 수가 있습니다.
이럴경우 메모리에 걸쳐 사용하지 않고 직접 블록에 작업하는것이 훨씬 더 빠를건데 그래서 등장한 방법이
Direct Path 방법입니다. 아래에서 더 자세하게 살펴보겠습니다.
2)Direct path Mothod
위 그림에서 보는것처럼 메모리(database buffer cache)에 저장하지않고 바로 data file로 데이터를 입력합니다.
3) 입력원리
Convertional Path 방법에서는 위 그림처럼 High Water Mark 왼쪽에 있는 빈 블록(free block)에 데이터를 입력하게 됩니다.
*HWM*
Data file에서 사용한 블록을 표시하는 마크로써 일종의 책갈피와 같은 역할을 하게 해주는게 HWM이다.
데이터를 입력할 때는 HWM 왼쪽부터 입력하는데 왼쪽블록을 다 사용하게 되면 잠시 일시정지하고 HWM을
오른쪽으로 이동하여 빈 블록들(EXTENT)을 확보한후 다시 데이터를 입력하게 됩니다.
이러한 과정을 반복하게 되는데 이것을 HWM Bump up 이라고 한다.
하지만 이렇게 HWM Bump Up을 하면서 데이터를 입력하게 되면 HWM Bump up을 하면서 소요되는 시간이 많이 걸리기 때문에
대량의 데이터를 입력할 때는 문제가 많은 방식입니다.
반면에 Direct path 방식은 처음부터 HWM 오른쪽에 비어있는 블록을 한꺼번에 데이터를 입력하고 commit을 한 번만 하는 방식입니다.
그래서 HWM Bump up이 별도로 필요 없고 HWM오른쪽에 입력되는 블록이라 다른 세산과 공유도 되지 않기에 undo data도 필요없습니다.
만약 roll back을 하더라도 실제 block을 그대로 두고 dictionary 정보만 roll back 하기에 roll back시간도 적게 걸립니다.
하지만, redo를 사용하지 않으므로 중간에 장애가 생길 경우 처음부터 다시 입력해야 합니다.
속도고 빠르다는 장점이 있지만 반면에 Direct path의 단점은 data를 입력하는 작업을 할때 해당 테이블에 Exclusive Lock을 설정하기 때문에
다른 트랜잭션이 DML을 일으키지 못하도록 막게 되어 동시에 변경 작업을 할 수 없게 된다는 점입니다.
즉 Direct path로 입력하는 작업은 사용량이 적은 시간에 해야한다는 점과 해당 테이블에서 nologging 옵션이 활성화 되어있어야 합니다.
오라클에서는 대량의 데이터를 입,출력할때 Direct path방법을 지원하며, Direct path방법은 아래와 같이 분류됩니다.
1.정렬할 때 (Temp segment에 읽고 쓰기 합니다)
2.병렬 작업 할 때(Parallel,Append 옵션을 사용할때)
3.Direct 옵션 사용시(export,datapump 등)
disk I/O가 오라클 성능에 괸장한 영향을 주므로 각 상황에 맞도록 방법을 선택해서 사용하여야 합니다.
'Oracle' 카테고리의 다른 글
SQL*Loader 수행 전 확인해야 할 사항들 (0) | 2014.11.10 |
---|---|
윈도우 Client로 Oracle Server 접속하기 (0) | 2014.11.04 |
toad for oracle 설치 및 세팅 (0) | 2014.11.04 |
OEL5 + Oracle 11g rac rawdevice (0) | 2014.09.28 |
oracld 11g rac asm (0) | 2014.09.26 |
1. 별도의 저장공간이 필요합니다.
archive redo log는 online redo log file을 복사하는것이기 때문에 online redo log file 외 별도의 공간이 필요합니다.
2. Archive hang 이라는 문제가 발생하여 서비스가 중단 될 수도 있습니다.
여러 가지 이유로 Archiver Process 가 Archive Redo Log File 을 저장할 수 없게 될 경우
(예를 들어 저장 공간이 가득 찰 경우나 권한이 없을 경우 등) 전체 Database 가 중단이 되는 현상이 발
생하게 됩니다. 이런 현상을 Archive Hang 이라고 합니다.
3. 관리가 까다롭습니다.
Archive Log Mode의 원리를 정확히 모를 경우 관리하기가 힘들며 관리가 잘 못될 경우
장애가 발생해도 복구를 할 수 없게 됩니다.
SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination /app/oracle/data/arc2 Oldest online log sequence 17 Current log sequence 19 SQL>현재 database open 상태에서 조회해보니 no archive log로 출력됩니다.
이제 archive redo log를 저장할 디렉토리를 만들고 archive mode로 변경해보겠습니다.
SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL>database를 종료시키고 parameter file에 archive log file을 저장할 경로를 지정해야 합니다.
SQL> !vi $ORACLE_HOME/dbs/initykdb.ora ---------------------------------------------------- *.log_archive_dest_1='location=/app/oracle/data/arc1' *.log_archive_dest_2='location=/app/oracle/data/arc2' *.log_archive_format=%s_%t_%r.arc해당 경로와 디렉토리 네임은 마음대로 지정해주셔도 됩니다
밑에 %s는 logfile의 시퀀스넘버, %t는 스레드, %r은 인카네이션(ex filename 1-1-2)이고
설정을 완료했으면 wq! 저장 종료하셔서 나오면 됩니다.
SQL> ! [oracle@dbserver ~]$ cd /app/oracle/ [oracle@dbserver oracle]$ [oracle@dbserver oracle]$ mkdir data원하시는 경로로 가서 원하는 네임으로 디렉토리(parameter file에 설정해놨던)를 생성하시면 됩니다.
[oracle@dbserver oracle]$ cd data/ [oracle@dbserver data]$ mkdir arc1 arc2data 디렉토리에 들어가서 arc1 arc2를 생성한다.
[oracle@dbserver data]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Tue Nov 4 17:59:37 2014 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to an idle instance. SQL> startup mount ORACLE instance started. Total System Global Area 422670336 bytes Fixed Size 1336960 bytes Variable Size 276826496 bytes Database Buffers 138412032 bytes Redo Buffers 6094848 bytes Database mounted. SQL> SQL> alter database archivelog; Database altered. SQL> alter database open; Database altered. SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /app/oracle/data/arc2 Oldest online log sequence 17 Next log sequence to archive 19 Current log sequence 19 SQL>세팅은 완료됐고 이제 mount로 database를 올려서 archive mode로 변경후 나머지 open하면 된다.
SQL> alter system switch logfile; System altered. SQL> / System altered. SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /app/oracle/data/arc2 Oldest online log sequence 19 Next log sequence to archive 21 Current log sequence 21 SQL>
database를 올리고 archive 스퀀스 넘버를 확인해보니 17번이다.
좀 더 제대로 된 확인을 위해 강제로 log switch를 일으켜서 다시 확인해봤다.
확인해 보니가 시퀀스번호가 19번으로 올라가있다.
'Oracle > Administoration' 카테고리의 다른 글
오라클 Hidden 파라미터 조회 (0) | 2015.06.25 |
---|---|
tablespace에 속한 table 조회(owner) (0) | 2015.01.15 |
SGA size cannot be greater than maximum shared memory segment size (0) 에러 (0) | 2014.10.31 |
oracle dbca [ora-00119] invalid specification for system parameter local_listener 에러 (0) | 2014.10.31 |
오라클 사용자 권한생성 및 권한주기 (0) | 2014.10.31 |
vmware version 10.4
tool -> 최신
1.Vmware 카테고리에 VM메뉴를 클릭한다.
아래로 내리다보면 Cancel VMware Tools Installation이 있는데 클릭해보면
sr0 cd가 mount되면서 해당 설치 디렉토리로 이동됨
2.root계정으로 작업하길 권장합니다.
작업 할 위치에 디렉토리를 하나 만들고 tool설치 파일이 있는 곳까지 이동한다.
여기서는 /home/oracle/vmwaretool 이라는 디렉토리를 만들었고
설치파일 모든것을 vmwaretool 디렉토리로 이동시켰다.
3. 복사한 위치로 와서 VMwareToole-9.6.2-1688356.tar.gz의 압축을 푼다.
tar -zxvf VMwareToole-9.6.2-1688356.tar.gz
4. 압축을 풀었더니 vmware-tools-distrib 디렉토리가 생겼고 cd로 이동한다.
리스트를 조회해보니 설치 파일이 보인다. 실행
./vmware-install.pl
5. 오라클 계정인지 깜빡하고 다시 root 계정으로 실행시켰다
(oracle 계정으로 실행시 abort라는 에러메세지가 뜸)
6. 설치가 진행중인데 처음부터 끝까지 엔터로 넘어가면 된다.
7.설치가 정상적으로 완료된 화면
Enjoy, -- VMware team
8. 업그레이드를 안해줘도 무방하지만 내눈에 보였으므로 업그레이드까지 설치한다.
해당 OS는 (linux) 32bit이므로 vmware-tools-upgrader-32를 설치한다.
./vmware-tools-upgrader-32
설치과정은 위와 동일하다. 무한 엔터
9.설치가 완료되면 linex를 한번 shutdown 시키고 가동시킨다.
10.재부팅이 완료된 화면
위 메뉴에서 enter unity mode를 클릭하면 끝
터미널 하나 열고 클릭하길 바란다.
11. 정상적으로 바탕화면에 보이는 터미널 창
* 삭제 방법*
vmware 설치파일 디렉토리에 보면 bin이라는 디렉토리가 있는데 들어가자
그러면 uninstall이라는 실행파일이 보인다. 실행시키면 삭제된다.
./vmware-uninstall-tools.pl
'Linux' 카테고리의 다른 글
리눅스 OS와 version 체크 명령어 (0) | 2015.04.02 |
---|---|
vmware linux가 설치된 곳에 외부 모바일, pc로 원격 접속하기 (2) | 2014.11.12 |
Linux : not in gzip format 에러 (tar~) (2) | 2014.10.31 |
No package oracle-rdbms-server-12cR1-reinstall available (0) | 2014.10.31 |
set sqlprompt 사용법 (0) | 2014.10.31 |
OS : windows7 64bit
OS instance : win64bit
Oracle : OEL6 + 11g R2
1.오라클사에서 배포하는 Win64bit 11gR2 client를 다운받는다.
Os가 32bit면 32bit로 다운받아야 한다.
2. 해당 압축파일을 풀면 아래와 같은 파일들이 보이는데 셋업(Setup)을 더블클릭한다
3. OUI설치전 체크중
4. 사양에 따라 조금 오래 걸릴수도 있다
기다리다보면 아래와 같은 OUI(Oracle User Interface)창이 뜨게 된다.
맨 위인 instance client가 Default값이 되있을텐데 Admin체크후에 다음으로 넘어간다.
5.한국어를 추가해 주고 넘어간다.
어떤 언어를 선택해도 상관은 없다. 용량만 늘어날뿐
6. Oracle Base가 설치 될 경로인데 한번 체크하고 다음으로 넘어가자.
7. 여기서 에러가 뜰텐데 ignore 체크 후에 다음으로 넘어가자.
맨 아래 박스보면 예상값, 실제값이 보이는데 해당사항없음으로 표시된다. 이때 Status란에 실패나 에러가 떠도 넘어가도 되지만
예상값과 실제값이 다르게 나와 실패로 뜨면 설치해도 접속하지 못하게 된다. 문제를 해결하고 넘어가자.
8. Summary
9. 설치 진행 중
10. 문제 없이 설치가 완료되면 아래와 같이 뜨는데 Close 클릭후에 나오자.
11. 설치는 완료됐고 윈도우 실행 명령어창에 cmd라고 치고 엔터를 누른다.
12. 이 상태에서 prompt에 netca라고 치고 엔터를 누른다.
(Server에서 /app/oracle/product/11g/cib/netca 와 같다)
13. 윈도우에서 Server로 접속해야 하니까 로컬 네트 서비스만 만들면 된다.(tnsnames.ora)
해당 Client가 tnsnames.ora파일을 보고 Server를 찾아간다.
14. 처음 생성이니 추가를 누른다.
15. 서비스 이름은 접속할려는 Server의 database명을 입력해주면 된다.
16. TCP - 서버와 클라이언트간에 데이타를 신뢰성있게 전달하기 위해 만들어진 프로토콜이다.
Transmission Control Protocol 의 줄임말이다. 클릭하고 넘어가자
데이타를 전송하기 전에 데이타전송을 위한 연결을 만드는 연결지향 프로토콜이다데이타는 네트워크선로를 통해 전달되는 과정에서 손실되거나 순서가 뒤바뀌어서 전달될수 있는데, TCP는 손실을 검색해내서, 이를 교정하고 순서를 재조합할수 있도록 해준다.
17. 호스트 이름에는 접속할려는 해당 아이피를 입력해준다.
포트번호는 테스트용도로 쓰일것이니 햇갈리지 않게 표준포트를 이용한다.
18. 테스트를 해도 되지만 에러가 뜰것이다.
테스트 안해도 후에 전부 해결할수 있는 에러메세지가 뜨니 우선 테스트를 수행하지 않겠다.
19. 네트워크 서비스 이름
YKDB동일
20. 아니오
21. 다음 클릭
22. 완료를 클릭하고 빠져나오자
23. 이제 Client가 Server를 찾아갈 수 있도록 tnsnames.ora파일을 생성해줘야 한다.
아까 OUI창에서 봤던 경로를 찾아 admin까지 이동한다.
C:\app/YK/product/11.2.0/client_1/network/admin/
24. admin 폴더까지 오면 sample폴더와 sqlnet.ora 파일이 있을건데
sample폴더 안에는 sqlnet.ora , tnsnames.ora, listener.ora 3개의 샘플파일이 들어있다. 지우세요.
admin폴더에 tnsnames.ora파일을 메모장으로 생성하고 아래와 같이 써주자.
알면 그냥 쓰고 모르면 Server쪽 tnsnames.ora파일을 열어서 그대로 복사 붙여넣기 하고 저장 종료한다.
(저장할때 엑세스 거부뜨면 메모장열때 관리자 권한으로 실행해서 메모장을 열어 작업한다.)
25. 다시 cmd창을 열어서 oracle server로 접속한다.
sqlplus scott/tiger@ykdb
접속되고 다음에 접속됨이라고 떠야 제대로 접속된것이다.
26. scott 계정으로 select가 되는지 확인해보자.
접속 에러 체크
1. 접속이 되지 않는다면 로컬 네트 서비스를 제거하고 다시 netca해서 재생성한다.
2. listener가 켜져 있는지 확인한다.
3. 윈도우 client tnsnames.ora파일에 공백이나 특수문자가 있는지 확인한다.
4. 그래도 안되면 Server쪽 listener.ora, tnsnames.ora파일을 삭제한후 다시 생성한다.(대체로 여기)
'Oracle' 카테고리의 다른 글
SQL*Loader 수행 전 확인해야 할 사항들 (0) | 2014.11.10 |
---|---|
SQL* Loader로 외부 데이터 입력하기 (0) | 2014.11.10 |
toad for oracle 설치 및 세팅 (0) | 2014.11.04 |
OEL5 + Oracle 11g rac rawdevice (0) | 2014.09.28 |
oracld 11g rac asm (0) | 2014.09.26 |
클라이언트 OS : win7 64bit
(Win8~8.1에서는 뭔짓을 해도 sqlnet.ora를 찾을 수 없다는 에러 메세지를 띄우니 빠르게 포기)
Server OS : OEL64bit
Oracle : 11g
Toad : 64bit
Oracle instance 64bit
1. 델 홈페이지 다운로드 메뉴에서 해당 os bit를 찾아 다운로드 받는다.(Freeware 기준)
Oracle instance도 Oracle 홈페이지에 가서 클라이언트 OS에 맞는 bit를 보고 다운받는다.
Toad를 설치할때 특수문자로 된 경로안에 설치하면 에러를 띄울 가능성이 상당히 높으므로
Program File(x86) 을 하위폴더나 64bit program file 폴더로 옮긴다.
2. 다운로드 받은 해당 Oracle instance 압축을 풀고 특수문자가 들어 가지 않는 경로로 이동시킨다.
3.Oracle instance 폴더로 들어가면 network폴더가 있을지도, 없을지도 모른다.
없으면 생성해주고 network가 포함된 경로를 복사한다. (TNS_ADMIN)
4.환경변수를 넣어줘야 하는데 내 컴퓨터 메뉴에서 속성 클릭
5. 왼쪽 고급시스템 설정 클릭
6. 맨 아래 환경변수를 클릭해준다.
7. 시스템변수쪽 새로만들기에
변수 이름 : TNS_ADMIN
변수 값 : 위에 복사한거 붙여넣기
8. 그리고 Path 더블클릭하고
;(세미콜론) network를 뺀 나머지 instance 경로 붙여넣기
;C:\instance_11_2
여기까지가 Client 설정은 끝났고 Server쪽 listener.ora파일과 listener를 켜주면 된다.
9. 해당 경로로 가서 listener.ora파일을 vi로 열어서 편집한다.
없으면 /app/oracle/product/11g/bin/ 디렉토리에 가서 ./netca 를 실행시켜 listener 파일을 생성한다.(tns 동일)
10. listener.ora파일을 열어보면 아래와 같이 나오는데 밑에 SID_LIST_LISTENER 부분은 추가해줘야 할것이다.
위 아래가 한쌍이므로 하나의 리스너를 사용할려면 아래와 같이 설정되어 있어야한다.
기본 Port 번호는 1521 , host는 아래와 같이 아이피로 잡아줘도 되고,
호스트명으로 잡아줄려면 /etc/hosts파일을 열어 아이피옆에 호스트명을 추가해주면 된다.
11. tnsnames.ora파일을 열어보면(생성해서) 아래와 같이 나오는데 HOST와 Port번호는 listener와 동일해야 한다.
(지금은 tns가 필요가 없다)
12. 위 설정까지 마추고 Toad에 접속할려면 tns오류가 뜰건데 Server쪽에 한가지가 더 남아있다.
보통 리스너가 죽어있는데 한번 stop해주고 start해주면 오류없이 잘 올라올것이다.
lsnrctl listener stop
lsnrctl listener start
lsnrctl listener status13. 이제 Toad에 접속해서 user /schema에 사용자명
password에 암호 넣어주고 host는 위 설정과 동일 포트도 동일
sid에 체크해주고 해당 database명을 입력후에 connect를 클릭하자.(connect 위에 네모로 표시해놨는데
instant client가 자동으로 잡혀있어야 된다. 그렇지 않으면 해당instance를 잡지 못하는 것이므로 환경변수 및
경로체크를 다시 해보고 잡힐때까지 하시면 된다.)
14. scott 계정으로 login
select name from student;
'Oracle' 카테고리의 다른 글
SQL* Loader로 외부 데이터 입력하기 (0) | 2014.11.10 |
---|---|
윈도우 Client로 Oracle Server 접속하기 (0) | 2014.11.04 |
OEL5 + Oracle 11g rac rawdevice (0) | 2014.09.28 |
oracld 11g rac asm (0) | 2014.09.26 |
oracle 10 rac rawdevice (0) | 2014.09.26 |
해당 에러는 오라클을 인스톨하기전에
sysctl.conf 파일 맨 밑에 공유메모리 값을 넣어줬을텐데
최대 공유메모리 값보다 초과되서 출력된 에러다.
11g 기준으로 여러개 돌아다니는 공유메모리 설정값이 있을텐데
기본값으로 엔진 및 db를 install할때 참고하길 바란다.
kernel.shmall = 2097152
'Oracle > Administoration' 카테고리의 다른 글
tablespace에 속한 table 조회(owner) (0) | 2015.01.15 |
---|---|
No archive mod에서 archive mode 변경하기 (0) | 2014.11.04 |
oracle dbca [ora-00119] invalid specification for system parameter local_listener 에러 (0) | 2014.10.31 |
오라클 사용자 권한생성 및 권한주기 (0) | 2014.10.31 |
clonedb를 이용해서 dblink 하기 (0) | 2014.10.31 |
Linux로 설치파일을 받았는데 압축파일로 압축해제 할때 에러 대처
firefox로 설명해보겠습니다.
[root@dbserver ~]# cd /app
[root@dbserver app]# ls
firefox-30.0.tar.bz2 lost+found oracle oraInventory temp tmp
[root@dbserver app]# tar zxvf firefox-30.0.tar.bz2
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Rrror is not recoerable: exiting now
압축파일이 tar.gz 가 아니고 tar 일때는 z를 빼면 된다.
tar -zxvf "압축파일명.tar.gz
tar -xvf "압축파일명".tar(buz~)
tar.gz인가 tar인가 확인하고 입력해주면 된다.
'Linux' 카테고리의 다른 글
vmware linux가 설치된 곳에 외부 모바일, pc로 원격 접속하기 (2) | 2014.11.12 |
---|---|
vmware(10) tool 설치 (0) | 2014.11.04 |
No package oracle-rdbms-server-12cR1-reinstall available (0) | 2014.10.31 |
set sqlprompt 사용법 (0) | 2014.10.31 |
리눅스 디스크 관리 및 추가 (0) | 2014.10.31 |
Oracle enterprise linux 64bit
oracle 12cR1 기준
yum으로 oracle-rdbms-server-12cR1-preinstall 다운받으려고 하면
No Packege oracle-rdbms-server-12cR1-preinstall available.
이라고 뜬다.
이럴때 쓰는 방법이 직접 다운로드 받는법이 있는데 네트워크 설정이 되어 있어여 한다.
아래는 에러문구
[root@dbserver ~]# yum install oracle-rdbms-server-12cR1-preinstall -y
Loaded plugins: refresh-packagekit, rhnplugin
This system is not registered with ULN.
ULN support will be disabled.
shtting up install process
No package oracle-rdbms-server-12cR1-preinstall available.
리눅스 서버에 따라 설정이 약간씩 다르니 스냅샷정도는 찍어놔도 될듯하다.
[root@dbserver ~]# cd /etc/yum.repos.d
[root@dbserver yum.repos.d]# wget http://public.oracle.com/public-yum-ol6.repo
[root@dbserver ~]# cd /etc/yum.repos.d
[root@dbserver yum.repos.d]# wget http://public.oracle.com/public-yum-ol6.repo
Resolving public-yum.oracle.com . . . 61.111.58.32, 61.111.58.8
Connecting to public-yum.oracle.com|61.111.58.32|:80 . . . connected.
HTTP repuest sent, awaiting response . . . 200 OK
Length: 4233 (4.1K) [Text/plain]
Saving to: "Public-yum-ol6.repo"
이하생략
Installed:
oracle-rdbms-server-12cR1-preinstall.x84_64 0:1.0-11.el6
Dependency Installed:
ksh.x86_64 0:20120801-10.el6_5.6 libaio-devel.x86_64 0:0.3.107-10.el6
complete!
[root@dbserver yum.repos.d]#
'Linux' 카테고리의 다른 글
vmware(10) tool 설치 (0) | 2014.11.04 |
---|---|
Linux : not in gzip format 에러 (tar~) (2) | 2014.10.31 |
set sqlprompt 사용법 (0) | 2014.10.31 |
리눅스 디스크 관리 및 추가 (0) | 2014.10.31 |
리눅스(linux) LVM 디스크 관리 및 추가 (0) | 2014.10.31 |