'02.Oracle'에 해당되는 글 248건
- 2008.07.24 [oracle] oracle system password변경하기
- 2008.07.24 [oracle] 오라클 보안
- 2008.07.23 [oracle] tablespace 삭제 및 생성
- 2008.07.23 [oracle] imp 시 buffer IMP-00032 error
- 2008.07.23 [oracle] system 계정 암호변경및 락해체
- 2008.07.23 [oracle] table lock 확인
- 2008.07.22 [oracle] 리눅스에서 오라클 리스너 설정 1
- 2008.07.22 [Fedora] Network
- 2008.07.21 [oracle] OC4J Configuration issue... (^.^)
- 2008.07.21 [oracle] enterprise manager start error
- 2008.07.21 [oracle] iSQL*Plus의 시작 및 중단:
- 2008.07.21 [oracle] Oracle Enterprise Manager Database Control의 시작 및 중단:
- 2008.07.18 [oracle] $ lsnrctl start 리스너 시작이 안될때.. TNS-01201: Listener cannot find executable 1
- 2008.07.18 [oracle] oracle 사용자 추가 (특정권한만
- 2008.07.18 [oracle] Linux Oracle 설치와 활용(Ⅰ)
- 2008.07.18 [oracle] oracle 자동 시작/종료 1
- 2008.07.18 [oracle] 오라클 원격 접속하기
- 2008.07.17 [oracle] 삽질...설치기
- 2008.07.17 [oracle] sqlplus 안될때 삽질....
- 2008.07.17 [oracle] linux pedora 9core 에 oracle11g 설치시 에러 ins_rdbms.mk 2
- 2008.07.17 [oracle] ORA-01034: ORACLE not available 3
- 2008.07.17 [oracle] 기본계정..
- 2008.07.17 [oracle] Linux에서 오라클 삭제하기
- 2008.07.17 [oracle] SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
- 2008.07.14 linux에서 오라클11g 설치 2
- 2008.07.14 [oracle] oracle base 설치정보..
- 2008.07.14 [Ubuntu Hardy Heron] Oracle 11g 설치.
- 2008.07.14 페도라에서 오라클10g 설치성공담
- 2008.07.14 [oracle] imp error 원인...imp-00003, ora-01435, imp-00000 1
- 2008.07.08 [oracle] 오라클개잘바튜닝가이드
Parameter 설정을 통한 오라클 보안
오라클의 보안을 강화하기 위해 지난 호에서 알아본 "OEM(Oracle Enterprise Manager)을 이용한 오라클 계정 관리"에 이어서 이번 호에서는 파라미터 설정을 통해 오라클의 보안을 강화할 수 있는 방법에 대해 알아보겠다.
1. Data Dictionary 보호
Data Dictionary는 데이터베이스의 핵심 정보가 기록되는 곳으로 데이터 베이스의 구조, 객체에 대한 정의 및 공간 할당, 사용자, 롤(role), 권한, 감사 와 같은 정보들을 제공한다. Data Dictionary는 테이블의 형태로 제공되며 데이터베이스 엔진에서 관리하여 사용자가 직접 변경할 수 없도록 되어있다. 또한 Data Dictionary는 대부분 DBA_, ALL_, USER_ 로 시작하는 접두어를 가지고 있어 구분하기가 쉽다.
이러한 Data Dictionary는 'DROP ANY TABLE' 시스템 권한 가진 사용자가 악의적으로 Data Dictionary 테이블의 삭제가 가능하므로 오라클에서 제공하는 파라미터를 변경하여 DBA 권한으로 접속한 사용자만이 Data Dictionary의 ANY 시스템권한을 사용할 수 있도록 해야 한다.
** 파라미터 파일 오라클 데이터베이스 인스턴스의 초기화 설정에 사용되며 텍스트 형식인 PFILE과 바이너리 형태인 SPFILE이 존재한다. PFILE은 init
|
OEM(Oracle Enterprise Manager)을 이용하여 파라미터 파일을 확인하고 설정하기 위해서는 다음과 같은 방법을 이용한다.
① OEM에서 [데이터베이스] -> [세부정보보기/편집] -> [데이터베이스 편집] -> [모든 초기화 매개변수...] 창을 열어 [모든 매개변수]탭을 확인하면 다음과 같이 현재 적용된 모든 파라미터의 값을 확인할 수 있다.
Data Dictionary와 관련된 파라미터는 7_DICTIONARY_ACCESSIBILITY으로 해당 값을 FALSE로 설정하여 Data Dictionary를 보호해야 한다.
② [모든 매개변수]탭에서 [SPFILE]을 선택하여 현재 구성파일(SPFILE)에 있는 O7_DICTIONARY_ACCESSIBILITY 파라미터의 값이 TRUE로 되어 있을 경우 이를 변경하여야 한다.
Oracle 9i 및 10g에서는 O7_DICTIONARY_ACCESSIBILITY 파라미터의 값이 기본적으로 FALSE로 설정되어 있으나 Oracle8i는 TRUE로 설정되어 있으므로 반드시 변경하여야 한다.
③ O7_DICTIONARY_ACCESSIBILITY 파라미터의 값을 변경한 후 [적용]을 누르면 다음과 같이 데이터베이스를 재시작하라는 메시지가 뜬다. 이때 데이터베이스를 재시작해야만 변경된 파라미터의 값이 적용된다.
참고로 SPFILE에서 동적 매개변수를 변경할 경우 현재 실행중인 메모리에 즉시 반영이 되고 동시에 SPFILE에 저장되나 O7_DICTIONARY_ACCESSIBILITY와 같은 정적 매개변수의 값이 변경된 경우 변경된 값은 SPFILE파일에만 저장되므로 데이터베이스를 재시작하여 변경된 값을 적용해야 한다.
2. 원격 인증기능 설정
오라클에서 지원하는 원격인증 기능이 활성화되면, 원격의 클라이언트는 오라클 데이터베이스에 접속할 수 있도록 허용된다. 즉, 데이터베이스는 적절하게 인증된 (클라이언트 자체OS의 인증) 모든 클라이언트들을 신뢰한다. 그러나 PC와 같은 클라이언트의 경우 Virus, Worm, Backdoor 등이 설치되어 있을 수 있어 데이터베이스에 접속할 경우 적절한 인증여부를 보장할 수 없어 보안이 대단히 취약해진다.
이러한 원격 인증기능을 비활성화시켜 오라클 데이터베이스에 접속하는 클라이언트는 Server-Based 인증(데이터베이스 어플리케이션의 인증)을 하도록 파라미터를 변경하여 보안을 강화하여야 한다.
OEM(Oracle Enterprise Manager)을 이용하여 파라미터 파일을 확인하고 설정하기 위해서는 다음과 같은 방법을 이용한다.
① OEM에서 [데이터베이스] -> [세부정보보기/편집] -> [데이터베이스 편집] -> [모든 초기화 매개변수...] 창을 열어 [모든 매개변수]탭의 구성파일(SPFILE)을 선택한 후 파리미터 값을 확인한다.
원격 인증기능과 관련된 파라미터는 REMOTE_OS_AUTHENT으로 해당 값을 FALSE로 설정하여 OS인증이 아닌 오라클 어플리케이션의 인증을 받도록 설정한다.
Oracle 9i 및 10g 에서는 O7_DICTIONARY_ACCESSIBILITY 파라미터와 같이 REMOTE_OS_AUTHENT 파라미터의 값이 기본적으로 FALSE로 설정되어 있으나 Oracle8i는 TRUE로 설정되어 있으므로 반드시 변경하여야 한다.
② REMOTE_OS_AUTHENT 파라미터의 값을 변경한 후에는 Data Dictionary 를 위한 파라미터 변경과 마찬가지로 데이터베이스를 재시작하여 변경된 파라미터값을 적용하면 된다.
3. Listener의 설정 제한
Listener는 오라클 데이터베이스에 원격의 클라이언트가 접속할 수 있도록 실행되는 프로세스이며 클라이언트측의 요청을 받아 실제 쿼리문을 수행하는 서버프로세스를 생성하게 된다.
그러나 Listener의 패스워드는 디폴트로 설정되어 있지 않아 오라클의 service Name을 알경우 공격자에 의하여 Listener프로세스가 시작/정지 또는 재설정될 수 있다.
** Service Name 하나의 오라클 서버에 여러 DBMS프로세스(인스턴스)가 동작할 경우 이를 구별하기 위해 하나의 인스턴스를 Service Name으로 나타내게 된다. 이러한 Service Name은 sid, 서버IP, 접속 프로토콜 등의 정보로 구성이 되며 TNSNAME.ORA 파일에 의해서 정의되게 된다. |
이러한 Listener에 패스워드를 설정하여 임의의 공격자가 Listener를 정지시켜 원격의 사용자가 오라클에 접속하지 못하게 하는 것을 방지하여야 한다. Listener에 패스워드는 LSNRCTL 유틸리티의 change_password 명령어를 이용하여 설정이 가능하며 설정된 패스워드는 LISTENER.ORA파일에 암호화되어 저장되게 된다.
Listener에 패스워드를 설정하기 위해서는 LSNCTL유틸리티를 사용하며 다음과 순서로 진행된다.
OS> lsnrctl LSNRCTL> set current_listener LISTENER LSNRCTL> set save_config_on_stop on LSNRCTL> change_password Old password: 처음의 경우 enter New password: ****** Reenter new password: ****** |
위와 같이 설정한 후 Listener에 설정된 내용을 확인하기 위해서는$ORACLE_HOME/network/admin/listener.ora 경로에 존재하는 LISTENER.ORA파일을 텍스트에디터를 이용하여 확인해 보면 된다.
LISTENER.ORA파일에 다음과 같이 설정되어 있을 경우 Listener의 시작 및 정지 시에 패스워드를 물어보게 된다.
SAVE_CONFIG_ON_STOP_LISTENER = ON PASSWORDS_LISTENER = 2D6C48144CF753AC |
또한 Listener의 설정파일인 LISTENER.ORA은 LSNRCTL 유틸리티의 SET 명령어를 사용하여 수정이 가능하므로 다음과 같은 파라미터를 수정하여 원격에서 LSNRCTL 유틸리티를 사용한 Listener의 설정을 변경할 수 없도록 해야 한다.
Listener의 설정을 변경하기 위해서는 OS상에서 LISTENER.ORA파일을 텍스트 에디터로 열어 수정해야 한다.
ADMIN_RESTRICTIONS_listener_name=ON |
4. 접근 IP 대역 제한
오라클에서 임의의 사용자에 의한 원격 접속을 차단하기 위해 Listener의 IP 접근제한을 설정할 수 있다. 특정 클라이언트에서의 접근만 가능하도록 접근 가능 IP를 설정하여 불필요한 외부의 사용자가 접근하는 것을 차단한다.
환경설정 파일에서 접근 가능한 IP 대역과 접근 불가능한 IP대역을 설정하여 네트워크 접근통제를 할 수 있으며 Oracle 8i 는 ORACLE_HOME/network/admin/protocol.ora 파일에서, Oracle9i 에서는 $ORACLE_HOME/network/admin/sqlnet.ora 파일에서 설정을 한다.
SQLNET.ORA 및 PROTOCOL.ORA파일을 OS상에서 텍스트 에디터로 열어 다음과 같이 편집하여 설정을 한다.
TCP.VALIDNODE_CHECKING = YES TCP.INVITED_NODES=(접속을 허용할 ip) TCP.EXCLUDED_NODES =(접속을 차단할 ip) |
tcp.validnode_checking를 YES 로 설정한 후 접속을 허용·차단할 IP 또는 호스트 네임을 ','를 구분자로 하여 넣어주면 된다.
다음 예제와 같이 접근통제를 할 IP, 및 네트워크 대역을 넣어 설정할 수 있다.
TCP.VALIDNODE.CHECKING = YES TCP.INVITED_NODES =(192.168.100.12, 192.168.100.13, dbms.com) TCP.EXCLUDED_NODES =(192.168.200.0) |
tcp.invited_nodes 만을 사용할 경우 허용된 IP에서만 접근이 되며 그 외의 IP에 대해서는 접근이 불가능하다. 이때 주의해야 할 것은 반드시 자기자신의 IP를 추가해줘야 한다는 것이며 tcp.excluded_nodes를 같이 사용하여 차단할 IP를 추가하여도 된다.
SQLNET.ORA 및 PROTOCOL.ORA파일을 수정한 후에는 Listener를 재시작해야 해당 설정이 적용된다.
[저자] 안랩코코넛 컨설팅사업부 김진수(midorii2@coconut.co.kr)
create tablespace TS_MISI datafile 'E:MIS_DBTS_MISI01.dbf' size 100M; 2GByte로 테이블 생성
alter tablespace TS_MISI
DEFAULT STORAGE(
INITIAL 65536
NEXT 0
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0);
alter tablespace TS_MISD
DEFAULT STORAGE(
INITIAL 65536
NEXT 0
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0);
CREATE TABLESPACE TS_FMSD
DATAFILE
'E:MIS_DBTS_FMSD03.DBF' SIZE 2097152 K ,
'E:MIS_DBTS_FMSD02.DBF' SIZE 2097152 K ,
'E:MIS_DBTS_FMSD01.DBF' SIZE 2097152 K
MINIMUM EXTENT 64 K
NOLOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 64 K;
CREATE TABLESPACE TS_MISD DATAFILE
'E:MIS_DBTS_MISD01.DBF' SIZE 2097152 K
NOLOGGING
ONLINE
PERMANENT;
MINIMUM EXTENT 64 K;
CREATE TABLESPACE TDMS_TEMP DATAFILE
'/oracle/oradata/tdms_temp.DBF' SIZE 2097152 K
NOLOGGING
ONLINE
PERMANENT;
MINIMUM EXTENT 64 K;
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 64 K;
CREATE TABLESPACE TS_MISI
DATAFILE
'E:MIS_DBTS_MISI02.DBF' SIZE 2097152 K,
'E:MIS_DBTS_MISI01.DBF' SIZE 2097152 K
MINIMUM EXTENT 64 K
NOLOGGING
ONLINE
PERMANENT;
--EXTENT MANAGEMENT LOCAL UNIFORM SIZE 64 K;
--PCTINCREASE : initialize의 증가치 퍼센트고
---자료영역 늘리기
SQL> Alter tablespace riaa_data add datafile 'c:riaadata1.ora' size 1M;
--테이블스페이스의 수정
테이블 영역이 변경되었습니다. ( 테이타 자료영역이 4M로 증가된다)
----------------------------
--***Object가 있을 경우 삭제 방법
------------------
SQL> drop tablespace riaa_data;
--테이블스페이스에 Object영역이 있으므로 삭제가 안된다.
라인 1 에 오류:
ORA-01549: 테이블 영역이 비어있지 않으므로 INCLUDING CONTENTS를 사용해 주십시오.
***Object가 있을 경우 삭제 방법
SQL> Drop tablespace TS_BILD including contents;
테이블 영역이 삭제되었습니다.
--user는 지워지지 않는다.. 다만 그 사용영역만 삭제된다.
2. SYSTEM and Non-SYSTEM Tablespace
- SYSTEM Tablespace : data dictionary 정보, SYSTEM rollback segment
- Non-SYSTEM Tablespace : Rollback segments, Temporary segments, App' data, App' index
3. CREATE TABLESPACE
CREATE TABLESPACE tablespace
DATAFILE filespec [autoextend_clause]
[, filespec [autoextend_clause]]...
[MINIMUM EXTENT integer [K|M]]
[DEFAULT storage_clause]
[PERMANENT|TEMPOARY] -- default PERMANENT
[ONLINE|OFFLINE] -- default ONLINE
예) CREATE TABLESPACE app_data
DATAFILE '/DISK4/app01.dbf' SIZE 100M,
'/DISK5/app02.dbf' SIZE 100M
MINIMUM EXTENT 500K
DEFAULT STORAGE (INITIAL 500K NEXT 500K
MAXEXTENTS 500 PCTINCREASE 0) ;
* Storage Parameters
- INITIAL : first extent의 size를 정한다. 최소 size는 2blocks이다. (2 * DB_BLOCK_SIZE)
default는 5 bolcks (5 * DB_BLOCK_SIZE)
- NEXT : 다음 extent의 size를 정한다. 최소 size는 1block 이다.
default는 5 bolcks (5 * DB_BLOCK_SIZE)
- MINEXTENTS : segment가 생성되었을 때 할당된 extent의 갯수.
default는 1
- PCTINCREASE n : 다음에 extent가 생성될 때 이전 extent보다 n% 증가된 size (PCT: percent)
default는 50
- MAXEXTENTS : segment가 갖을 수 있는 extent의 최대 수
4. Temporary Tablespace
CREATE TABLESPACE sort
DATAFILE '/DISK2/sort01.dbf' SIZE 50M
MINIMUM EXTENT 1M
DEFAULT STORAGE (INITIAL 2M NEXT 2M
MAXEXTENTS 500 PCTINCREASE 0)
TEMPORARY ;
5. Tablespace의 size 설정 (data file을 추가하면서...)
ALTER TABLESPACE app_data
ADD DATAFILE
'/DISK5/app03.dbf' SIZE 200M ;
6. Data File이 꽉차면 자동으로 datafile을 증가하게 만드는 방법.
ALTER TABLESPACE app_data
ADD DATAFILE
'/DISK6/app04.dbf' SIZE 200M
AUTOEXTEND ON NEXT 10M
MAXSIZE 500M ;
* 3가지 방법이 있다.
1) CREATE DATABASE
2) CREATE TABLESPACE DATAFILE
3) ALTER TABLESPACE ADD DATAFILE
7. 기존에 존재하는 datafile의 size를 resize하는 방법
ALTER DATABASE DATAFILE
'/DISK5/app02.dbf' RESIZE 200M ;
8. Changing the Storage Settings
ALTER TABLESPACE app_data
MINIMUM EXTENT 2M ;
ALTER TABLESPACE app_data
DEFAULT STORAGE
(INITIAL 2M NEXT 2M
MAXEXTENTS 999) ;
9. Tablespace OFFLINE/ONLINE
- tablespace가 만들어지면 default가 ONLINE이다.
- OFFLINE이 되면 다른 user의 access가 불가능하다.
- SYSTEM tablespace는 OFFLINE이 불가!
- transaction이 끝나지 않은 tablespace는 OFFLINE 불가!
ALTER TABLESPACE tablespace
{ ONLINE | OFFLINE [NORMAL|TEMPORARY|IMMEDIATE] }
- Normal : checkpoint를 적용시키고 offline한다.
- Temporary : datafile 중에서 online datafile에만 checkpoint를 적용시키고 offline한다.
- Immediate : checkpoint 없이 offline한다.
예) ALTER TABLESPACE app_data OFFLINE ;
10. Moving Data File : ALTER TABLESPACE
- 반드시 offline 한 상태에서 한다.
- target data file이 반드시 존재해야 한다.
ALTER TABLESPACE app_data
RENAME DATAFILE '/DISK4/app01.dbf'
TO '/DISK5/app01.dbf' ;
11. Moving Data File : ALTER DATABASE
- 반드시 database가 mount 상태여야 한다.
- target data file이 반드시 존재해야 한다.
- shutdown하고 host상태에서 datafile을 제거해야 한다.
ALTER DATABASE RENAME FILE
'/DISK1/system01.dbf' TO '/DISK2/system01.dbf' ;
12. READ-ONLY Tablespace 상태
- 오직 select만 할 수 있다.
- CREATE는 안되고... DROP은 할 수 있다.
- user들이 data변경을 못하고, backup과 recovery가 쉽다.
ALTER TABLESPACE app_data
READ ONLY
ALTER TABLESPACE app_data
READ WRITE -- read only 상태를 다시 read write상태로 바꿔준다.
* 주의점!
- tablespace가 반드시 online상태여야 한다.
- active transaction이 허용되지 않아야 한다.
- tablespace가 active rollback segment를 갖고 있으면 안된다.
- online backup중엔 못한다.
13. DROP TABLESPACE
- file 삭제는 host에 나가서 삭제를 해야 한다.
DROP TABLESPACE app_data
INCLUDING CONTENTS ;
* including contents를 안썼을 때, tablespace가 비워져 있어야만 drop이 된다.
including contents는 데이터가 들어 있어도 tablespace를 삭제하겠다는 뜻이다.
14. DBA_TABLESPACES : tablespace 정보를 갖고 있다.
- TABLESPACE_NAME, NEXT_EXTENT, MAX_EXTENTS, PCT_INCREASE, MIN_EXTLEN, STATUS, CONTENTS
SVRMGR> SELECT tablespace_name, initial_extent, next_extent,
2 max_extents, pct_increase, min_extlen
3 FROM dba_tablespaces ;
15. DBA_DATA_FILES : file에 관한 정보를 갖고 있다.
- FILE_NAME, TABLESPACE_NAME, BYTES, AUTOEXTENSIBLE, MAXBYTES, INCREMENT_BY
SVRMGR> SELeCT file_name, tablespace_name, bytes,
2 autextensible, maxbytes, increment_by
3 FROM dba_data_files ;
16. Contol File 정보
- V$DATAFILE : ts
[출처] 오라클 테이블 스페이스 생성 및 삭제|작성자 피스엘
$ORACLE_HOME/network/admin/ 디렉토리에는 네트워크관련 환경설정파일들이 있습니다. listener.ora, tnsname.ora 이지요.
listener.ora 파일 설정
# TRACE_LEVEL_LISTENER = OFF |
리스너 명령요약
lsnrctl start : 리스너의 시작
lsnrctl status : 리스너의 동작 상태확인
lsnrctl stop : 리스터의 동작 중지
6. Oracle에서 환글 데이트 처리
1. sqlplus system/manager
2. SQL > select convert('a','KO16KSC5601','US7ASCII') from dual;
3. SQL > update sys.prop$ set value$ = 'KO16KSC5601'
where name = 'NLS_CHARACTERSET';
4. SQL> select name, value$ from sys.prop$ where value$ = 'KO16KSC5601'
제대로 출력이 된다면 ... 아니면 처음부터 다시..
5. SQL> commit;
6. shutdown , startup
랜카드 장착시 -> '/dev/eth0' , '/dev/eth1' , ...
☆ IP 주소
- 각 컴퓨터 랜카드에 부여되는 고유한 주소
예) 255 . 255 . 255 . 255
☆ 네트워크 주소
- 같은 네트워크에 있는 공통된 주소.
- 각 IP에 서브넷 마스크( C클래스의 경우 : 255 . 255 . 255 . 0 ) 를 XOR하면 나오는 주소.
예) 리눅스 서버 IP : 192 . 168 . 184 . 100
리눅스 클라이언트 IP : 192 . 168 . 184 . 200
윈도우 클라이언트 IP : 192 . 168 . 184 . 201
>> 굵은 부분이 네트워크 주소
>> 밑줄 부분이 사설 네트워크 주소
: 외부와 분리된 별도의 네트워크 공인 IP가 부족할때 사용함.
☆ Broadcast
- 내부 네트워크의 모든 컴퓨터가 듣게되는 주소.
- 네트워크 주소 + 255
예) ( C클래스 ) 192 . 168 . 184 . 255
☆ Gateway , Router
- 게이트웨이 = 라우터
- 네트워크 간에 데이터를 전송하는 장비 또는 컴퓨터.
- 외부 네트워크로 나가기 위한 통로.
- 게이트웨이 주소 마지막 숫자는 관리자가 정하기 나름.
※ 게이트웨이 를 별도로 추가시
# route add default gw <게이트웨이 주소> dev <장치 이름>
예) # route add default gw 192.168.184.254 dev eth0
☆ Net Mask & Class
- 넷마스크 : 네트워크의 규모를 등급별로 결정함.
- C 클래스 : 256개의 IP주소 사용가능
예) 네트워크 주소 : 192 . 168 . 184 . 0
넷마스크 주소 : 255 . 255 . 255 . 0
- B 클래스 : 65536개의 IP주소 사용가능 ( 2^16 )
예) 네트워크 주소 : 192 . 168 . 0 . 0
넷마스크 주소 : 255 . 255 . 0 . 0
- A 클래스 : 2^24 개의 IP주소 사용가능
예) 네트워크 주소 : 192 . 0 . 0 . 0
넷마스크 주소 : 255 . 0 . 0 . 0
※ 설치 가능한 컴퓨터 갯수
네트워크 주소, 브로드 캐스트 주소, 게이트 웨이 주소 3개를 제외한
갯수의 컴퓨터를 네트워크 내부에 설치할 수 있다. (C클래스의 경우 256-3 = 253대)
☆ DNS 서버 주소
- URL을 해당 컴퓨터의 IP주소로 변환해주는 서버 컴퓨터의 주소
- 설정 파일 : /etc/resolv.conf
------------------------------------
........
Default Server : ***** // DNS 제공자
nameserver < ***.***.***.*** > // 해당 DNS 서버 IP
........
------------------------------------
☆ 네트워크 관련 명령어
ⓐ # system-config-network
- 네트워크 연결방식을 DHCP 클라이언트 또는 고정 IP 주소를 사용할지 결정
- IP 주소 , 서브넷 마스크 , 게이트웨이 정보
- DNS 정보
- 네트워크 카드 드라이버 설정 , 장치 (eth0) 설정
ⓑ # system-config-network-tui
- Text User Interface : 네트워크 설정의 텍스트 모드
ⓒ # service network restart
- 네트워크 설정 변경후 변경 내용을 시스템에 적용 (네트워크 서비스 재시작)
ⓓ # ifconfig < 장치 이름 >
- 해당 장치의 IP 주소 설정 정보를 출력
ⓔ # nslookup
- DNS 서버작동 테스트
ⓕ # ping
- 네트워크에 응답 테스트
☆ 네트워크 설정 변경 관련 파일
/etc/sysconfig/network // 기본 정보
/etc/sysconfig/network-scripts/ifcfg-eth0 // eth0 에대한 정보 몽창..
/etc/resolv.conf // DNS 서버정보 및 호스트 이름 정보
☆ 네트워크 카드 교체
- 실제로 네트워크 카드에 문제가 발생시 적용시킬수 있다.
1. 네트워크 카드를 제거.
2. 네트워크 카드를 새로 장착.
3. root 로 부팅~
4. # system-config-network
5. "하드웨어" 탭 → 'eth0' 지우기
[새로만들기] → 하드웨어 타입 'Ethernet' 선택
→ <네트워크 아답터 설정 창> → 아답터 'AMD PCnet32' 선택
6. "장치" 탭 → [새로만들기] → '이더넷 연결' 선택 → 'AMD PCnet32' 선택
→ <네트워크 셋팅 설정 창> → '정적으로 설정된 IP 주소들' 선택
→ 네트워크 정보 입력
7. "DNS" 탭 → DNS 주소 확인
8. 완료 (창닫기 or 메뉴 [파일]-[끝내기] 선택)
9. # service network restart // 서비스 재시작
10. # ping www.google.co.kr // 응답확인
11. # ifconfig eth0 // 네트워크 설정 확인
☆ 네트워크 설정 - Text Mode
# vi /etc/sysconfig/network // 확인
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
다음 사항을 수정한다.
----------------------------------------------------
..............
NETMASK = *** . *** . *** . *** // 넷마스크
IPADDR = *** . *** . *** . *** // IP 주소
..............
GATEWAY = *** . *** . *** . *** // 게이트 웨이 주소
..............
----------------------------------------------------
# service network restart
☆ 네트워크 설정 - Command Mode
# ifconfig eth0 <IP 주소> netmask <넷마스크> broadcast <브로드캐스트 주소> up
# route add -net <네트워크 주소> netmask <넷마스크> eth0
# route add default gw <게이트웨이 주소> dev eth0
# vi /etc/resolv.conf // DNS 설정
# service network restart
※ 인터넷이 잘 안될때 , DNS 서버 고장을 의심해보자
ⓐ DNS 서버 작동 확인하기
# nslookup
> server // 사용중인 DNS 서버 주소확인, "Default server :" 이후에 나오는 주소가 DNS주소
> www.google.co.kr
;; connection timed out; no servers could be reached
위와 같은 에러 메시지가 나온다면 DNS 서버가 고장나거나, DNS 서버의 주소가 잘못된것.
ⓑ 다른 컴퓨터에서 DNS 주소 따오기
windows 인경우 : cmd 창에서 'nslookup' 명령으로 DNS 주소 획득~
linux 인 경우 : 위 ⓐ방법으로 확인
ⓒ 가져온 DNS 주소 확인하기
# nslookup
> server <새로운 DNS 주소>
> www.google.co.kr // DNS 서버 작동 확인
ⓓ 정상 작동하는 DNS 주소 적용하기
# vi /etc/resolv.conf // 'nameserver' 부분 수정
OC4J Configuration issue...
First you should check database/instance configure for DATABASE CONTROL
If a hostname_sid directory does not exist in the Oracle Database 10g home directory, then the Oracle Enterprise Manager 10g Database Control Console was not configured for the database instance.
E:\>set oracle_sid=db01
E:\>emctl getemhome
Oracle Enterprise Manager 10g Database Control Release 10.1.0.2.0
Copyright (c) 1996, 2004 Oracle Corporation. All rights reserved.
EMHOME=C:\oracle\product\10.1.0\Db_1/taj.domainname.local_db01
If you get above output mean DATABASE configure FOR DB CONTROL otherwise DATABASE is not configure for DB CONTROL and you will see message like "EM Configuration issue".
We can configure DATABASE/INSTANCE for DB CONTROL through TWO WAY
1.DBCA
2.EMCA
DBCA
E:\>set oracle_sid=sh
E:\>emctl status dbconsole
OC4J Configuration issue. C:\oracle\product\10.1.0\Db_1/oc4j/j2ee/OC4J_DBConsole
_taj.domainname.local_sh not found.
E:\>dbca
Note : dbca ---> Configure Database option ---> Select DB and give PWD ---> Check Mark on Configure database with enterprise manager. ---> Finish
E:\>set oracle_sid=sh
E:\>emctl status dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.1.0.2.0
Copyright (c) 1996, 2004 Oracle Corporation. All rights reserved.
http://taj.domainname.local:5503/em/console/aboutApplication
Oracle Enterprise Manager 10g is running.
------------------------------------------------------------------
Logs are generated in directory C:\oracle\product\10.1.0\Db_1/taj.domainname.local_sh/sysman/log
--------------------------------------------------------------
You can also Configure Database Control through EMCA command line utility.
E:\>set oracle_sid=db01
E:\>emca
STARTED EMCA at Thu Jan 11 10:39:37 GST 2007
Enter the following information about the database to be configured
Listener port number: 1521
Database SID: db01
Service name: db01
Email address for notification:
Email gateway for notification:
Password for dbsnmp:
Password for sysman:
Password for sys:
-----------------------------------------------------------------
You have specified the following settings
Database ORACLE_HOME ................ C:\oracle\product\10.1.0\Db_1
Enterprise Manager ORACLE_HOME ................ C:\oracle\product\10.1.0\Db_1
Database host name ................ taj.domainname.local
Listener port number ................ 1521
Database SID ................ db01
Service name ................ db01
Email address for notification ...............
Email gateway for notification ...............
-----------------------------------------------------------------
Do you wish to continue? [yes/no]: yes
Jan 11, 2007 10:40:22 AM oracle.sysman.emcp.EMConfig checkConfiguration
SEVERE: Repository already exists. Fix the error(s) and run EM Configuration As
sistant again in standalone mode.
Could not complete the configuration. Refer to the log file for details
emca -r :skip creation of repository schema
E:\>emca -r
STARTED EMCA at Thu Jan 11 10:42:33 GST 2007
Enter the following information about the database to be configured
Listener port number: 1521
Database SID: db01
Service name: db01
Email address for notification:
Email gateway for notification:
Password for dbsnmp:
Password for sysman:
Password for sys: :
Password for sys:
-----------------------------------------------------------------
You have specified the following settings
Database ORACLE_HOME ................ C:\oracle\product\10.1.0\Db_1
Enterprise Manager ORACLE_HOME ................ C:\oracle\product\10.1.0\Db_1
Database host name ................ taj.domainname.local
Listener port number ................ 1521
Database SID ................ db01
Service name ................ db01
Email address for notification ...............
Email gateway for notification ...............
-----------------------------------------------------------------
Do you wish to continue? [yes/no]: yes
Jan 11, 2007 10:42:59 AM oracle.sysman.emcp.EMConfig updateReposVars
INFO: Updating file C:\oracle\product\10.1.0\Db_1\sysman\emdrep\config\repositor
y.variables ...
Jan 11, 2007 10:43:05 AM oracle.sysman.emcp.util.PortQuery findUsedPorts
INFO: Searching services file for used port
Jan 11, 2007 10:43:08 AM oracle.sysman.emcp.EMConfig addPortEntries
INFO: Updating file C:\oracle\product\10.1.0\Db_1\install\portlist.ini ...
Jan 11, 2007 10:43:09 AM oracle.sysman.emcp.EMConfig updateEmdProps
INFO: Updating file C:\oracle\product\10.1.0\Db_1\sysman\config\emd.properties .
..
Jan 11, 2007 10:43:10 AM oracle.sysman.emcp.EMConfig updateConfigFiles
INFO: targets.xml file is updated successfully
Jan 11, 2007 10:43:10 AM oracle.sysman.emcp.EMConfig updateEmomsProps
INFO: Updating file C:\oracle\product\10.1.0\Db_1\sysman\config\emoms.properties
...
Jan 11, 2007 10:43:10 AM oracle.sysman.emcp.EMConfig updateConfigFiles
INFO: emoms.properties file is updated successfully
Jan 11, 2007 10:43:12 AM oracle.sysman.emcp.EMConfig startOMS
INFO: Starting the DBConsole ...
Jan 11, 2007 10:44:53 AM oracle.sysman.emcp.EMConfig perform
INFO: DBConsole is started successfully
Jan 11, 2007 10:44:53 AM oracle.sysman.emcp.EMConfig perform
INFO: >>>>>>>>>>> The Enterprise Manager URL is http://taj.domainname.lo
cal:5504/em <<<<<<<<<<<>Agent Unreachable
First check agent services is start or not.
e:\>set oracle_sid=db01
e:\>emctl status agent
if stop or not running then start
e:\>emctl start agent
or check log file for more info.
OracleHome\Db_1\localhost_sid\sysman\log
------------------------------------------------------------
Io exception: SO Exception was generated
INFO: Block size for SYSAUX is greater than or equal to 8K
INFO: Job queue size is greater than or equal to 10
or check log file for more info.
Oracle_Home\Db_1\cfgtoollogs\emca_repos_xxxx.log
For above error because of your not drop repository properly.
SQL> DECLARE
2 CURSOR c1 IS
3 SELECT owner, synonym_name name
4 FROM dba_synonyms
5 WHERE table_owner = 'SYSMAN';
6
7 BEGIN
8 FOR r1 IN c1
9 LOOP
10 IF r1.owner = 'PUBLIC' THEN
11 EXECUTE IMMEDIATE 'DROP PUBLIC SYNONYM 'r1.name;
12 ELSE
13 EXECUTE IMMEDIATE 'DROP SYNONYM 'r1.owner'.'r1.name;
14 END IF;
15 END LOOP;
16 END;
17 /
PL/SQL procedure successfully completed.
SQL> DROP ROLE mgmt_user;
Role dropped.
SQL> drop user mgmt_view cascade;
User dropped.
SQL> drop user sysman cascade;
User dropped.
------------------------------------------------------------------
After drop complete repository you can create new repository through EMCA.
E:\>emca
STARTED EMCA at Thu Jan 11 18:13:11 GST 2007
Enter the following information about the database to be configured
Listener port number: 1521
Database SID: db01
Service name: db01
Email address for notification:
Email gateway for notification:
Password for dbsnmp:
Password for sysman:
Password for sys: :
Password for sys:
-----------------------------------------------------------------
You have specified the following settings
Database ORACLE_HOME ................ C:\oracle\product\10.1.0\Db_1
Enterprise Manager ORACLE_HOME ................ C:\oracle\product\10.1.0\Db_1
Database host name ................ taj.domainname.local
Listener port number ................ 1521
Database SID ................ db01
Service name ................ db01
Email address for notification ...............
Email gateway for notification ...............
-----------------------------------------------------------------
Do you wish to continue? [yes/no]: yes
DBConsole is already configured for the database db01
Would you like to re-configure DBConsole for the specified database? [yes/no]: y
es
Make sure that DBConsole has been shutdown
When you are ready to continue, press
Jan 11, 2007 6:13:27 PM oracle.sysman.emcp.EMConfig updateReposVars
INFO: Updating file C:\oracle\product\10.1.0\Db_1\sysman\emdrep\config\repositor
y.variables ...
Jan 11, 2007 6:19:07 PM oracle.sysman.emcp.EMConfig createRepository
INFO: Creating repository ...
Jan 11, 2007 6:19:07 PM oracle.sysman.emcp.EMConfig perform
INFO: Repository was created successfully
Jan 11, 2007 6:19:15 PM oracle.sysman.emcp.EMConfig stopOMS
INFO: Stopping the DBConsole ...
Jan 11, 2007 6:19:21 PM oracle.sysman.emcp.EMConfig addPortEntries
INFO: Updating file C:\oracle\product\10.1.0\Db_1\install\portlist.ini ...
Jan 11, 2007 6:19:21 PM oracle.sysman.emcp.EMConfig updateEmdProps
INFO: Updating file C:\oracle\product\10.1.0\Db_1\sysman\config\emd.properties .
..
Jan 11, 2007 6:19:23 PM oracle.sysman.emcp.EMConfig updateConfigFiles
INFO: targets.xml file is updated successfully
Jan 11, 2007 6:19:23 PM oracle.sysman.emcp.EMConfig updateEmomsProps
INFO: Updating file C:\oracle\product\10.1.0\Db_1\sysman\config\emoms.properties
...
Jan 11, 2007 6:19:23 PM oracle.sysman.emcp.EMConfig updateConfigFiles
INFO: emoms.properties file is updated successfully
Jan 11, 2007 6:19:34 PM oracle.sysman.emcp.EMConfig startOMS
INFO: Starting the DBConsole ...
Jan 11, 2007 6:21:13 PM oracle.sysman.emcp.EMConfig perform
INFO: DBConsole is started successfully
Jan 11, 2007 6:21:13 PM oracle.sysman.emcp.EMConfig perform
INFO: >>>>>>>>>>> The Enterprise Manager URL is http://taj.domainname.lo
cal:5504/em <<<<<<<<<<<>
Note : In 10.1.0.2.0 RepManager is not working properly so that we are not able to use below command.
emca -config dbcontrol db -repos recreate
If is working in 10.1.0.3.0
for you have to manully drop repository and create again.
Related Links
1. http://dbataj.blogspot.com/2007/07/error-during-dbconsole-shutting-down.html
2. http://dbataj.blogspot.com/2007/07/change-sysman-password.html
3. http://dbataj.blogspot.com/2007/07/e-mail-notification.html
4. http://dbataj.blogspot.com/2007/06/enabling-isqlplus-dba-access.html
5. http://dbataj.blogspot.com/2007/04/export-database-with-sysdba-role.html
enterprise manager start error
I just installed Oracle 10.0.2 on fedora 9 and the installation was successful;
later i 'm trying to start the enterprise manager using this command
emctl start
i get this error
TZ set to Canada/Eastern
Exception in getting local host
java.net.UnknownHostException: f9.localdomain: f9.localdomain
at java.net.InetAddress.getAllByName0(InetAddress.java:1011)
at java.net.InetAddress.getAllByName0(InetAddress.java:981)
at java.net.InetAddress.getAllByName(InetAddress.java:975)
at java.net.InetAddress.getByName(InetAddress.java:889)
at oracle.sysman.emSDK.conf.TargetInstaller.getLocalHost(TargetInstaller.java:4983)
at oracle.sysman.emSDK.conf.TargetInstaller.main(TargetInstaller.java:3758)
Exception in getting local host
java.net.UnknownHostException: f9.localdomain: f9.localdomain
at java.net.InetAddress.getAllByName0(InetAddress.java:1011)
at java.net.InetAddress.getAllByName0(InetAddress.java:981)
at java.net.InetAddress.getAllByName(InetAddress.java:975)
at java.net.InetAddress.getByName(InetAddress.java:889)
at oracle.sysman.emSDK.conf.TargetInstaller.getLocalHost(TargetInstaller.java:4983)
at oracle.sysman.emSDK.conf.TargetInstaller.main(TargetInstaller.java:3758)
EM Configuration issue. /u01/app/oracle/product/10.2.0/db_1/f9.localdomain_DB11G not found.
I'm new to both Linux and Oracle and i don't know how to trouble shoot this kind of error
please help
thanks
Amgad
- amgad_go
- Member
- Posts: 3
- Joined: Thu Jun 05, 2008 2:18 pm
Re: enterprise manager start error
emctl start dbconsole
BUT
this error message is not because of incomplete command. I think you might have some miss configuration with your hostname. You need to make sure that you have correct hostanem in /etc/hosts and also correct name secified for this host which should be "f9.localdomain"
iSQL*Plus를 이용한 데이타베이스 접근
iSQL*Plus는 SQL*Plus의 웹 기반 버전입니다. iSQL*Plus를 사용하려면, OEM 콘솔의 Related Links 섹션에 있는 iSQL* Plus 링크를
클릭하거나, 설치 과정에서 제공된 iSQL*Plus URL을 브라우저에 입력합니다.
Ex:
http://ds1.orademo.org:5560/isqlplus (데이타베이스에 DNS가 설정되지 않은 경우, 호스트 네임 대신 IP 주소를 입력해야 합니다.)
User Name: SYSTEM
Password: <설치과정에서 입력한 패스워드>
Workspace 박스에 SQL 명령을 입력한 뒤 Execute를 클릭합니다.
iSQL*Plus의 시작 및 중단:
$ isqlplusctl start $ isqlplusctl stop
Oracle Enterprise Manager 10g Database Control의 사용
웹 브라우저에서 설치과정에서 제공된 URL을 입력합니다.
Ex:
http://ds1.orademo.org:5500/em (데이타베이스에 DNS가 설정되지 않은 경우, 호스트 네임 대신 IP 주소를 입력해야 합니다.)
User Name: SYS
Password: <설치과정에서 입력한 패스워드>
Connect As: SYSDBA
Oracle Enterprise Manager 10g Database Control의 놀라운 세계에 오신 것을 환영합니다!
Oracle Enterprise Manager Database Control의 시작 및 중단:
$ emctl start dbconsole $ emctl stop dbconsole
오라클 엔진을 다른 디렉토리로 옮긴후에 아래와 같은 에러 발생
/usr/oracle -> /oracle
$ lsnrctl start
LSNRCTL for IBM/AIX RISC System/6000: Version 8.1.7.0.0 - Production on 25-SEP-2002 19:13:30
(c) Copyright 1998 Oracle Corporation. All rights reserved.
Starting /oracle/app/oracle/product/8.1.7/bin/tnslsnr: please wait...
TNSLSNR for IBM/AIX RISC System/6000: Version 8.1.7.0.0 - Production
System parameter file is /oracle/app/oracle/product/8.1.7/network/admin/listener.ora
Log messages written to /oracle/app/oracle/product/8.1.7/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=su405.chonbuk.ac.kr)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
TNS-01201: Listener cannot find executable /usr/oracle/app/oracle/product/8.1.7/bin/extproc for SID
PLSExtProc
@ 해결책
$ cd $ORACLE_HOME/network/admin
$ vi listener.ora
(ORACLE_HOME = /usr/oracle/app/oracle/product/8.1.7)
->
(ORACLE_HOME = /oracle/app/oracle/product/8.1.7)
[출처] [Oracle] 오라클 리스너 실행이 안될때 해결책|작성자 poporena
CREATE USER test1521 IDENTIFIED BY test1521;
GRANT CREATE SESSION TO test1521;
GRANT SELECT ON SMBI.sbcsba2007 TO test1521;
scott : DB
student : Table Name
tiger : 계정
GRANT SELECT ON SMBI.cuolac TO test1521;
GRANT SELECT ON SMBI.sbcsba2007 TO test1521;
GRANT SELECT ON SMBI.sbcsbb2007 TO test1521;
GRANT SELECT ON SMBI.sbcsbc2007 TO test1521;
GRANT SELECT ON SMBI.sbcsbe2007 TO test1521;
GRANT SELECT ON SMBI.sbcsbg2007 TO test1521;
GRANT SELECT ON SMBI.sbcsbh2007 TO test1521;
GRANT SELECT ON SMBI.sbcsbi2007 TO test1521;
GRANT SELECT ON SMBI.sbcsbk2007 TO test1521;
GRANT SELECT ON SMBI.sbcsbo2007 TO test1521;
GRANT SELECT ON SMBI.sbcsbp2007 TO test1521;
GRANT SELECT ON SMBI.sbcsbr2007 TO test1521;
GRANT SELECT ON SMBI.sbcsbr22007 TO test1521;
GRANT SELECT ON SMBI.sbcsbs2007 TO test1521;
GRANT SELECT ON SMBI.sbcsbt2007 TO test1521;
이수준 (dislevel@newhuman.org) |
서 론 인터넷 서버로서의 많은 가능성을 보여주고 있는 Linux는 사실상 미묘한 문제가 있었다. Apache는 웹서버로서의 더할 나위 없는 정상의 고지에 있었고, Samba는 많은 작업들을 MS WINDOWS로부터 해방시켜 주었으며 X WINDOW는 MS의 그것과 못지 않은 많은 윈도우 매니저들로 치장되었다. 문제는 좀더 신뢰성 있는 서비스들이었고 그것은 대체로 D/B 시스템과의 밀접한 관계를 가진다. 물론 Linux에서도 아주 훌륭한(그것도 공개의) D/B 들이 존재하는데 MiniSQL이나 Postgresql등이 그것이고 MySQL같은 조금 특별한(반 공개/반 상용) 것들도 있다. 하지만, 이것들이 아무리 훌륭하다고 해도 사용자의 입장에서는 누구하나 책임져주지도, 기술지원 해주지도 않는 이러한 D/B 시스템들에 자신의 귀중한, 혹은 상업적인 목적의 자료를 담아두고 맘 편해 하는 이는 별로 없을 것이다. 그러나 지금은 여러 우여 곡절 끝에 Linux는 Oracle 을 위시한 대형 D/B시스템 업체들로부터 지원을 받게 되었다. 대형 상용 D/B시스템 업체들의 지원과 엔터프라이즈급 성능을 갖춘 커널 2.2의 발표로 인터넷 서버 시장을 넘어 이제는 국내에서도 엔터프라이즈 플랫폼으로 Linux 가 강력하게 등장하고 있다.
목 적 이 글의 목적은 간단하다. 여러 D/B벤더들의 제품중에서 유독 한국에서 초강세를 보이고 있는 Oracle (server for Linux 8.0.5)를 Linux상에서 설치하는 방법과 운용 방법, 그리고 간단한 pro-c 사용법, 그리고 한참 주가를 올리고 있는 php3와의 연동을 약 3회분에 걸쳐 살펴본다. Test에 사용된 Oracle server는 정품이 아니고 Oracle Home Page에 가면 쉽게 구할 수 있는 개발자 버전임을 알려둔다. 참고 한 곳 http://technet.oracle.co.kr 참고 한 글-오라클 매뉴얼 ◎ 시스템 요구사항 메모리 : 활용의 목적이 아닐 경우 32메가도 가능 스왑영역 : 일반적으로 RAM의 3배 크기의 스왑영역이 권장. 1GB이상의 RAM을 가진 디스크 : 최소한 4개(At least four devices) : Oracle 소프트웨어 설치를 위해 하나, 나머지 Operating System : Linux 2.0.34 System Libraries : GNU C Library, version 2.0.7 Window Manager : 어떤 X 윈도우 시스템도 가능
가. root 로 하여야 할일 1. 다운로드 http://technet.oracle.com에서 오라클 리눅스를 다운 받는다. 2. /usr/src 에 다운로드 받은 805ship.tgz 파일을 옮긴 후 /usr/src/ora에서 압축을 푼다. # ls 3. Create Mount Points 4. DBA group 생성 # groupadd dba 5. 리눅스 커널 설정 다음에 상응하는 커널 파라메터를 설정한다. maximum size of a shared memory segment(SHMMAX) ㄱ) SHMMAX = 4294967295 : 단일 공유 메모리 세그먼트의 최대크기(바이트단위) 솔라리스의 경우에는 다음의 값들을 /etc/system 파일에서 설정해 주어야 하지만, 설정을 하지 않아 문제가 발생한적은 없었다. 기본 커널 상태로 놓고 인스톨하여도 무방하다. (레드헷의 디폴트 커널이든 다시 컴파일한 커널이든) 6. 오라클 관리자 계정 생성 ㄱ) adduser 명령으로 oracle user를 생성한다. 7. oratab 파일 생성 실제 인스톨과정에서 oratab.sh을 실행하면 ORACLE_OWNER환경변수가 설정되어 있는지 #export ORACLE_OWNER=oracle
나. oracle user 로 할 일 1. ~/.bash_profile의 수정 export 위의 경우는 “root 작업 4”의 “Create Mount Points”에서 이야기한 오라클을 설치할 경로로 /home/oracle인 경우이다. 각 설정에 대한 설명 ORACLE_HOME : LD_LIBRARY_PATH : ORACLE_SID : 그 외의 환경변수는 예제에 나와 있는 데로 하면 된다. 지역언어설정 환경변수 NLS_LANG은 모든 인스톨이 끝나고 설명하도록 하겠다. 환경변수 갱신 위와 같이 .profile내용을 변경하였다면 # . .bash_profile 혹은
다. 실제적인 Oracle 의 설치 1. 인스톨러 실행 ㄱ) oracle로 로그인 한다. - 절대 root로 인스톨로를 실행하면 안된다. 화면에서 [TAB]키, 화살표키, 스페이스 바를 이용하여 항목을 선택할 수 있다. 2. 검은 배경의 설치화면이 나오면 Custom Install을 선택한다. 3. 처음 설치하는 것이므로, (o) Install, Upgrade, or De-Install Software을 선택한다. 4. 새롭게 인스톨 할 것이므로 Install New Product - Create DB Objects을 선택한다. 5. Mount Point를 설정한다. root user로 할 일 5. 번에서 설정한 것처럼 mount point를 6. .bash_profile에서 설정한 것처럼 $ORACLE_HOME 디렉토리를 설정한다. 7. ORACLE_BASE 와 ORACLE_HOME을 설정한다. 8. log 파일이 남을 위치를 설정한다. 9. Install from CD-ROM을 선택하여야 한다. 10. ORACLE_SID를 .bash_profile에서 설정한 것과 같이 linux로 선택한다. 11. NLS 의 설정 - 여기에서는 일단 ALL language를 선택한다. 12. install 이 끝이 난 후 root.sh을 실행하라는 메시지가 출력된다. 반드시 install 후에는 13. Software Asset Manager에서 설치한 부분을 선택한다.여기에서는 모든 부분을 설치 14. 13)에서처럼 Install을 선택한 후 몇 가지 사항에 대하여 OK를 한 후 OSOPER group (dba) 15. 생성할 DB Object를 선택한다. - Filesystem-Based Database을 선택한다. 16. Database Mount Points를 정한다. 설치도중에 3개의 mount points를 기입하라고 하는데 필자도 오라클을 설치할 때 /home/oracle에 오라클 프로그램을 설치하고 데이터 파일을 17. Character Set 설정 - 한글을 쓰기 위해서KO16KSC5601로 설정한다. 18. National Character Set 설정 19. System password 의 설정 (보통 manager라고 password를 입력한다. ) 20. sys password 의 설정 ( manager로 password를 설정. ) 21. dba password 의 설정 ( no라고 설정한다. ) 22. TNS Listener Password 의 설정 23. Configure MTS and start SQL*Net listener 설정은 no로 한다. 24. Control files 의 위치 확인. 25. 기본적인 데이터베이스 관련 파일의 위치와 용량의 확인 26. JDBC 셋의 선택 (default로 선택을한다.) 27. CTX Temporary Tablespace을 선택한다. 28. CTX demo table을 설치할 것을 선택한 후에, Oracle Document를 설치할 것에 대하여 29. 이제 인스톨이 시작되기 시작하고 그래프가 올라가기 시작한다. 하염없이 기다리자 -_-; 30. 설치완료 화면. 31. 설치 검증 ㄱ) root로 로그인한다. # ./root.sh *:/home/oracle//app/oracle/product/8.0.5:N
라. Oracle Database 의 구동 1. oracle user로 login. 2. svrmgrl을 실행시킨 후 database를 가동한다. $ svrmgrl - svrmgrl 의 실행 SVRMGR> connect internal - internal 접속 (c) Copyright 1997, Oracle Corporation. All Rights Oracle8 Release 8.0.5.0.0 - Production SVRMGR> connect internal - internal 접속 SVRMGR> startup; SVRMGR> exit - svrmgrl 의 종료 3. lsnrctl 명령을 이용하여 Oracle listener을 가동시킨다. LSNRCTL for Linux: Version 8.0.5.0.0 - Production on 26-APR-99 21:56:51 Starting /home/oracle/app/oracle/product/8.0.5/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 8.0.5.0.0 - Production Connecting to - 오라클 리스너가 제대로 실행이 되지 않을 경우 listener.ora, tnsnames.ora을 알맞게 다음은 tcp/ip 프로토콜을 기준으로 하여서 listener.ora를 알맞게 편집한 것이다. #
# linux_BEQ = 4. 이제 다시 lsnrctl start 명령으로 실행하여 Oracle listener을 실행한다. 5. sqlplus로 접속이 확인되었으면 이제 listener을 종료한 후 database를 종료시켜 보자. - listener 의 종료 LSNRCTL for Linux: Version 8.0.5.0.0 - Production on 26-APR-99 22:18:35 (c) Copyright 1997 Oracle Corporation. All rights reserved. Connecting to - oracle database 의 shutdown (c) Copyright 1997, Oracle Corporation. All Rights Reserved. Oracle8 Release 8.0.5.0.0 - Production SVRMGR> connect internal $
마. Oracle Database 의 사용자 등록 system/manager라는 Oracle 사용자 계정은 UNIX시스템에서의 root를 사용하는 것과 유사하기 때문에 우리는 문제를 발생시키는 것을 최소화하기 위해 되도록 적은 권한을 갖는 사용자를 생성할 필요가 있다. SQL*PLUS에 연결하고 사용자를 생성한다. $ sqlplus system/manager SQL*Plus: Release 8.0.5.1.0 - Production Copyright (c) Oracle Corporation 1997. All rights reserved. Connected to: SQL> create user <user> identified by <psw> User created. Grant succeeded. SQL> exit Disconnected from Oracle8 Server Release 8.0.5.0.0 - 시스템에 새로운 사용자계정을 생성하였기 때문에 새로운 계정을 가지고 시스템에 로그인 할수 있다. Oracle 데이터베이스에 로그인 하기 위해서는 다음과 같다. $ sqlplus <user>/<password> 이 부분이 에러 메시지 없이 수행된다면, 성공적으로 Oracle 데이터베이스를 설치한 것이다.
바. Oracle 데이터 베이스의 자동 실행 Oracle 데이터베이스의 자동 시작과 중지는 Oracle에서 제공하는 파일인 dbstart와 dbstop를 이용하여 설정할 수 있다. 이러한 파일들은 etc/oratab 파일의 존재여부에 의존한다. /etc/oratab 파일의 형식은 다음과 같다. SID:ORACLE_HOME:AUTO 설정 예 # init.d & rc.d 리눅스 시스템의 시작과정이나 종료과정을 변형하여 데이타베이스를 시작시키고 종료 시킬 수 있다. 이것은 매우 쉽지만, 어떠한 Linux(slackware, debian, redhat, etc)시스템을 사용하느냐에 따라 변경될 수 있다는 것을 필자는 지적한다. 이 문서에서는 Redhat Linux 5.2 에서 동작하는 예를 보여줄 것이다. 자신의 Linux 시스템에 따라 수정하기 위해서는 자신의 Linux 시스템 문서 자료를 참고한다. 우선, 우리는 /etc/rc.d/init.d 디렉토리에 있는 dbshut와 dbstart를 실행할 스크립트를 생성할 필요가 있다. #!/bin/sh case “$1” in ---------------------------------” >> /var/log/oracle restart) *) echo “Usage: oracle {start|stop|restart}” 이 파일이 실제적으로 정확히 당신의 시스템에서 데이터베이스를 중지하고 실행시키는지를 확인해야 한다. 에러메세지를 위한 /var/log/oracle인 log 파일을 확인하라. $ ln -s ../init.d/oracle /etc/rc.d/rc2.d/S99oracle 시스템을 재 부팅하거나, 재 실행 시킬 때에 데이터베이스를 중지시키기 위해서 우리는 다음과 같은 연결(link)이 필요한다. $ ln -s ../init.d/oracle /etc/rc.d/rc0.d/K01oracle # Halting
마치는 글 이상으로 간략하게나마 Linux 상에서의 Oracle 데이터베이스 설치와 구동법에 대해서 알아보았다. |
구경탁 jinuxer@yahoo.co.kr
1차수정 : 2002년 11월 04일
--------------------------------------------------------------------------------
이 자료는 O/S startup 시에 Oracle RDBMS 서비스를 자동으로 startup하는 방법에 대한 자료이다.
Oracle RDBMS 서비스를 startup하기위해 $ORACLE_HOME/bin/dbstart를 사용할 수 있고, Oracle RDBMS 서비스를 shutdown하기위해 $ORACLE_HOME/bin/dbshut를 사용할 수 있다.
--------------------------------------------------------------------------------
1. /etc/rc.d/rc.local Boot Time Script 이용
첫번째 방법은 System Boot Time때에 Oracle RDBMS를 자동적으로 서비스를 하기위해서 /etc/rc.d/rc.local에 $ORACLE_HOME/bin/dbstart를 추가하면된다.
# cd /etc/rc.d/
# vi rc.local
오라클 원격 접속하기
1. 오라클 서버에 리스너(Listener) 를 가동한다.
다른 컴퓨터에서 오라클에 접속하려면 리스너가 동작해야 한다. 오라클 9i라면, 설치시에 기본적으로 리스너를 설치하고, 서비스를 구성한다. Enterprise Edition이나 Standard Edition은 기본으로 구성하는 단계가 있는데, 혹시 구성 중에 취소했다면 안 만들어 졌을 수도 있다.
리스너는 네트워크를 이용하여 클라이언트에서 오라클 서버로 연결하기 위한 오라클 네트워크 관리자 이다. 오라클 서버에서 리스너를 시작시켜 주어야 클라이언트들이 접속 할 수 있다.
리스너 관련 명령어
c:\>lsnrctl start 리스너 시작하기
c:\>lsnrctl stop 리스너 정지하기
c:\>lsnrctl reload 리스너 재시작하기
c:\>lsnrctl status 리스너 상태보기
c:\>lsnrctl help 도움말
리스너 구성 파일은 $ORACLE_HOME/network/admin 아래에 있는 listener.ora 파일이며, 오라클 서버에서 클라이언트의 요청을 듣고 클라이언트와의 통신 환경을 설정한다.
listener.ora 파일이 없다면, cmd 창을 열어서
C:\> lsnrctl start
라고 치면 자동으로 만들어진다.
만들어진 리스너는 서비스로 등록되는데, 서비스 관리자에서 Oracle....TNSListener라는 이름이 바로 리스너 서비스다.
이 서비스의 시작 유형을 "자동" 으로 해 놓는 것이 편리하다.
서비스 관리자에서 이 서비스를 start 시키거나, cmd 창에서
C:\> lsnrctl start
하면 외부에서 접속할 수 있다.
2. 클라이언트에 오라클 클라이언트를 설치 한다.
리눅스용 오라클 클라이언트는 http://www.oracle.com/technology/global/kr/software/products/database/oracle10g/index.html 에서 다운 받을 수 있다. 되도록이면 설치되어 있는 오라클 버전하고 같은 것을 다운 받는다.
주) 리눅스용 오라클 클라이언트는 X 윈도 에서 설치가 가능하다.
3. 리눅스 시스템의 경우 .bash_profile 파일을 수정한다.
SQL PLUS 같은 터미널 접속 이라면 먼저 해당 계정의 .bash_profile 파일을 수정해 주어야 한다.
예를 들면 아래와 같다.
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=/oracle/app/oracle/product/8.1.7
export ORACLE_OWNER=oracle
export ORACLE_SID=ORCL
export TMPDIR=$ORACLE_BASE/tmp
export PATH=$PATH:$ORACLE_HOME/bin:/usr/local/java/bin
export JAVA_HOME=/usr/local/java
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=American_America.KO16KSC5601
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
이 계정으로 접속을 했을 때 아무 곳에서나 오라클의 접속이 가능 하도록 패스 지정을 한 것이다.
접속 방법
사용자 이름 : <사용자계정> 암호 : <계정비밀번호> 호스트 스트링 : tnsnames.ora 에 설정된 호스트의 별칭 |
주) 웹을 이용한 접속 이라면 PHP 의 경우 오라클 클라이언트 설치 경로를 지정해 주어 PHP 를 다시 컴파일 해주어야 하며 JSP 같은 경우 라면 오라클 경로를 다시 잡아 주어야 한다.
4. 클라이언트에서 tnsnames.ora 파일을 수정한다.
tnsnames.ora 파일은 오라클 서버로 접속할 때 필요한 프로토콜 및 포트번호, 서버주소, 인스턴스 등을 설정해 주는 파일로써, C:\oracle\ora92\network\admin 디렉토리에 위치한다.
MY_DB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 126.138.95.21)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = oradb) ) ) |
오라클 클라이언트는 원격 DB 접속을 위해 위의 파일 내용을 참조하게 된다.
MY_DB 는 원격 데이터베이스의 사용자 정의 명칭이다. 자신의 PC 에서만 유효한 이름이므로 아무렇게나 주어도 된다. HOST = 126.138.95.21 이 부분이 중요한데...실제 원격 DB 가 위치하고 있는 머신의 IP 주소를 입력하면 된다. 포트는 기본 값이 1521 이다.
SERVICE_NAME 이라는 것은 실제 데이터베이스 이름이라고 보면 된다. MY_DB 가 내 PC 에서만 유효한 것이라면 SERVICE_NAME 은 NETWORK 내에서 유일해야 하므로 실제 원격 머신 상에서 오라클 Database 를 Create할 때 결정되어진다. SERVICE_NAME 및 호스트 머신의 IP 주소에 대해서는 원격 Database 를 관리하는 DATABASE 관리자에게 문의하면 된다.
각 오라클의 버전별로 약간의 tnsname.ora 의 내용이 약간씩 다를 수 있으나 위에 설명한 내용은 9i 에서도 그대로 적용된다.
실제 연결을 위해서 tnsname.ora 를 직접 편집하는 것보다 Net Configuration Assistant 라는 프로그램을 이용하길 바란다. 이 프로그램을 이용하여 원격 DB 연결을 설정하면 실제 연결 테스트를 해 볼 수도 있고, 직접 작성으로 인한 tnsname.ora 파일의 버전간 차이 등의 문제를 피할 수 있다. 위의 프로그램은 오라클 클라이언트를 설치하면 프로그램 메뉴에서 찾아볼 수 있다. 해당 프로그램 사용법은 지면 관계상 생략하나 네이버에서 검색하면 쉽게 찾아볼 수가 있을 것이다.
그 후에 다시 로그아웃 하고 로그인을 한후 sqlplus 라고 입력하면 됩니다.
오라클의 설치도 쉽지 않지만 클라이언트의 설치도 간단치 않으므로 차근차근 실수 없이 진행 해야 합니다.
TNSPING으로 접속 TEST하는 방법
Windows 3.1용 SQL*Net을 설치한 경우에 Nettest.exe로써 Server에 접속 여부를 test했었으나, Windows 95용 SQL*Net을 설치하면 tnsping.exe라는 프로그램이 생긴다. 이 프로그램은 일반적인 TCP/IP 프로그램에서 제공하는 Ping Utility와 유사한 방식으로 DB Server에 Login 여부를 확인할 수 있다. SQL*Net 2.2이상에서만 제공이 되며, SQL*Net V1에서는 사용할 수 없다.
C:\oracle\ora92\bin\tnsping.exe
[ 사용 방법 ]
tnsnames.ora file에 tns services name 및 접속에 관련된 내용을 기술한다.
예: MY_DB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 126.138.95.21)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oradb)
)
)
tnsping utility 사용 예
c:\>tnsping oradb 5
TNS Ping Utility for 32-bit WINDOWS: Version 9.2.0.1.0 - Production on 18-NOV-2006 09:52:34
사용된 매개변수 파일 C:\oracle\ora92\network\admin\sqlnet.ora
별칭 분석을 위해 TNSNAMES 어댑터 사용 |
주) tnsping 은 되는데 오라클 연결이 안될 때는 방화벽을 검사한다. 방화벽은 예외설정을 해도 되지 않고 사용안함 설정을 해야 한다. 또한 tnsnames.ora 파일에 HOST = 126.138.95.21 부분을 ip 주소가 아닌 host 명으로 했을 때 안되는 경우가 있다.
-----------------------------------------------------------------------------------------------------
TNSListener!! 잊지 않겠다 ㅡㅡ+
\uc815\ubcf4: make[1]: Leaving directory `/home/oracle/database/product/11.1.0/db_1/rdbms/lib'
\uc815\ubcf4: make[1]: *** [/home/oracle/database/product/11.1.0/db_1/rdbms/lib/extproc32] \uc624\ub958 1
\uc815\ubcf4: make: *** [extproc32] \uc624\ub958 2
\uc815\ubcf4: \uc0dd\uc131\ub41c \ud504\ub85c\uc138\uc2a4\uc5d0\uc11c \ucd9c\ub825 \ub9c8\uce68.
\uc815\ubcf4: ----------------------------------
\uc815\ubcf4: \uc791\uc5c5\uc5d0\uc11c \ubc1c\uc0dd\ud55c \uc608\uc678 \uc0ac\ud56d: make
\uc608\uc678 \uc0ac\ud56d \uc774\ub984: MakefileException
\uc608\uc678 \uc0ac\ud56d \ubb38\uc790\uc5f4: make \ud30c\uc77c '/home/oracle/database/product/11.1.0/db_1/rdbms/lib/ins_rdbms.mk'\uc758 'all_no_orcl' \ub300\uc0c1\uc744 \ud638\ucd9c\ud558\ub294 \uc911 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 '/home/oracle/oraInventory/logs/installActions2008-07-17_09-52-57PM.log'\uc744(\ub97c) \ucc38\uc870\ud558\uc2ed\uc2dc\uc624
\uc608\uc678 \uc0ac\ud56d \uc2ec\uac01\ub3c4: 1
-------------------------------------------------------------------------
Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 10.2.0.2
This problem can occur on any platform.
After installing any One-off patch in RAC nodes, one of those nodes may fail to start the instance.
NOTE: We did observe the similar problem on 10.2.0.2 RAC installations where certain libraries are not copied from the installing node to other RAC nodes. For such type of problem while performing installation, please refer to the following note.
Note 363840.1 - 10.2.0.2 RAC: ORA-7445 in KKXSYN or KKXCMS ON ALL NODES BUT INSTALL NODE
Symptoms
Oracle Instance does not startup on one of RAC the nodes after installing any One-off Patch.
If you see the alert and trace log files, you may see the following errors:
ORA-00469: CKPT process terminated with error
ORA-07445: exception encountered: core dump [] [] [] [] [] []
Cause
It was noted that the resulting 'Oracle' binaries on different nodes were not the same. Running a cksum on all involved libraries in lib/ and rdbms/lib/, it was evident that libknlopt.a was different across nodes. The object modules that get into libknlopt.a however are identical, so it clearly appears that libknlopt.a isn't relinked on nodes other than the installation one.
Solution
Copy the good library in the faulty node and manually re-link the Oracle again.
Ensure all instances are shut down !
Manually copy good $ORACLE_HOME/rdbms/lib/libknlopt.a from the local node to all remote faulty nodes and relink Oracle again on all faulty nodes.
eg: cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk ioracle
--------------------------------------------------------------------------
[root@smbi-web lib]# make -f ins_rdbms.mk ioracle
chmod 755 /home/oracle/database/product/11.1.0/db_1/bin
- Linking Oracle
rm -f /home/oracle/database/product/11.1.0/db_1/rdbms/lib/oracle
gcc -o /home/oracle/database/product/11.1.0/db_1/rdbms/lib/oracle -L/home/oracl
e/database/product/11.1.0/db_1/rdbms/lib/ -L/home/oracle/database/product/11.1.0
/db_1/lib/ -L/home/oracle/database/product/11.1.0/db_1/lib/stubs/ -Wl,-E /home
/oracle/database/product/11.1.0/db_1/rdbms/lib/opimai.o /home/oracle/database/pr
oduct/11.1.0/db_1/rdbms/lib/ssoraed.o /home/oracle/database/product/11.1.0/db_1/
rdbms/lib/ttcsoi.o -Wl,--whole-archive -lperfsrv11 -Wl,--no-whole-archive /home
/oracle/database/product/11.1.0/db_1/lib/nautab.o /home/oracle/database/product/
11.1.0/db_1/lib/naeet.o /home/oracle/database/product/11.1.0/db_1/lib/naect.o /h
ome/oracle/database/product/11.1.0/db_1/lib/naedhs.o /home/oracle/database/produ
ct/11.1.0/db_1/rdbms/lib/config.o -lserver11 -lodm11 -lsage11 -lnnet11 -lskgxp1
1 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11
-lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11 -lvsn11 -lcommon
11 -lgeneric11 -lknlopt `if /usr/bin/ar tv /home/oracle/database/product/11.1.0/
db_1/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-lora
olap11" ; fi` -lslax11 -lpls11 -lrt -lplp11 -lserver11 -lclient11 -lvsn11 -lco
mmon11 -lgeneric11 `if [ -f /home/oracle/database/product/11.1.0/db_1/lib/libavs
erver11.a ] ; then echo "-lavserver11" ; else echo "-lavstub11"; fi` `if [ -f /h
ome/oracle/database/product/11.1.0/db_1/lib/libavclient11.a ] ; then echo "-lavc
lient11" ; fi` -lknlopt -lslax11 -lpls11 -lrt -lplp11 -ljavavm11 -lserver11 -l
wwg `cat /home/oracle/database/product/11.1.0/db_1/lib/ldflags` -lncrypt11 -
lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /home/oracle/database/product/11.1.0/
db_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -l
ztkg11 -lmm -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls1
1 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lztkg11 `cat /hom
e/oracle/database/product/11.1.0/db_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs
11 -ln11 -lnl11 -lnro11 `cat /home/oracle/database/product/11.1.0/db_1/lib/ldfla
gs` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lsnl
s11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore1
1 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `if /usr/bin/ar tv /home/oracle/dat
abase/product/11.1.0/db_1/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>
&1 ; then echo " " ; else echo "-lordsdo11"; fi` -L/home/oracle/database/product
/11.1.0/db_1/ctx/lib/ -lctxc11 -lctx11 -lzx11 -lgx11 -lctx11 -lzx11 -lgx11 -lord
imt11 -lclsra11 -ldbcfg11 -lhasgen11 -lcore11 -lskgxn2 -locr11 -locrb11 -locru
tl11 -lhasgen11 -lcore11 -lskgxn2 -loraz -lsnls11 -lnls11 -lcore11 -lsnls11 -
lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lco
re11 -lnls11 -lsnls11 -lunls11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lco
re11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls1
1 -laio `cat /home/oracle/database/product/11.1.0/db_1/lib/sysliblist` -Wl,-r
path,/home/oracle/database/product/11.1.0/db_1/lib -lm `cat /home/oracle/data
base/product/11.1.0/db_1/lib/sysliblist` -ldl -lm -L/home/oracle/database/prod
uct/11.1.0/db_1/lib
test ! -f /home/oracle/database/product/11.1.0/db_1/bin/oracle ||\
mv -f /home/oracle/database/product/11.1.0/db_1/bin/oracle /home/oracle/databas
e/product/11.1.0/db_1/bin/oracleO
mv /home/oracle/database/product/11.1.0/db_1/rdbms/lib/oracle /home/oracle/database/produc
t/11.1.0/db_1/bin/oracle
chmod 6751 /home/oracle/database/product/11.1.0/db_1/bin/oracle
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory
상태로 봐서는... 오라클DB를 기동하는 DB 파일중의 일부가 없기 때문입니다.
오라클DB를 기동하기 위해서는
1. 시스템 테이블스페이스 (기본 파일명 : system.dbf)
2. UNDO 테이블스페이스 (기본 파일명 : undotbs1.dbf)
3. TOOLS 테이블스페이스 (기본 파일명 : tools.dbf)
그리고
온라인 리두로그 파일(redo1.log, redo2.log, redo3.log,...),
컨트롤 파일 (control1.ctl,...)
가 필요한데, 해당 테이블스페이스가 속한 데이터파일이 파일 시스템에 없거나
경로가 잘못 지정되어 있어서 그렇습니다.
님이 관리하시는 서버에 Oracle DB가 어떻게 구성되어 있는지를 몰라서
정확한 답변을 드리기는 힘들고요
(외장 Disk Array 를 사용하시는지, 혹은 NFS를 사용하시는지...
어떤 이유에서인지 linux 파일시스템 mount 가 되어 있지 않아서
오라클 데몬이 파일을 찾지 못하는 경우입니다)
우선 파일시스템 체크를 해보시고요...
파일 시스템에 이상이 없다면
shell 에서 sqlplus "/ as sysdba" 로 접속하셔서 다음의 명령어를 입력해 보시기 바랍니다...
select tablespace_name, file_name
from dba_data_files;
쿼리로 나온 결과에는 테이블스페이스 및 해당 테이블스페이스의 내용을 보관하고 있는
데이터파일 이름이 나옵니다.
이 결과값이 현재 물리적인 파일시스템과 일치하는지 하나씩 확인해 보시기 바랍니다.
참고로...
오라클의 관리자 계정인 system 계정의 기본 패스워드는 'manager' 입니다.
통상 오라클 9i 이상부터는 DBA가 DB를 관리하기 위하여 svrmgrl 을 사용하지 않고
sqlplus "/ as sysdba" 로 접속하게 되어 있습니다.
** 답변 일부를 수정드립니다.
또 하나의 가능성은
리눅스 Shell 환경변수에서
$ORACLE_HOME 이나 $ORACLE_SID 가 잘못 되어 있을수 있습니다.
계정의 home directory에서
vi .cshrc (C-Shell 사용시)
vi .profile (Korn Shell, Bourne-Shell 사용시)
하셔서 $ORACLE_SID 나 $ORACLE_HOME 이 어떻게 정의되어 있나 확인하시고요
echo $ORACLE_HOME
명령으로 나온 결과의 끝에 "/" 가 붙어 있으면 안됩니다.
예> ORACLE_HOME = /oracle/app/oracle/9204/product (O)
ORACLE_HOME = /oracle/app/oracle/9204/product/ (X)
$ORACLE_SID의 확인은
echo $ORACLE_SID
명령으로 확인 가능하고요
만약 $ORACLE_SID = MYDB 라면
오라클 데몬 프로세스가 떠 있는지 확인하시고요, 명령은
ps -ef | grep ora_
라고 치시면
ora_smon_MYDB
라고 나와야 정상입니다.
오라클 설치후 sqlplus 실행이 안될때
즉 아래와같은 에러가 나오면
Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
오라클 계정으로 로그인한 후에
/home/oracle 로 가서
.bash_profile을 연뒤
아래와 같이 편집하면 된다.
ORACLE_HOME=/u01/app/oracle/product/10.1.0/Db_1;
export ORACLE_HOME
그다음 로그아웃을 한뒤에
다시 로그인을 한뒤에아래와 같은 명령을 쎄린뒤에
chmod -R 755 $ORACLE_HOME/sqlplus
chmod 755 $ORACLE_HOME/sqlpluschmod 755 $ORACLE_HOME/sqlplus/mesg
chmod 755 $ORACLE_HOME/sqlplus/mesg/sp1us.msb
chmod 755 $ORACLE_HOME/nls
chmod 755 $ORACLE_HOME/nls/data
chmod 755 $ORACLE_HOME/nls/data/lx1boot.nlb
chmod 755 $ORACLE_HOME/oracore
chmod 755 $ORACLE_HOME/oracore/zoneinfo
chmod 755 $ORACLE_HOME/oracore/zoneinfo/timezlrg.dat
/u01/app/oracle/product/10.1.0/Db_1/bin/sqlplus 를 쎄리면
sqlplus가 실행이 된다.
저것도 변수로 잡아야것다.
아..$ORACLE_HOME/bin/sqlplus 이러케하면 되겠군하.ㅎ
[출처] 오라클 설치후 sqlplus 실행이 안될때|작성자 만쥬뽀옹
http://www.oracle.com/technology/pub/articles/smiley_rac10g_install.html
http://www.oracle-base.com/articles/10g/OracleAS10gInstallationOnFedora2.php
참조.
시스템 환경 점검
2.6.9-11 이상의 커널이 필요하다.
# uname -r
필요한 패키지 버전(그 이상도 당연히 가능) -> 대부분 설치되어 있다.
binutils-2.15.92.0.2-10
compat-db-4.1.25-9
control-center-2.8.0-12
gcc-3.4.3-9
gcc-c++-3.4.3-9
glibc-2.3.4-2
glibc-common-2.3.4-2
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.3-9
libstdc++-devel-3.4.3-9
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5
시스템 요구사항 검증
# grep MemTotal /proc/meminfo
MemTotal : xxxxxx KB
# grep SwapTotal /proc/meminfo
SwamTotal : xxxxx KB
계정 생성
# groupadd oinstall
# groupadd dba
# useradd -m -g oinstall -G dba oracle
# passwd oracle
디렉토리 생성
# mkdir /oracle
# chown -R oracle.dba /oracle
# chmod -R 755 /oracle
hosts 파일
/etc/hosts 파일이 제대로 설정되어 있는지 확인.
# cat /etc/hosts
<IP-address> <fully-qualified-machine-name> <machine-name>
커널 파라미터 설정
Oracle 11g? 가 요구하는 커널 매개변수 설정이다. 아래의 수치는 최소값이며 /etc/sysctl.conf에 적혀있는 값이
아래의 값보다 높을 경우에는 변경하지 않아도 된다. 물론 낮을 경우에는 /etc/sysctl.conf 에 추가해준다.
# sysctl -a | grep ... 으로 확인할 수 있다.
#kernel.shmall = 2097152
#kernel.shmmax = 2147483648
#kernel.shmmni = 142
# semaphores: semmsl, semmns, semopm, semmni
#kernel.sem = 250 32000 100 128
#fs.file-max = 131072
net.ipv4.ip_local_port_range = 1024 65000
kernel.msgmni = 2878
#kernel.msgmax = 8192
#kernel.msgmnb = 65535
(#처리는 서버에서 해당값보다 크거나 같은 경우이다. 적다면 주석 풀고 붙여넣는다.)
변경이 완료되면
# /sbin/sysctl -p 로 변경된 설정을 적용한다.
oracle 사용자 계정의 shell limit 설정
Linux 계정 별로 실행되는 프로세스와 열린 파일 수를 제한한다. 이를 위해 /etc/security/limits.conf 를 편집한다.
아래에 추가하자. (간격은 tab으로 조정하던지.. 알아서 )
#<domain> <type> <item> <value>
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
그리고 /etc/pam.d/login 에 다음을 추가하자.
session required /lib/security/pam_limits.so
oracle 계정을 위한 환경변수
DB 서버에서 설정해야하는 환경변수는 다음과 같다.
ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH
위의 변수를 추가하기 위해서 oracle 계정의 .bash_profile에 다음을 추가한다.
ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle/11g; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin
오라클 배포판 다운받기
배포판을 다운받아서 특정 디렉토리에 압축을 풀어놓는다. 물론 디렉토리는 oracle 계정의 소유여야한다.
루트로 작업하고 나중에 chown을 사용해도 상관없다.
# unzip linux.x64_11gR1_database.zip <물론 zip파일의 이름은 다를 수도 있다 -_->
# chown -R oracle.oinstall ./database
설치 전에..
oracle 계정으로 로그인 해서 설치 파일들을 풀어놓은 디렉토리에서 runInstaller를 실행하기 전에..
# xhost +
(+까지 쳐야한다. 이걸 해줘야 루트로 로그인 한 X윈도에서 터미널로 su - oracle을 이용해서
oracle 계정을 사용 xwindow 창을 띄울 수 있다. 궁금하다면 man xhost 를 참고할 것)
예전에는 /etc/redhat-release를 수정해주곤 했는데 안해줘도 잘 나온다.
oracle 11g도 한글이 다 깨져서 나온다. runInstaller 전에 다음을 실행한다.
# export LANG=C
그리고 나서 runInstaller를 실행하면 깨지지 않고 나올 것이다. 물론 영어로 -_-;
이제 runInstaller를 실행해보자.
Base Location
Home Location 을 profile과 동일하게 맞춰주고..
Global Database Name 도 SID 와 맞춰준다.
Advanced Installation으로 들어가면 이것저것 만질 수 있는게 많다. 귀찮으므로 패스.
자.. 이제 다음 화면이다.
Inventory Directory와 Group Name을 지정하는데 Inventory는 적당한 곳에 위치시키고..
group name도 dba로 설정해준다.
이제는 설치전 요구사항에 대해서 검사를 하는데.
Warning도 뜨고.. not execute(Network 설정)도 뜬다. 그냥 User Verify 로 선택하고 넘어가자.
11g에서는 다음 화면이 추가로 생겼다. 환경설정 관리자 등록 화면인데.. 등록하면 뭔가 귀찮으니까 -_- 패스
자 이제 Summary 를 볼 수 있다.
Install 버튼을 눌러서 계속 진행한다.
와우. 별일 없이 쭉 넘어갔다. 8i 시절 부터 10g까지 리눅스에 설치시 끈질기게 괴롭히던 Link Error가 사라졌다.
다음은 패스워드 설정이다. 11g 에서는 sys / system / dbsnmp / sysman 을 제외한 모든 계정이 잠겨있다.
여기서 풀어줄 수 있다. scott 정도는 풀어주자.
scott 을 추가해준다.
항상 해오던 루트로 실행해줄 스크립트다. 터미널을 하나 열어서 적혀있는 스크립트를 루트권한으로 실행해준다.
설치가 완료 되었다.
오라클 자동 시작/종료 설정
# vi /etc/oratab
orcl:/oracle/11g:N <- N을 Y로 수정한다.
orcl:/oracle/11g:Y
에러처리
다음과 같은 에러가 날 것이다.
error while loading shared libraries libnnz11.so: cannot restore segment prot after reloc Permission denied
뭔가 퍼미션이 없다는 얘긴데.. 이건 SELinux를 disable 시켜주면 된다. SELinux disble 시키는 방법은
/etc/selinux/config 파일을 잘 읽어보고 고치면 된다. (모르면 구글에 검색)
또 이런 에러가 날 수도 있다.
$ ./lsnrctl start
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 18-FEB-2008 19:14:37
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Message 1070 not found; No message file for product=network, facility=TNSTNS-12545: Message 12545 not found; No message file for product=network, facility=TNS
TNS-12560: Message 12560 not found; No message file for product=network, facility=TNS
TNS-00515: Message 515 not found; No message file for product=network, facility=TNS
Linux Error: 2: No such file or directory
이런 경우는 포트가 열려있지 않은 경우니까.. 방화벽에서 1521번 포트를 열어주자.
오라클 실행과 종료
oracle 계정에서
$ lsnrctl start <리스너 스타트>
리스너 시작 후에..
$ sqlplus /nolog
sqlplus> connect orcl as sysdba
...
sqlplus> startup
서비스 스크립트 작성
# vi /etc/init.d/oracle
다음의 내용을 파일에 쓴다.
----------------------------------------------------------------------
#!/bin/bash
ORA_HOME="/oracle/11g/"
ORA_OWNER="oracle"
if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
echo "Oracle Startup: failed"
exit 1
fi
case "$1" in
start)
echo -n "Oracle Start: "
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
touch /var/lock/subsys/oracle
echo "OK"
;;
stop)
echo -n "ORACLE Shutdown: "
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
su - $ORA_OWNER -c $ORA_HOME/bin/dbshut
rm -f /var/lock/subsys/oracle
echo "OK"
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 start|stop|restart"
exit 1
esac
exit 0
----------------------------------------------------------------------
사용은 /etc/rc.d/init.d/oracle start | stop | restart ~
1.필수 패키지 설치 및 기본 쉘(bash) 심볼릭 링크 설정.
sudo ln -sf bash /bin/sh
2.오라클 유저 및 그룹 추가.
sudo addgroup dba
sudo addgroup nobody
sudo usermod -g nobody nobody
sudo useradd -m oracle -g oinstall -G dba -s /bin/bash
sudo passwd oracle
sudo mkdir -p /oracle/11g
sudo chown -R oracle:dba /oracle
sudo chown -R oracle:dba /home/oracle
3.심볼릭 링크 설정.
sudo su -
mkdir /etc/rc.d
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename
ln -s /etc/rc0.d /etc/rc.d/rc0.d
ln -s /etc/rc0.d /etc/rc.d/rc1.d
ln -s /etc/rc2.d /etc/rc.d/rc2.d
ln -s /etc/rc3.d /etc/rc.d/rc3.d
ln -s /etc/rc4.d /etc/rc.d/rc4.d
ln -s /etc/rc5.d /etc/rc.d/rc5.d
ln -s /etc/rc6.d /etc/rc.d/rc6.d
ln -s /etc/rcS.d /etc/rc.d/rcS.d
4.커널 변수 및 시스템 설정.
fs.file-max = 65535
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65535
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
EOF
cat >> /etc/security/limits.conf << EOF
oracle soft nproc 2047
oracle hard nproc 16383
oracle soft nofile 1023
oracle hard nofile 65535
EOF
cat >> /etc/pam.d/login << EOF
session required /lib/security/pam_limits.so
session required pam_limits.so
EOF
sysctl -p
5.오라클 환경변수 설정.
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/product/11.1.0/db_1
export ORACLE_SID=orcl11
export PATH=$PATH:$ORACLE_HOME/bin
6.레드햇 버전 추가.
*설치*
1.시스템 재부팅 후 oracle 유저로 접속.
2.오라클 11g 다운로드 및 압축 해제.
3.인스톨러 실행.
※인스톨러가 구동중 display에러 발생할 경우.
1.DISPLAY 환경변수 확인.
2.확인시 DISPLAY 값이 없을 경우 DISPLAY 환경변수 설정.
※에러화면(디렉토리 및 권한 불충분 에러) : 그냥 OK클릭 후 다음 단계 진행
우분투 오라클 설치 관련 글 : http://kekedie.tistory.com/4
기본적으로 오라클 홈페이지에 있는 설치 방법을 기반으로 성공하였습니다..
http://www.oracle.com/technology/global/kr/pub/articles/smiley_10gdb_install.html
인터넷에 올라온 경험담들이 다 비슷비슷하지만...필요없는 부분들도 상당히 많았네요(고생한이유;;).
그럼 시작해 보겠습니다.
1. 커널 버전의 요구사항을 확인한다.
Oracle Database 10g의 커널 버전 요구사항은 2.6.9-5.Elsmp 사용자는 이것과 동일하거나 이후의 버전이어야 합니다.
#uname -r //명령어로 확인
2. 페도라의 패키지 적용상태를 확인한다.
기본적으로 패키지들은 설치가 되어있지만 저같은 경우 몇개가 없어 설치를 하였습니다.
#rpm -q gcc make binutils setarch compat-db compat-libgcc-296 compat-libstdc++-296 \
compat-libstdc++-33 glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel \
libgcc libgcc++ libstdc++-devel openmotif21 libXp // 확인가능하다.
저는 위에서 3갠가 4개정도만 추가로 설치하였는데 openmotif21패키지는 #yum install명령어로 설치가 안됩니다.
http://www.superuser.co.kr/home/search/?select=rpmView&no=14559 // 리눅스포털사이트
에 가셔서 openmotif21-2.1.30-14.i386.rpm으로 컴퓨터환경에 맞는 패키지를 다운 받으시고 설치하세요.(libXp도같이깔리는거같았음..아마도..)
ex)페도라8에서는 setarch, libgcc++이 안깔려요..
3. 시스템 요구사항 확인
최소 메모리 요구사양 512MB, swap 공간의 최소 요구사항 1GB..
이건 거의다 통과할꺼라 생각됨...컴퓨터들이 좋으니..저도 별로 바꾼게 없다는..
4. 오라클 그룹 및 사용자 계정 생성
오라클은 설치하기 위한 사용자 계정을 따로 만들어 두어야 합니다.
#groupadd dba // 그룹생성
#useradd -g dba oracle // 사용자 계정
#passwd oracle // 비번 설정
#id oracle // 확인..
5. Linux커널 매개변수의 설정
커널 매개변수를 변경해 주어야 하는데 시스템이 아래 명시된 것보다 높다면 변경하지 않아도 된다고
했지만..저는 변경을 했습니다..
#vi /etc/sysctl.conf // 를 열어 맨 아래에 다음을 입력합니다.
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
6. oracle 사용자 계정의 Shell Limit 설정
오라클은 리눅스 계정 별로 실행되는 프로세스와 열린 파일의 수를 제한한데요...
#vi /etc/security/limits.conf // 열고 맨아래에 입력
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
7. oracle 계정을 위한 환경변수
설정해야되는 환경변수에는 ORACLE_BASE, ORACLE_HOME, ORACLE_SID, PATH임
오라클 계정으로 접속한후에 위에있는 환경변수들을 입력해줍니다.
#su oracle
#vi .bash_profile // 열고 맨 아래에 입력
ORACLE_BASE=/home/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.1.0/Db_1; export ORACLE_HOME
ORACLE_SID=ORCL; export ORACLE_SID // 데이터베이스이름인건알죠?
PATH=$PATH:$ORACLE_HOME/bin; export PATH
저는 환경변수를 오라클 설치한 후에 설치한 경로를 확인해서 입력했어요. (추천..)
8. 운영체제의 버전 검증
오라클 데이터베이스 10는 10.1.0.3의 Installer는 RHEL4가 지원 가능한 버전임을 인식하지 못합니다.
#vi /etc/redhat-release // 열고 변경한다
Red Hat Enterprise Linux AS release 3 (Taroon)
9. 오라클의 설치
이제 설치를 시작할껀데요..오라클 계정으로 접속한담에 오라클10g를 다운받아야합니다.
http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/linuxsoft.html
위에 오라클 홈피에서 ship.db.cpio.gz를 설치할 폴더에 다운받습니다. 저는 /home/oracle에 바로 다운받았답니다.
#su oracle // 오라클 계정으로 접속합니다. root에서 다운받고 알맞은 폴더로 복사해도되요~
#gunzip ship.db.cpio.gz // 압축품 그럼 ship.db.cpio로 풀림
#cpio -idmv < ship.db.cpio // 또 압축품...그럼 Disk1이란 폴더가 생김
#cd Disk1 // 이동하구
#./runInstaller // 오라클 설치를 시작합니다..
ex) 페도라8에서는 추가적으로 자바어쩌구 에러가 한개나올지도 모르는데요..
그럴때는 페도라 패치를 모두 깔아주셔야 된데요~
여기에서 실행이 안되면 아마 호스트 문제일껍니다.. root로 가셔셔 xhost +한번해주세요~
그런데 오라클 설치화면에서 글씨가 깨져서 보일껍니다...
#export LANG=C // 깨진글씨가 잘보입니다.
자 그럼 설치화면이 잘될겁니다~ 설치방법은 패스~ 설치 중간에 orainstRoot.sh 스크립트를 root로 실행하라고 창이하나 뜰겁니다..무시하지말고 새로운 터미널하나 열어서 root로 실행한담에 넘어가시구요. 설치마지막에도 root.sh를 root로 하라고 창이또뜹니다..그럼 다시 해주시고...워링이나 에러나 창뜨는것들 무시하지 마시고 잘읽어보심 방법을 알겁니다..
sqlplus 사용하려는데 shared_pool_size관련 에러가 생긴다면 에러메시지를 확인하여
요구하는 shared_pool_size를 찾아 오라클이 깔린 디렉토리로 이동하면 dbs라는 폴더가 있습니다.
그폴더에 initORCL.ora파일을 열어서 shared_pool_size를 변경시키면 잘될겁니다~
[출처] 페도라에서 오라클10g 설치성공담|작성자 반항아
import 하시기 전에
user를 생성하시고 해당 user에 대한 필요한 Role을 주시고
특정 tablespace에 table을 생성하실려면 Quota을 지정하셔야 겠죠.
----------------------------------------------------
안녕하세요...
전 윈도우에 9i를 설치해서 하고 있습니다..
그런데, 8i에서 엑스포트한 파일을 9i에서 임포트할려고 하는데 되지 않네요..
9i에서는 사용자, 사용자 권한, 테이블 스페이스만 만들었고요..
임포트 실행하면 이런 메세지가 나옵니다..
실행명 :>
C:\>imp userid=system/manager file=d:\oracle\test.dmp fro
muser=bissa touser=bissa_back;
. BISSA 객체를 BISSA_BACK;(으)로 임포트하는 중입니다.
"ALTER SESSION SET CURRENT_SCHEMA= "BISSA_BACK;""
IMP-00003 : ORACLE 오류 1435 가 발생했습니다..
ORA-01435 : 사용자가 존재하지 않습니다.
IMP-00000 : 임포트가 실패로 끝났습니다.