Notice»

Recent Post»

Recent Comment»

Recent Trackback»

Archive»

« 2024/5 »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

 

'Linux'에 해당되는 글 5

  1. 2009.01.17 Redhat Linux9 + Oracle 9i(9.2.0.4)
  2. 2009.01.14 VmWare Network 설정
  3. 2009.01.14 Signal
  4. 2009.01.14 리눅스에서 그래픽모드 <-> Text 모드 변경
  5. 2009.01.14 bash 설정 파일
 

Redhat Linux9 + Oracle 9i(9.2.0.4)

Linux | 2009. 1. 17. 16:08 | Posted by fantajun

출처 : http://vader.co.kr/bbs/view.php?id=Linux&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=18

 


설치환경
Pentium 4 CPU 2.6GHz
RAM 2GB
Microsoft Windows XP Professional Version 2002 Service Pack2

VMware Workstation 4.5.2 build-8848
Redhat Linux 9 (2.4.20) HDD 20GB, RAM 1740MB



계정 생성
[root@localhost root]# groupadd dba
[root@localhost root]# groupadd oinstall
[root@localhost root]# useradd -g oinstall -G dba oracle
[root@localhost root]# passwd oracle




디렉토리 생성
[root@localhost root]# mkdir -p /opt/ora9/product/9.2
[root@localhost root]# mkdir /var/opt/oracle
[root@localhost root]# chown oracle.dba /var/opt/oracle
[root@localhost root]# chown -R oracle.dba /opt/ora9




필수 RPM 파일 확인 및 설치
gcc-3.2.2-5
cpp-3.2.2-5
glibc-devel-2.3.2-11.9
binutils-2.13.90.0.18-9
compat-gcc-7.3-2.96.118.i386.rpm
compat-libgcj-7.3-2.96.118.i386.rpm
compat-libgcj-devel-7.3-2.96.118.i386.rpm
nss_db-compat-2.2-20.i386.rpm

설치되어 있지 않다면 http://rpmfind.net/ 에서 해당 rpm을 다운 받아 설치한다.
rpm -Uvh (package_name)




Maximum Share Memory Size의 증가
/etc/sysctl.conf 를 vi로 열고 다음을 추가한다.

kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000


/etc/security/limits.conf 에는 다음을 추가한다.

oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384


저장하고 재부팅.




.bashrc 수정
oracle 계정의 .bashrc에 다음을 추가한다.(oracle 계정으로 작업)

#oracle 9i
export ORACLE_BASE=/opt/ora9
export ORACLE_HOME=/opt/ora9/product/9.2
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=ora9
export ORACLE_TERM=vt100
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib:$LD_LIBRARY_PATH
export PATH=/opt/ora9/product/9.2/bin:$PATH
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601;





Oracle 설치 파일 다운로드
다운로드 : http://www.oracle.com/technology/software/products/oracle9i/htdocs/linuxsoft.html

다운 받은 파일의 압축을 풀어준다.
[oracle@localhost oracle]$ zcat ship_9204_linux_disk1.cpio.gz  | cpio -idmv
[oracle@localhost oracle]$ zcat ship_9204_linux_disk2.cpio.gz  | cpio -idmv
[oracle@localhost oracle]$ zcat ship_9204_linux_disk3.cpio.gz  | cpio -idmv




Oracle 설치
※ 만약 Redhat Linux9의 기본 언어가 한글로 설정되어 있다면 아래와 같이 한글이 깨진다. 이럴 경우 ./runInstaller를 실행하기 전에 한글을 패치한다.



Oracle 한글 패치
/home/oracle/Disk1/stage/Components/oracle.swd.jre/1.3.1.0.0/1/DataFiles/Expanded/jre/linux/lib/fonts 에 다음 파일을 업로드 한다.(클릭하면 다운 받을 수 있음)

batang.ttc
gulim.ttc
mingliu.ttc
fonts.dir


/home/oracle/Disk1/stage/Components/oracle.swd.jre/1.3.1.0.0/1/DataFiles/Expanded/jre/linux/lib 에 다음 파일을 업로드 한다.(클릭하면 다운 받을 수 있음)

font.properties.ko

[oracle@localhost oracle]$ chmod 755 -R /home/oracle/Disk1/stage/Components/oracle.swd.jre/1.3.1.0.0/1/DataFiles/Expanded/jre/linux/lib

