2012-10-14

Unix/AIX] ntp 설정


다른 서버와의 시간 동기화 (AIX 간)
- server : AIX
- client : AIX

1. Server 장비의 Configuration 방법 (기준시간이 되는 장비)
- /etc/ntp.conf File을 다음과 같이 수정
server 127.127.1.0 prefer
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace

- # smitty xntpd
--> Start Using the xntpd Sybsystem
--> BOTH

2. Client 장비의 Configuration 방법 (기준시간이 되는 장비의 시간에 자신의 시간을 동기화시킬 나머지 장비)
- /etc/ntp.conf File을 다음과 같이 수정
server  server_name_or_ip prefer #server_name_or_ip는 기준시간이 되는 장비의 Host Name이나 Ip-address
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace

- # smitty xntpd
--> Start Using the xntpd Sybsystem
--> BOTH

3. ntpq -p 로 확인하시면 됩니다.

위와 같은 작업을 하고 나면 약 10분 이내에 Client 장비의 시간이 Server의 시간과 동기화가 된다.
주의해야 할 사항
- Time Server의 시간을 바꾸면 전체 Client의 시간이 바뀌므로 시간 관리를 잘 해야 한다.
- Time Server의 시간을 임시로 바꾸고자 하면 xntpd daemon을 stop 시킨후 작업을 한다.
xntpd start Command : startsrc -s xntpd
xntpd stop Command : stopsrc -s xntpd
- Server의 xntpd가 start된 후 약 6분 이상이 지난후 Client에서 Time Sync가 가능해 진다.
- Server와 Client간 1000초(16분) 이상의 시간 차이가 발생하면 Time Sync가 되지 않는다.
   
time backward 안하게 하는 방법
xntpd 데몬실행시 "-x"를 준다.
startsrc -s xntpd -a "-x"



============================================================================================================

Server]

 /etc/ntp.conf  화일에서 맨 밑으로 이동



#broadcastclient                   -- 주석처리
#server 127.127.1.0 prefer       -- local 서버

server 203.254.163.74 prefer   -- 외부 서버를 기준 (timency.kriss.re한국 표준과학연구원)

driftfile /etc/ntp.drift
tracefile /etc/ntp.trace



> startsrc -s xntpd 로 기동 한다.

> smity xntpd 로 기동 할수 있다.



>ntpd -p 로 확인

외부 서버 연결 시

root@ntp:/> ntpq -p

     remote           refid      st t when poll reach   delay   offset    disp
==============================================================================
*timency.kriss.r .檢 .            1 u  162 1024  377    36.56    0.795    8.58



자기 자신 참조시

root@ntp:/> ntpq -p

     remote           refid      st t when poll reach   delay   offset    disp
==============================================================================
 LOCAL(0)     LOCAL(0)         4 u   59   64  377     2.20    0.104    0.03




[Client]



#broadcastclient                   -- 주석처리
server ntp_server_ip

driftfile /etc/ntp.drift
tracefile /etc/ntp.trace



> startsrc -s xntpd 로 기동 한다.

> smity xntpd 로 기동 할수 있다.



>ntpd -p 로 확인



root@client:/> ntpq -p

     remote           refid      st t when poll reach   delay   offset    disp
==============================================================================
     ntp_svr   LOCAL(0)         4 u   59   64  377     2.20    0.104    0.03





# ntpdate -d ntp_server_ip    서버의 시간과 동기화 한다.

============================================================================================================

3.     NTP 설정

? 파일경로는 OS 따라 다를 수 있습니다 -

l       주변세팅

/etc/services 에서 확인한 결로 NTP 데몬은 123 port UDP 를 사용하므로 방화벽에서 해당 port 를 열어 둡니다.



l       [T-MAIN] 세팅

/etc/ntp.conf

server          gps.bora.net  version 3  prefer

server          time.kriss.re.kr  version 3

server          127.127.1.1

fudge           127.127.1.1 stratum 9

authenticate    no



        server         gps.bora.net  version 3  prefer

gps.bora.net 이라는 서버에서 읽어 온다는 의미 입니다.

                복수개의 server 중에서 prefer 가 있는 Server 가 우선합니다.



        server          127.127.1.1

