HP APA해제하기.

lanscan 했을때 인터페이스가 lan900이면 Auto Port Aggreation 설정되어 있음.

해제 순서
1. /sbin/init.d/hplm stop
2. /sbin/init.d/hpapa stop

lanscan 해보면, lan900 down 으로 보임

3. /etc/rc.config.d/netconf 화일에 lan0, lan1 설정(필요한 인터페이스에)하고

4. /sbin/init.d/net stop
/sbin/init.d/net start

ifconfig lan0 ; ifconfig lan1
해서 확인

hpux kernel이 32비트인지 64비트인지 확인하는 방법

hpux kernel bit 확인방법.

방법1.

# getconf KERNEL_BITS
64

방법2.

# file /stand/vmunix
/stand/vmunix: ELF-64 executable object file – PA-RISC 2.0 (LP64)

참고로, solaris는

# isainfo -vk
64-bit sparcv9 kernel modules

리눅스, freeBSD는

$ getconf LONG_BIT
64

AIX는
http://jungit.tistory.com/entry/AIX-32bit-64bit-%ED%99%95%EC%9D%B8-%EC%A0%84%ED%99%98%ED%95%98%EA%B8%B0 를 참고.

oracle python 연동 예제.

오라클과, python연동 시키는 cx_Oracle을 http://cx-oracle.sourceforge.net/ 에서 다운로드 받어 설치한다. prec ompile 패키지는 윈도우용과 리눅스용만 있는것 같다.

아래는 테스트 코드(Lotto 테이블에서, 491회 당첨번호 추출하는 예제)

listener name: oracle
listener port: 1521
oracle SID: orcl
oracle user/passwd: fox/fox
table name: lotto

>>> import cx_Oracle
>>> cx0=cx_Oracle.makedsn(“oracle”, 1521, “orcl”)
>>> connection=cx_Oracle.connect(“fox”, “fox”, cx0)
>>> cursor=connection.cursor()

>>> cursor.execute(“select * from lotto where idx=491”)
<__builtin__.OracleCursor on <cx_Oracle.Connection to fox@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521)))(CONNECT_DATA=(SID=orcl)))>>

>>> print cursor.fetchall()
[(491, 8, 17, 35, 36, 39, 42, 4)]

freebsd su –

가상머신에 freeBSD설치하고 사용자등록, su – 했는데…

> su –
su: Sorry

이유는 알고보니, su 를 사용할 수 있는 사용자는 wheel 그룹에 등록된 사용자만 가능하다고…

pw user mod [user_id] -G wheel

groups로 확인해보면, 사용자 그룹에 wheel이 추가되었음을 알 수 있다.

또 다른 방법으로는 /etc/pam.d/su 에서 설정을 변경하는 방법이 있다.

 

AIX 서비스 실행관련…

telnet 접속 안될때 확인

lssrc -a 로 실행중인 서비스 확인, telnet은 inetd가 제어하므로, lssrc -a | grep -i inetd

active상태가 아니면 아래 커맨드로 시작.

startsrc -s inetdd

만약, inetd가 실행중이라면, kill -HUP [inetd pid]와 같은 효과인 아래 커맨드 수행.

refresh -s inetd

서비스 정지는

stopsrc -s inetd

 

RedHat ES4 컴파일러 업그레이드 하기?

RedHat ES4 서버에 설치된 컴파일러는 gcc 3.4버전이다.  여기에 어플리케이션 설치후 실행하니, 컴파일러가 gcc4.0 이상이 필요하다는 메시지가 나왔다. 문제는, 현재 설치된 서버의 서브스크립션이 등록되어 있지 않고, 서브스크립션도 구매하지 않았기 때문에, up2date를 사용할 수 없다는 점이다. (물론, up2date를 한다고 gcc 4.0이상으로 업그레이드 되리라는 보장도 없다.)

얼마전 libstdc++ 를 잘못 건드렸다가 kernel panic을 경험한터이므로, 가상머신에 RedHat ES4를 설치, 업그레이드를 미리 수행해 보기로 했다.

일단,

[root@localhost ~]# rpm -qa | grep gcc
gcc-g77-3.4.3-9.EL4
libgcc-3.4.3-9.EL4
gcc-c++-3.4.3-9.EL4
gcc-java-3.4.3-9.EL4
gcc-3.4.3-9.EL4

[root@localhost ~]# rpm -qa | grep glib
glibc-2.3.4-2
glib2-2.4.7-1
glib-1.2.10-15
glibc-headers-2.3.4-2
glibc-common-2.3.4-2
dbus-glib-0.22-11.EL
glib2-devel-2.4.7-1
glibc-kernheaders-2.4-9.1.87
glibc-devel-2.3.4-2

로 컴파일러에 필요한 패키지들을 검색.

RedHat ES5 에서 아래 화일 가져옴.