[oracle@localhost oracle]$ chmod 755 -R /home/oracle/Disk1/stage/Components/oracle.swd.jre/1.3.1.0.0/1/DataFiles/Expanded/jre/linux/lib/fonts


oracle 계정으로 X window 에서 설치한다. 터미널 창을 열고 다음과 같이 실행.

[oracle@localhost oracle]$ cd Disk1
[oracle@localhost Disk1]$ ./runInstaller


『다음』을 클릭



인벤토리 위치를 지정하고(수정할 필요 없음) 『확인』을 클릭한다.



dba를 입력하고>『다음』을 클릭



위와 같은 창이 뜨게되면
터미널 창을 열고 루트 권한으로 다음과 같이 실행하고 『계속』을 클릭.

[root@localhost root]# /tmp/orainstRoot.sh
Oracle 인벤토리 포인터 파일 생성 중 (/etc/oraInst.loc)
그룹 이름 변경 중 /opt/ora9/oraInventory 대상 dba.



『다음』을 클릭.









데이터베이스는 생성하지않고 프로그램만 설치한다.







위와 같은 창이 뜨면 터미널에서 루트 권한으로 /opt/ora9/product/9.2/root.sh 를 실행하고 『확인』을 클릭한다.






Database 생성
[oracle@localhost oracle]$ cd $ORACLE_HOME/bin
[oracle@localhost bin]$ ./dbca






『New Database』선택


















『데이터 딕셔너리 뷰 생성』단계에서 『ORA-29807 : specified operator does not exist』오류가 발생함.
이것은 알려진 문제로(Bug: 2686156) 무시해도 됨. 『무시』를 클릭하고 계속 진행


『Oracle Spatial 추가』 단계에서 『ORA-01430』에러가 발생하는데 이것 또한 알려진 문제로 무시해도 상관없음. 『무시』를 클릭하고 계속 진행


설치 마지막 부분에서 패스워드를 설정하고 『종료』를 클릭하면 아무런 반응이 없었음.
데이터 베이스 생성은 완료 된것 같아 X윈도우를 강제 종료하였음.(버그인 듯)



테이블 스페이스와 사용자의 생성, 권한설정
[oracle@localhost ora9]$ sqlplus /nolog
SQL*Plus: Release 9.2.0.4.0 - Production on Thu May 12 16:55:30 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> connect /as sysdba
Connected.
SQL> create tablespace vader
2 datafile '/opt/ora9/oradata/ora9/vader.dbf' size 500M;

Tablespace created.

==> 500MB 의 크기로 vader라는 테이블스페이스를 생성함.

SQL> create user vader identified by passwd
2 default tablespace vader
3 temporary tablespace temp;
User created.

==> 패스워드가 "passwd"인 vader라는 사용자를 생성.

SQL> grant create session to vader with admin option;
Grant succeeded.

SQL> grant create table to vader with admin option;
Grant succeeded.

SQL> grant create view to vader;
Grant succeeded.

SQL> alter user vader quota unlimited on vader;
User altered.

==>vader 사용자에게 데이터베이스 접속, 테이블, 뷰 생성 권한을 부여한다.



Listener 설정
[oracle@localhost oracle]$ cd $ORACLE_HOME/newwork/admin
[oracle@localhost admin]$ vi listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.32.130)(PORT = 1521))
)
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ora9)
(ORACLE_HOME = /opt/ora9/product/9.2)
(SID_NAME = ora9)
)
)
※ 서버 IP를 입력


[oracle@localhost admin]$ vi tnsnames.ora
ORA9 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.32.130)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ora9)
)
)
※ 서버 IP를 입력




TEST
[oracle@localhost admin]$ sqlplus /nolog
SQL*Plus: Release 9.2.0.4.0 - Production on Thu May 12 18:34:15 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> connect /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.

Total System Global Area 236000356 bytes
Fixed Size 451684 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
SQL> exit
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production
[oracle@localhost admin]$ lsnrctl start

LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 12-MAY-2005 18:35:03
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.

Starting /opt/ora9/product/9.2/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 9.2.0.4.0 - Production
System parameter file is /opt/ora9/product/9.2/network/admin/listener.ora
Log messages written to /opt/ora9/product/9.2/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.32.130)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 9.2.0.4.0 - Production
Start Date 12-MAY-2005 18:35:03
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security OFF
SNMP OFF
Listener Parameter File /opt/ora9/product/9.2/network/admin/listener.ora
Listener Log File /opt/ora9/product/9.2/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.32.130)(PORT=1521)))
Services Summary...
Service "ora9" has 1 instance(s).
Instance "ora9", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[oracle@localhost admin]$ sqlplus vader/passwd@ora9