fudge           127.127.1.1 stratum 9

               로컬서버의 클럭을 서버에서 이용한다는 의미 입니다.

               로컬서버에 다른 클럭 장치가 있다면

               server 127.127.XType.0

fudge 127.127.XType.0 startum 0

의 양식에서 보듯이 XType 를 설정해 주면 됩니다.

XType 이 1 인 경우는 외부장치 없음으로 인식하여

LOCAL 클럭을 이용하는 것입니다.

       

        ntp.conf 설정이 끝나면

        /sbin/init.d/xntpd start 명령으로 데몬을 살립니다.

       

        /etc>ntpq ?p 으로 접속 상태를 확인합니다.

        remote           refid      st t when poll reach   delay   offset    disp

===============================================================================

* LOCAL(1)        LOCAL(1)         9 l   46   64  377     0.00    0.000   10.01

gps.bora.net    0.0.0.0         16 -    -   64    0     0.00    0.000 16000.0

  timency.kriss.r 0.0.0.0         16 -    -   64    0     0.00    0.000 16000.0



        위의 화면은 외부서버와 연결이 아직 이루어 지지 않았기 때문에 LOCAL 로 연결이

        된 상황을 알려주는 것이다.



l       Client 설정하기

/etc/ntp.conf

server                T-MAIN  version 3  prefer

authenticate       no

             T-MAIN 은 hosts 에서 등록을 해서 사용하거나, IP 주소를 직접입력 해도 된다.

           

ntp.conf 설정이 끝나면

        /sbin/init.d/xntpd start 명령으로 데몬을 살립니다.

       

        /etc>ntpq ?p 으로 접속 상태를 확인합니다.

  remote           refid      st t when poll reach   delay   offset    disp

==============================================================================

*T-MAIN          .LCL.            1 u   44   64  377     0.44    1.117    0.34



  위의 화면과 같이 보이면 T-MAIN 에서 시간을 가져 올 수 있다.



4.     심화 학습

- NTP 서버와 통신이 가능하다면 일회성으로 시간을 세팅할 수 있다

/etc>ntpdate T-MAIN

adjust time server 165.186.170.61 offset 0.001666 sec



아래와 같이 뜨는 경우도 있다.

the NTP socket is in use, exiting

 : xntpd 데몬이 123 port 를 사용 중이다. Xntpd 를 stop 하고 실행하면 된다.



- Broadcast/multicast 도 가능하다.

Server 에서 NTP 패킷을 Client 에게 뿌리는 방법으로 ntp.conf 에서 설정하여 사용이 가능하다.



- ntpq 칼럼 설명

remote - 원격 피어

refid - 피어가 동기화되는 호스트

st - stratum 번호

t - 유형, 즉 unicast, mulitcast, local   (- = 알 수 없음)

poll - 초 단위 폴링 간격

reach - 도달가능성 레지스터



             - 디버깅을 수행할 수 있다.

             /usr/sbin/xntpd -d &



             - NTP Xtype 리스트

             # XType 장치                 이름           해설

# -------------------------------------------------------

# 1    (없음)     LOCAL             규칙이 적용되지 않은 로컬 클럭

# 2    trak     GPS_TRAK       TRAK 8820 GPS Receiver

# 3    pst         WWV_PST        PSTI/Traconex WWV/WWVH Receiver

# 4    wwvb      WWVB_SPEC      Spectracom WWVB Receiver

# 5    goes      GPS_GOES_TRUE  TrueTime GPS/GOES Receivers

# 6    irig      IRIG_AUDIO     IRIG Audio Decoder

# 7    chu        CHU            Scratchbuilt CHU Receiver

# 8    refclock- GENERIC        Generic Reference Clock Driver

# 9    gps        GPS_MX4200     Magnavox MX4200 GPS Receiver

# 10   gps        GPS_AS2201     Austron 2201A GPS Receiver

# 11   omega    OMEGA_TRUE     TrueTime OM-DC OMEGA Receiver

# 12   tpro      IRIG_TPRO      KSI/Odetics TPRO/S IRIG Interface

# 13   leitch    ATOM_LEITCH    Leitch CSD 5300 Master Clock Controller

# 14   ees       MSF_EES        EES M201 MSF Receiver