gcc-4.1.2-42.el5.i386.rpm
glibc-2.5-24.i386.rpm
gcc-c++-4.1.2-42.el5.i386.rpm
glibc-2.5-24.i686.rpm
gcc-gfortran-4.1.2-42.el5.i386.rpm
glibc-common-2.5-24.i386.rpm
gcc-gnat-4.1.2-42.el5.i386.rpm
glibc-devel-2.5-24.i386.rpm
gcc-java-4.1.2-42.el5.i386.rpm
glibc-headers-2.5-24.i386.rpm
gcc-objc-4.1.2-42.el5.i386.rpm
glibc-utils-2.5-24.i386.rpm
gcc-objc++-4.1.2-42.el5.i386.rpm
glib-devel-1.2.10-20.el5.i386.rpm
glib-1.2.10-20.el5.i386.rpm
glib-java-0.2.6-3.fc6.i386.rpm
glib2-2.12.3-2.fc6.i386.rpm
glib-java-devel-0.2.6-3.fc6.i386.rpm
glib2-devel-2.12.3-2.fc6.i386.rpm
libgcc-4.1.2-42.el5.i386.rpm

rpm -ivh –force –nodeps *.rpm 을 수행하여 컴파일러 강제 업그레이드하고, gcc 버전 확인

[root@localhost rpm]# gcc -v
Using built-in specs.
Target: i386-redhat-linux
Configured with: ../configure –prefix=/usr –mandir=/usr/share/man –infodir=/usr/share/info –enable-shared –enable-threads=posix –enable-checking=release –with-system-zlib –enable-__cxa_atexit –disable-libunwind-exceptions –enable-libgcj-multifile –enable-languages=c,c++,objc,obj-c++,java,fortran,ada –enable-java-awt=gtk –disable-dssi –enable-plugin –with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre –with-cpu=generic –host=i386-redhat-linux
Thread model: posix
gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)

아래와 같은 샘플코드를 컴파일

a.c

#include <stdio.h>
#include <stdlib.h>

main()
{
printf(“gcc is ok!!!\n”);
}

오류가 발생

[root@localhost ~]# gcc a.c
gcc: error trying to exec ‘cc1’: execvp: No such file or directory

[root@localhost ~]# find / -name cc1 -print
/usr/libexec/gcc/i386-redhat-linux/3.4.3/cc1

[root@localhost ~]# rpm -qf /usr/libexec/gcc/i386-redhat-linux/3.4.3/cc1
cpp-3.4.3-9.EL4

위과정을 보면, cc1의 버전과 업그레이드한 gcc의 버전이 맞지 않아서 발생하는 에러라 추정했고,

[root@localhost rpm]# rpm -ivh –force –nodeps cpp-4.1.2-42.el5.i386.rpm
warning: cpp-4.1.2-42.el5.i386.rpm: V3 DSA signature: NOKEY, key ID 37017186
Preparing… ########################################### [100%]
1:cpp ########################################### [100%]

이번엔 아래처럼 ld관련 오류 마찬가지로 버전 차이라 생각되어,

[root@localhost ~]# gcc a.c
/usr/bin/ld: unrecognized option ‘–hash-style=gnu’
/usr/bin/ld: use the –help option for usage information
collect2: ld returned 1 exit status

[root@localhost ~]# rpm -qf /usr/bin/ld
binutils-2.15.92.0.2-10.EL4

[root@localhost rpm]# rpm -ivh –force –nodeps binutils-2.17.50.0.6-6.el5.i386.rpm
warning: binutils-2.17.50.0.6-6.el5.i386.rpm: V3 DSA signature: NOKEY, key ID 37017186
Preparing… ########################################### [100%]
1:binutils ########################################### [10

이제, 컴파일은 잘되며, 생성된 실행화일 실행해보니,

[root@localhost rpm]# gcc a.c
[root@localhost rpm]# ./a.out
gcc is ok!!!

마지막으로 서버 재부팅해보았다. 걱정하던 커널패닉은 발생하지 않았다.

oracle statspack…

원문: http://www.akadia.com/services/ora_statspack_survival_guide.html

원문을 번역한것은 아니며, 원문을 참고하여, statspack을 설치, 구성하였음.

oracle STATSPACK의 설치와 보고서 생성.

1. statspack이 사용할 테이블 스페이스(perfstat) 생성.

SQL> create tablespace perfstat
2 datafile ‘/ora_data/stats_pack/perfstat.dbf’ size 1000M reuse
3 extent management local uniform size 512k
4 segment space management auto
5 permanent
6 online;

reuse 옵션: 해당 위치에 동일한 파일이 있는 경우 그 화일을 재사용. 옵션 사용하기전에 확인해야 할듯.

2.  설치스크립트가 있는곳($ORACLE_HOME/rdbms/admin)으로 이동하여 설치 시작한다. 비밀번호는 perfstat, 사용할테이블 스페이스는 이전에 생성한 perfstats, temporary 테이블스페이스는 temp 를 사용한다.

SQL> start spcreate.sql

Choose the PERFSTAT user’s password
———————————–
Not specifying a password will result in the installation FAILING

Enter value for perfstat_password: perfstat
perfstat

Choose the Default tablespace for the PERFSTAT user
—————————————————
Below is the list of online tablespaces in this database which can
store user data. Specifying the SYSTEM tablespace for the user’s
default tablespace will result in the installation FAILING, as
using SYSTEM for performance data is not supported.

Choose the PERFSTAT users’s default tablespace. This is the tablespace
in which the STATSPACK tables and indexes will be created.

TABLESPACE_NAME CONTENTS STATSPACK DEFAULT TABLESPACE
—————————— ——— —————————-
EXAMPLE PERMANENT
PERFSTAT PERMANENT
SNOWFOX PERMANENT
SYSAUX PERMANENT *
USERS PERMANENT

Pressing <return> will result in STATSPACK’s recommended default
tablespace (identified by *) being used.

Enter value for default_tablespace: PERFSTAT

Using tablespace PERFSTAT as PERFSTAT default tablespace.

Choose the PERFSTAT user’s Temporary tablespace.

TABLESPACE_NAME CONTENTS DB DEFAULT TEMP TABLESPACE
—————————— ——— ————————–
SNOWFOX_TEMP TEMPORARY
TEMP TEMPORARY *

Pressing <return> will result in the database’s default Temporary
tablespace (identified by *) being used.

Enter value for temporary_tablespace: TEMP

……
SQL> set echo off;
Creating Package STATSPACK…

Package created.

No errors.
Creating Package Body STATSPACK…

Package body created.

No errors.

NOTE:
SPCPKG complete. Please check spcpkg.lis for any errors.

3. statspack 삭제.

설치시 원하지 않는 테이블스페이스나, 비밀번호를 사용했다면, 삭제후 다시 설치하면된다.

삭제는

SQL> @spdrop.sql

다시 설치하려고 start spcreate.sql 하면, 제대로 설치되지 않는다. 이때는 perfstat user를 삭제한다.

SQL> drop user perfstat;

혹시

SQL> drop user perfstat;
drop user perfstat
*
ERROR at line 1:
ORA-01922: CASCADE must be specified to drop ‘PERFSTAT’

이런 에러가 난다면,

SQL> drop user perfstat cascade;

statspack을 완전히 삭제하려면,

SQL> @spdrop.sql

SQL> DROP TABLESPACE perfstat INCLUDING CONTENTS AND DATAFILES;

 

Continue reading

HP rp3440 DAT drive 교체.

HP rp3440 의 DAT drive (DAT 72)의 버튼이 눌리지 않아서 새것으로 교체.

아래 문서를 참고.

http://www.ischo.net/hpux/6449

외장 1U DAT이므로, 서버를 끌 필요는없었고,  kcmodule 로 커널의 tape 상태 확인. ioscan하면 디바이스 화일은 생성되어 있으나, 실제 작동하지 않음. 그래서, insf -eC tape한후 작동시켜 보니 잘 됨.

ubuntu kvm 서버에 osx guest(해킨토시?) 설치. -결국 실패

1. 설치는 아래와 같이.

 virt-install –connect qemu:///system -n osx -r 1024 -f /home2/VM2/osx.vimg -s 15 -c /home/snowfox/OS/Snow_Leopard_10.6.1-10.6.2_SSE2_SSE3_Intel_AMD_by_Hazard.iso –vnc –noautoconsole –os-type none

여기서, 설치에 사용한 iso 이미지는 crack되어 있는 이미지이다.

2. osx 설치시 처음 부팅할때, apple관련 화일이 없다고 나온다. 이때는 ctrl+ALT+Del로 재부팅. 이후, 그냥 엔터 치지 말고 F8을눌러 부팅하자.

3. 그냥 아무생각 없이 설치를 하다보면, 나중에 OSX설치할 하드디스크가 보이지 않는다. 나는 이과정에서 엄청 헤맸다. 결론은, 디스크가 포맷되어 있지 않기 때문이다. 여기서 아래 그림에 나오는(처음것은 영어버전으로 설치. 두번재 것은 한글을 선택했을때, 즉 몇번 헤맸기 때문에 나중에 보니 스샷도 하나는 영문, 하나는 한글… ;ㅡㅡ) 유틸리티를 실행하여, 디스크를 포맷해 주자.

 

 

이것은 결국 실패했다. 설치 마치고 재부팅이 되는데, 이때, 무한 재부팅이 반복되며, OS가 올라오지 않았다. 혹시, 성공하신 분 있으면 알려주시기 바란다.

oracle SGA 크기 변경

SQL> show parameter sga;

NAME TYPE VALUE
———————————— ———– ——————————
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 272M
sga_target big integer 272M

SQL> alter system set sga_max_size = 300M scope=spfile;

System altered.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

SQL> show parameter sga;

NAME TYPE VALUE
———————————— ———– ——————————
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 300M
sga_target big integer 272M

SQL> alter system set sga_target=300M scope=both;

System altered.

SQL> show parameter sga;

NAME TYPE VALUE
———————————— ———– ——————————
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 300M
sga_target big integer 300M