SQL*Plus: Release 9.2.0.4.0 - Production on Thu May 12 18:35:20 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production

SQL>


※참고 : http://www.puschitz.com/InstallingOracle9i.shtml
※참고 : http://linux.oreillynet.com/lpt/a/4141

출처 : Tong - redyoon님의 Unix/Linux통


:

VmWare Network 설정

Linux | 2009. 1. 14. 23:20 | Posted by fantajun

. 최초 GusetOS 의 Setting 에서 Network Connetion 을 Host-only로 설정

2. Edit 탭의 Virtual Network Setting으로 이동
Host Virtual Adaptar 탭의 VMnet8(NAT) 삭제
DHCP 탭의 Vmnet 들 모두 삭제
NAT 탭에서 VMnet host 를 Disable

3. Windows 네트워크 설정
인터넷 연결공유에서 VMnet1을 설정하시면 됩니다. 아무것도 뜨지 않으면 자동으로 됩니다.

4. 리눅스 Power on
5. 콘솔창에서
netconfig
DHCP 사용에 클릭해주시고 리눅스 재부팅 혹은
/etc/rc.d/init.d/network restart

이제 리눅스의 IP가 192.168.*.* 의 방식으로 잡히고 윈도우에서의 리눅스 FTP 도 접속 가능 합니다.
:

Signal

Linux | 2009. 1. 14. 22:21 | Posted by fantajun
SIGHUP
- 터미널 인터페이스에 의해 연결의 단절이 감지되면 해당 제어 터미널과 연결된 제어 프로세스(세션 리더)에게 전달
- 세션 리더가 종료했을 때도 발생하는데 이때는 foreground 프로세스 그룹내의 모든 프로세스들에게 전달
- SIGHUP 시그널은 원래 모뎀 연결 끊김 등의 시리얼 라인이 끊어지면 발생하는 시그널이다.
- 이름 있는 시스템 데몬들은 SIGHUP 시그널을 configure file을 다시 읽어들이는 등의 초기화 신호로 해석한다.
  . bootp(8), gated(8), inetd(8), mountd(8), named(8), nfsd(8), ypbind(8)
  . pppd(8) 처럼 SIGHUP을 원래의 의도에 충실하게 세션 종료의 뜻으로 받아들이는 사례도 간혹 있는데, 요새는 보편적으로 이 역할을 SIGTERM이 맡는다.
  . daemon은 제어 단말기 없이 돌기 때문에 kernel로부터 SIGHUP 신호를 수신하지 못한다.
    그러므로 많은 daemon은 이 신호를 daemon의 구성 파일이 변경되어 daemon이 그 파일을 새로 읽어야 된다는 것을 알려주는 관리자로부터의 통지로 사용한다.
  . daemon이 수신할 수 없는 다른 두 개의 신호로 SIGINT와 SIGWINCH가 있고 이들도 역시 어떤 변화를 daemon에게 통지하기 위해 사용될 수 있다.

◈ SIGINT
- 인터럽트 키 (DELETE 또는 Control-C)가 눌렸을 때 발생

◈ SIGQUIT
- Control-backslash 에 의해 발생

◈ SIGCHLD
- 프로세스가 종료하거나 정지하면, 부모 프로세스에게 전달된다.
- 부모 프로세스는 wait() 시스템 콜을 사용하여 무슨 일이 일어났는지 알아본다.
- 이 시그널에 대한 default 처리는 무시하는 것이다. 즉 프로세스가 이 신호를 받으려고 할 때만 전달된다.

◈ SIGSEGV
- 유효하지 않은 가상 메모리 주소를 참조하거나 사용 권한이 없는 메모리에 접근할 때 프로세스로 전달된다.

◈ SIGTERM
- kill 명령에 의해 기본적으로 발생

◈ SIGKILL
- "극단의 조치(extreme prejudice)"로 프로그램을 종료하는 데 사용된다.
- 시그널 catch 하거나 무시할 수 없다.

◈ SIGALRM
- alarm()이나 setitimer() 시스템 콜로 설정한 알람 시간이 초과 했을 때 프로세스로 전달된다.

◈ SIGTSTP
- Control-Z 키에 의해 발생
- 기본 처리 방법은 SIGCONT 신호를 받을 때까지 프로세스를 중단한다.