# 15   gpstm     GPS_TRUE       TrueTime GPS/TM-TMD Receiver

# 17   datum     GPS_DATUM      Datum Precision Time System

# 18   acts      NIST_ACTS      NIST Automated Computer Time Service

# 19   heath     WWV_HEATH      Heath WWV/WWVH Receiver

# 20   nmea      GPS_NMEA       Generic NMEA GPS Receiver

# 22   pps       ATOM_PPS       PPS Clock Discipline

# 23   ptbacts   PTB_ACTS       PTB Automated Computer Time Servic

Linux]리눅스클러스터링자료


GNU/Linux를 이용한 4-node cluster제작
http://hlug.hanyang.ac.kr/~xenus/doc/clustering/clustering.html

How to set up high-performance Linux computing clusters.
http://www.ram.org/computing/linux/linux_cluster.html

SUPERUSER 클러스터 구성
http://www.superuser.co.kr/linux/cluster/page01.htm


Heartbeat를 이용한 간단한 Fail Over Cluster 구성
http://blog.errorstory.net/tag/Heartbeat

Linux] apache_php_openssl설치



httpd-2.0.59.tar.gz    php-5.1.6.tar.gz 파일 이용.

apache설치
./configure --prefix=/usrl/local/apache  --enable-module=so --enable-so


./configure --prefix=/usr/local/apache2 --enable-suexec \
                          --enable-so --with-suexec-caller=bin \
                          --enable-ssl --with-ssl=/usr/local/ssl --enable-cache \
                          --enable-ext-filter --with-z=/usr/include --enable-dav \
                          --with-dbm=db4 --with-berkeley-db=/usr/local/BerkeleyDB.4.2

make && make install


php설치
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql  --with-gd --disable-debug  --enable-track-vars  --with-jpeg-dir=/usr/local --with-zlib-dir=/usr/local --with-libxml-dir=/usr/local/libxml2



출처 : Tong - journae님의 Windows 통

make && make install

httpd.conf파일에서
LoadModule php5_module      module/libphp5.so
파일 존재확인!

AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
추가!

cp php.ini-dist /usr/local/lib/php.ini  설정파일 카피!

apache실행
/usr/local/apache/bin/apachectl start
하면

Syntax error on line 232 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: undefined symbol: php_escape_html_entities
라는 에러가 나오네요...  nu,m

제가 리눅스 엄청 초보라 어떻게 대처해야 할지 모르겠어요

고수님들 도와주세요 ~~~~




 
   바람난일용이   07-05-17 17:01  
혹시 아파치 2개 설치 하셧는지요.. ?
컴파일시에는 --with-apxs2=/usr/local/apache2/bin/apxs  아파치2라는 디렉토리에 하셨는데
실행은 Syntax error on line 232 of /usr/local/apache/conf/httpd.conf:
아니면 디렉토리 이름을 바꾸신건지.... 설치 하고 실행하고 경로가 다르면.. 해당패스가
달라져 에러가 날수잇읍니다...
이부분 체크해 보심이...

혹시 아파치 2개 설치 하셧는지요.. ?
컴파일시에는 --with-apxs2=/usr/local/apache2/bin/apxs  아파치2라는 디렉토리에 하셨는데
실행은 Syntax error on line 232 of /usr/local/apache/conf/httpd.conf:
아니면 디렉토리 이름을 바꾸신건지.... 설치 하고 실행하고 경로가 다르면.. 해당패스가
달라져 에러가 날수잇읍니다...
이부분 체크해 보심이...
 
   서비효과   07-05-17 17:04  
앗.. 1mm의 오타가 있었네요.. 감사합니다 ^^








Don't forget to run 'make test'.

Installing PHP SAPI module:       apache2handler
/usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/local/apache2/build/libtool' libphp5.la /usr/local/apache2/modules
/usr/local/apache2/build/libtool --mode=install cp libphp5.la /usr/local/apache2/modules/
cp .libs/libphp5.so /usr/local/apache2/modules/libphp5.so
cp .libs/libphp5.lai /usr/local/apache2/modules/libphp5.la
libtool: install: warning: remember to run `libtool --finish /usr/local/src/php-5.2.3/libs'
chmod 755 /usr/local/apache2/modules/libphp5.so
[activating module `php5' in /usr/local/apache2/conf/httpd.conf]
Installing PHP CLI binary:        /usr/local/php/bin/
Installing PHP CLI man page:      /usr/local/php/man/man1/
Installing build environment:     /usr/local/php/lib/php/build/
Installing header files:          /usr/local/php/include/php/
Installing helper programs:       /usr/local/php/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/php/man/man1/
  page: phpize.1
  page: php-config.1
Installing PEAR environment:      /usr/local/php/lib/php/
[PEAR] Console_Getopt - installed: 1.2.2
[PEAR] Archive_Tar    - installed: 1.3.2
[PEAR] Structures_Graph- installed: 1.0.2
pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0)
[PEAR] PEAR           - installed: 1.5.4
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
Installing PDO headers:          /usr/local/php/include/php/ext/pdo/

unix] ibm aix telnet 서비스포트 변경 방법


 telnet 포트를

 #vi /etc/services --> 파일에서 변경 후에

 #refresh -s inetd      를 실행하시면 서비스 적용 됩니다.

2012-10-07

DBMS/오라클] 스키마 정보 확인


 
  select * --column_name, data_type, data_length, data_precision, nullable, default_length, data_default
  from user_tab_columns@db_name
  where table_name='NPORDERMST'
  order by column_id
  ;
 
  /
 
  select table_name,column_name from user_tab_columns
  where table_name='EMP';  

DBMS/오라클] job 수행 시간 및 간격, 실행 건수 확인


-- sys user에서 작업
-- job 수행 시간 및 간격, 실행 건수 확인
--
select schema_user db_user
    , what as job_proc
    , last_date
    , last_sec
    , next_date
    , next_sec
    , total_time pros_time
    , broken
    , interval
    , failures
from dba_jobs
order by schema_user, what
;

DBMS/오라클] copy_t 테이블 및 데이터 생성


--// 오라클에서 copy_t 테이블 및 데이터 입력 쿼리문
create table copy_t(no number, no2 varchar2(2)) nologging;

insert into copy_t values (1 ,'01');
insert into copy_t values (2 ,'02');
insert into copy_t values (3 ,'03');
insert into copy_t values (4 ,'04');
insert into copy_t values (5 ,'05');
insert into copy_t values (6 ,'06');
insert into copy_t values (7 ,'07');
insert into copy_t values (8 ,'08');
insert into copy_t values (9 ,'09');
insert into copy_t values (10 ,'10');
insert into copy_t values (11 ,'11');
insert into copy_t values (12 ,'12');
insert into copy_t values (13 ,'13');
insert into copy_t values (14 ,'14');
insert into copy_t values (15 ,'15');
insert into copy_t values (16 ,'16');
insert into copy_t values (17 ,'17');
insert into copy_t values (18 ,'18');
insert into copy_t values (19 ,'19');
insert into copy_t values (20 ,'20');
insert into copy_t values (21 ,'21');
insert into copy_t values (22 ,'22');
insert into copy_t values (23 ,'23');
insert into copy_t values (24 ,'24');
insert into copy_t values (25 ,'25');
insert into copy_t values (26 ,'26');
insert into copy_t values (27 ,'27');
insert into copy_t values (28 ,'28');
insert into copy_t values (29 ,'29');
insert into copy_t values (30 ,'30');
insert into copy_t values (31 ,'31');
insert into copy_t values (32 ,'32');
insert into copy_t values (33 ,'33');
insert into copy_t values (34 ,'34');
insert into copy_t values (35 ,'35');
insert into copy_t values (36 ,'36');
insert into copy_t values (37 ,'37');
insert into copy_t values (38 ,'38');
insert into copy_t values (39 ,'39');
insert into copy_t values (40 ,'40');
insert into copy_t values (41 ,'41');
insert into copy_t values (42 ,'42');
insert into copy_t values (43 ,'43');
insert into copy_t values (44 ,'44');
insert into copy_t values (45 ,'45');
insert into copy_t values (46 ,'46');
insert into copy_t values (47 ,'47');
insert into copy_t values (48 ,'48');
insert into copy_t values (49 ,'49');
insert into copy_t values (50 ,'50');
insert into copy_t values (51 ,'51');
insert into copy_t values (52 ,'52');
insert into copy_t values (53 ,'53');
insert into copy_t values (54 ,'54');
insert into copy_t values (55 ,'55');
insert into copy_t values (56 ,'56');
insert into copy_t values (57 ,'57');
insert into copy_t values (58 ,'58');
insert into copy_t values (59 ,'59');
insert into copy_t values (60 ,'60');
insert into copy_t values (61 ,'61');
insert into copy_t values (62 ,'62');
insert into copy_t values (63 ,'63');
insert into copy_t values (64 ,'64');
insert into copy_t values (65 ,'65');
insert into copy_t values (66 ,'66');
insert into copy_t values (67 ,'67');
insert into copy_t values (68 ,'68');
insert into copy_t values (69 ,'69');
insert into copy_t values (70 ,'70');
insert into copy_t values (71 ,'71');
insert into copy_t values (72 ,'72');
insert into copy_t values (73 ,'73');
insert into copy_t values (74 ,'74');
insert into copy_t values (75 ,'75');
insert into copy_t values (76 ,'76');
insert into copy_t values (77 ,'77');
insert into copy_t values (78 ,'78');
insert into copy_t values (79 ,'79');
insert into copy_t values (80 ,'80');
insert into copy_t values (81 ,'81');
insert into copy_t values (82 ,'82');
insert into copy_t values (83 ,'83');
insert into copy_t values (84 ,'84');
insert into copy_t values (85 ,'85');
insert into copy_t values (86 ,'86');
insert into copy_t values (87 ,'87');
insert into copy_t values (88 ,'88');
insert into copy_t values (89 ,'89');
insert into copy_t values (90 ,'90');
insert into copy_t values (91 ,'91');
insert into copy_t values (92 ,'92');
insert into copy_t values (93 ,'93');
insert into copy_t values (94 ,'94');
insert into copy_t values (95 ,'95');
insert into copy_t values (96 ,'96');
insert into copy_t values (97 ,'97');
insert into copy_t values (98 ,'98');
insert into copy_t values (99 ,'99');

commit;


=================================================================
copy_ymd 테이블 생성 및 데이터 입력 스크립트 ( 오라클용)

create table copy_ymd nologging
as
select to_char(sysdate+rownum, 'YYYYMMDD') ymd,
to_date(to_char(sysdate+rownum, 'YYYYMMDD'), 'YYYY-MM-DD') ymd_date
from tab a, tab b, tab c
where rownum < 100000
union all
select to_char(sysdate+rownum, 'YYYYMMDD') ymd,
to_date(to_char(sysdate+rownum, 'YYYYMMDD'), 'YYYY-MM-DD') ymd_date
from dual
union all
select to_char(sysdate-rownum, 'YYYYMMDD') ymd,
to_date(to_char(sysdate-rownum, 'YYYYMMDD'), 'YYYY-MM-DD') ymd_date
from tab a, tab b, tab c
where rownum < 100000
union all
select '00010101' ymd, to_date('00010101') ymd_date from dual
union all
select '99991231' ymd, to_date('99991231') ymd_date from dual;

COMMIT;
=================================================================
copy_yy 테이블 생성 및 데이터 입력 스크립트 ( 오라클용)

create table copy_yy nologging
as
select to_char(1900+rownum) yy from all_objects where rownum < 200


commit;



=================================================================
잘못된 날짜 데이터 찾기

SELECT A.EMPNO, A.ENAME, A.HIREDATE, B.YMD -- TO_DATE(HIREDATE, 'YYYY-MM-DD')
FROM TEST20 A, COPY_YMD B
WHERE A.HIREDATE = B.YMD(+)
AND B.YMD IS NULL;

혹은

SELECT * FROM (
SELECT A.EMPNO, A.ENAME, A.HIREDATE,
(SELECT B.YMD FROM COPY_YMD B WHERE A.HIREDATE = B.YMD ) YMD
FROM TEST20 A
)
WHERE YMD IS NULL;

( TEST20 테이블의 HIREDATE는 VARCHAR2(8) 로 구성되어 있으며, 중간중간 잘못된 데이터가 입력되어 있음)