◈ SIGCONT
- 정지한 프로세스를 계속 실행시키려 할 때 발생
- 이 신호는 받을 수 있지만 블록하거나 무시할 수 없다.
- 기본 처리 방법은 중단된 프로세스를 재시작하는 것이다. 그러나 프로세스가 신호를 받지 않는다면 신호를 버린다.
- vi 에디터를 사용할 때
. Control-Z 를 눌러 수행을 잠시 정지시키면 쉘이 키 입력을 처리하게 되는데
. 이때 fg 명령을 실행시키면 쉘은 vi 에게 SIGCONT 시그널을 전달하며
. vi는 이 시그널에 대한 처리로 화면을 다시 그리고 사용자 키 입력을 받는 상태로 돌아간다.

◈ SIGSTOP
- SIGTSTP과 동일하나 catch 하거나 무시할 수 없다.
- 이 신호를 받으면 무조건 SIGCONT 신호를 받을 때까지 프로세스를 중단한다.

◈ SIGABRT
- abort() 함수의 호출로 발생

◈ SIGBUS
- 하드웨어 결함으로 발생

◈ SIGEMT
- 하드웨어 결함으로 발생

SIGFPE
- divide-by-0나 부동 소숫점 오버플로우와 같은 산술 연산 오류에서 발생

◈ SIGILL

◈ SIGINFO

◈ SIGIO

◈ SIGIOT

◈ SIGPIPE
- pipe 통신에서 수신 프로세스가 종료했을 때 송신 프로세스가 파이프에 write 하면 발생
- 프로세스가 RST를 받은 소켓에 데이터를 쓰면, 커널은 그 프로세스에 ISGPIPE 신호를 보낸다.
- 이 신호의 기본 동작은 프로세스를 종료시키는 것이므로, 프로세스가 원하지 않는 종료를 피하기 위해서는 이 신호를 포착해야 한다.

◈ SIGPOLL

◈ SIGROF

◈ SIGPWR

◈ SIGSYS

◈ SIGTTIN
- background에 있는 프로세스가 제어 터미널로부터의 읽기를 시도한다.

◈ SIGTTOU
- background에 있는 프로세스가 제어 터미널로부터의 쓰기를 시도한다.

◈ SIGURG
- SIGIO와 SIGURG 라는 두 개의 신호는 소켓이 F_SETOWN 명령으로 소유주에게 할당되었을 때만 소켓에 대해 발생한다.

◈ SIGUSR1

◈ SIGUSR2

◈ SIGVTALRM

◈ SIGWINCH

◈ SIGXCPU

◈ SIGXFSZ

:

리눅스에서 그래픽모드 <-> Text 모드 변경

Linux | 2009. 1. 14. 22:02 | Posted by fantajun

# vi /etc/inittab 열어서

id:3:initdefault: 부분에서 3을 -> 5로 바꿔주고

재부팅하면 그래픽 모드로전환.

:

bash 설정 파일

Linux | 2009. 1. 14. 21:52 | Posted by fantajun

bash 설정 파일
/etc/profile
로그인시 실행되는 시스템의 모든 사용자에게 적용되는 설정 파일이다
보통 환경 변수와 시작 프로그램을 담고있다

/etc/bashrc
사용자의 bash shell이 시작될 때 실행되는 ~/.bashrc에 의해서 실행될 수 있는 설정 파일

~/.bash_profile
이 파일이 존재한다면 로그인시  /etc/profile이 실행된 후 자동으로 실행된다

~/.bash_login
~/.bash_profile 파일이 존재하지 않으면 이 파일이 로그인시 자동으로 실행된다

~/.profile
~/.bash_profile와 ~/.bash_login이 둘다 존재하지 않으면 이 파일이 로그인시 자동으로 실행된다
이 파일이 오리지날 Bourne shell 설정 파일이다

~/.bashrc
bash가 시작될 때{(예) 터미널을 실행할 때} 자동으로 실행되는 파일이다
interactive, noninteractive 모드의 bash를 실행할 때 뿐만 아니라 로그인할 때도 실행된다

~/.bash_logout
로그아웃 과정에서 자동으로 실행되는 파일이다

~/.inputrc
bash가 keystrokes에 어떻게 반응할지에 영향을 주는 선택적인 키 바인딩과 변수들을 담고 있다
bash는 기본적으로 Emacs 편집기처럼 동작하게 설정되어 있다

/etc/environment에 환경변수 PATH의 값이 할당되어 있는 경우도 있다
: