unix 기초 명령어

hp-ux 버전 정보
newgen26:/appuser/ST1265>uname -a
HP-UX abcd B.11.23 U ia64 0540916947 unlimited-user license


-----------------------------------------------------------------------------

현재 OS가 32bit인지 64bit인지 확인하는법
abcd>getconf KERNEL_BITS
64

long 변수의 max 확인
abcd>getconf LONG_MAX
2147483647

 

-----------------------------------------------------------------------------


디스크 I/O 정보
abcd>iostat

  device    bps     sps    msps

  c0t0d0      0     0.0     1.0
  c2t0d0      0     0.0     1.0
  c4t0d0      0     0.0     1.0
  c4t0d1      0     0.0     1.0
  c4t0d2      0     0.0     1.0

-----------------------------------------------------------------------------


Network IP 정보 및 Routing 정보 변경
abcd>vi /etc/rc.config.d/netconf
/etc/rc.config.d/netconf

# Internet configuration parameters.  See ifconfig(1m), autopush(1m)
#
# INTERFACE_NAME:     Network interface name (see lanscan(1m))
#
# IP_ADDRESS:         Hostname (in /etc/hosts) or IP address in decimal-dot
#                     notation (e.g., 192.1.2.3)
#
# SUBNET_MASK:        Subnetwork mask in decimal-dot notation, if different
#                     from default
#
# BROADCAST_ADDRESS:  Broadcast address in decimal-dot notation, if
#                     different from default
#
# INTERFACE_STATE:    Desired interface state at boot time.
#                     either up or down, default is up.
#
# DHCP_ENABLE         Determines whether or not DHCP client functionality
#                     will be enabled on the network interface (see
#                     auto_parms(1M), dhcpclient(1M)). DHCP clients get
#                     their IP address assignments from DHCP servers.
#                     1 enables DHCP client functionality; 0 disables it.
#
# For each additional network interfaces, add a set of variable assignments
# like the ones below, changing the index to "[1]", "[2]" et cetera.
#
# IMPORTANT:  for 9.x-to-10.0 transition, do not put blank lines between
# the next set of statements

INTERFACE_NAME[0]="lan0"
IP_ADDRESS[0]="150.12.30.16"
SUBNET_MASK[0]="255.255.255.0"
BROADCAST_ADDRESS[0]=""
INTERFACE_STATE[0]="up"
DHCP_ENABLE[0]=0

INTERFACE_NAME[1]="lan0:2"
IP_ADDRESS[1]="150.12.30.156"
SUBNET_MASK[1]="255.255.255.0"
BROADCAST_ADDRESS[1]=""
INTERFACE_STATE[1]="up"
DHCP_ENABLE[1]=0

# Internet routing configuration.  See route(1m), routing(7)
#
# ROUTE_DESTINATION:  Destination hostname (in /etc/hosts) or host or network
#                     IP address in decimal-dot notation, preceded by the word
#                     "host" or "net"; or simply the word "default".
#
# ROUTE_MASK:         Subnetwork mask in decimal-dot notation, or C language
#                     hexadecimal notation.  This is an optional field.
#                     A IP address, subnet mask pair uniquely identifies
#                     a subnet to be reached. If a subnet mask is not given,
#                     then the system will assign the longest subnet mask
#                     of the configured network interfaces to this route.
#                     If there is no matching subnet mask, then the system
#                     will assign the default network mask as the route's
#                     subnet mask.
#
# ROUTE_GATEWAY:      Gateway hostname (in /etc/hosts) or IP address in
#                     decimal-dot notation.  If local interface, must use the
#                     same form as used for IP_ADDRESS above (hostname or
#                     decimal-dot notation). If loopback interface, i.e.,
#                     127.0.0.1, the ROUTE_COUNT must be set to zero.
#
# ROUTE_COUNT:        An integer that indicates whether the gateway is a
#                     remote interface (one) or the local interface (zero)
#                     or loopback interface (e.g., 127.*).
#
# ROUTE_ARGS:         Route command arguments and options.  This variable
#                     may contain a combination of the following arguments:
#                     "-f", "-n" and "-p pmtu".
#
# For each additional route, add a set of variable assignments like the ones
# below, changing the index to "[1]", "[2]" et cetera.
#
# IMPORTANT:  for 9.x-to-10.0 transition, do not put blank lines between
# the next set of statements

ROUTE_DESTINATION[0]=default
ROUTE_MASK[0]=""
ROUTE_GATEWAY[0]="150.12.30.241"
ROUTE_COUNT[0]="1"
ROUTE_ARGS[0]=""

 

-----------------------------------------------------------------------------

특정 ip로만 접속제어
abcd>vi /var/adm/inetd.sec

dtspc   allow   127.0.0.1       #newgen01

telnet  allow   \
        47.1.140.121 #kimmunsoo_mon     \
        47.15.114.17    #af821-PC1      \
        47.15.114.31    #af821-PC2      \
        47.15.114.35    #s19574 \
        47.15.103.4     #ss370292       \
        47.15.103.13    #ss370011       \
        129.235.94.154  \
        129.235.94.155  \
        129.235.94.68   \
        47.15.114.20    #       S20214          \
        75.85.5.78

ftp allow       \
        47.15.114.17    #af821-PC1      \
        47.15.114.31    #af821-PC2      \
        47.15.114.35    #s19574 \
        75.85.5.77      #       \
        75.85.5.78

 

-----------------------------------------------------------------------------


시스템 cpu,메모리 보는법 - glance 프로그램 실행

abcd>glance

-----------------------------------------------------------------------------

메모리정렬 보는법 - glance 에서 

abcd>glance

  glance에서
  o <엔터>
  <엔터>
  다음화면에서 계속 <엔터>치다가
  Sort key (name/cpu/disk/rss) 부분에서 rss 입력하시면
  메모리순으로 정렬하실 수 있습니다.
-----------------------------------------------------------------------------


시스템관련 Log 확인

newgen26:/appuser/ST1265>vi /var/adm/syslog/syslog.log

HP-UX에서 syslog 경고를 허용하도록 구성하는 방법
syslog 구성 파일에 적절한 기능을 추가합니다.

예를 들어 USER 기능을 사용하여 모든 경고를 저장하려면 /etc/syslog.conf에 다음 행을 추가합니다.

user.info       /var/adm/info여기서 /var/adm/info는 메시지를 저장할 로컬 디렉토리 예입니다. 작업을 계속하기 전에 /var/adm/info가 있는지 확인합니다.

syslogd 데몬을 다시 시작합니다.

$ /sbin/init.d/syslogd stop | start메시지가 syslog에 기록되는지 확인합니다.

$ logger -p user.info "Test message"
$ cat /var/adm/info
 Jun 19 17:18:38 host user: [ID 12345 user.info] Test message


-----------------------------------------------------------------------------

by 치비 | 2009/10/07 10:36 | 기타 | 트랙백 | 덧글(0)
스칼라 서브쿼리


[스칼라 쿼리 실행 절차]

1. 사용자가 쿼리가 실행합니다.

2. 메인쿼리에서 나온 첫번째 Row에 대한 값이 스칼라 서브쿼리의 조건절로 제공됩니다.

3. 스칼라 쿼리는 한번 파싱이 된후 메모리에 적재됩니다.

4. 스칼라 쿼리 수행되고 Oracle 은 원하는 데이터가 들어있는 Data Block 을 메모리에 로드 시킵니다.

5. 메모리에 로드시킨 Data Block 에서 원하는 데이터를 빼내어 제공합니다.

6. 메인쿼리에서 두번째 Row에 대한 값이 추출됩니다.

7. 추출된 값은 또 스칼라 서브쿼리에 조건절로 제공됩니다.

8. 스칼라 서브쿼리가 실행되고 이미 메모리에 로드시킨 Data Block 에서 데이터를 찾아 옵니다.

9. 메모리에서 데이터를 찾기 때문에 속도가 빠릅니다.

10. 세번째 도 네번째 Row 도 같습니다. 스칼러 서브쿼리는 메모리에서 데이터를 빼내에 제공하기 때문에 빠릅니다.

 

Join 쿼리는 일반 제공되어질 데이터를 다 만든다음 제공합니다. 당연히 스칼라 서브쿼리보다 느릴 수 밖에 없습니다.

 

그래서 코드성 데이터와 같은 단일 추출값은 Join 보다는 스칼라 서브쿼리를 많이 사용합니다.

 

 

----------------------------------------------------------

스칼라 쿼리의 장점

1.메모리를 사용하므로 인라인뷰로 집합을 만들어 사용하는것보다 빠릅니다.
2.스칼라 서브쿼리로 접근하는 테이블의 row수가 적을수록 성능은 향상됩니다.
3.코드값을 key로 가져옵니다. unique key로 접근해서 해당하는 데이터를 가져오기 때문에 비용/성능면에서 유리합니다.

by 치비 | 2009/09/18 12:45 | Oracle | 트랙백 | 덧글(0)
테이블 생성

DBMS 별로 상이 할텐데..

제가 주로 사용하는 MS-SQL 기준으로 하겠습니다. (MS-SQL 2000)

 

-- 테이블 생성  (시퀀스넘버와 이름을 입력하는 테이블)
CREATE TABLE TEST
( SEQ CHAR(11)      
, NAME VARCHAR(20)
, CONSTRAINT PK_TEST PRIMARY KEY (SEQ))

 

-- 시퀀스넘버 구하기

-- 테이블에서 가장큰 시퀀스넘버를 불러와서 날짜부분과 일련번호(001~999) 부분을 분리하여

-- 일련번호부분에 숫자형으로 변경하여 +1 을 한다음 문자열로 변경하여 다음 시퀀스넘버를 구하고

-- 일련번호가 없을 경우에 현재날짜를 YYYYMMDD 로 만든다음 '001' 를 붙인다음 시퀀스넘버 변수에 입력하고

-- 인서트문에 변수를 사용한다.

 

DECLARE @SEQNUM CHAR(11)

SELECT @SEQNUM=ISNULL( LEFT(MAX(SEQ),8)

                        + RIGHT('00'+ CONVERT(VARCHAR,CONVERT(INT,RIGHT(MAX(SEQ),3))+1),3)
                         ,CONVERT(CHAR(8),GETDATE(),112)+'001')
FROM TEST

-- 데이터 입력 (1회 1개씩만 인서트)

INSERT INTO TEST VALUES (@SEQNUM, '홍길동')
by 치비 | 2009/08/31 17:00 | MS-SQL | 트랙백 | 덧글(0)
컬럼 변경법등
테이블의 컬럼을 추가하거나 수정할때 엔터프라이즈 매니저를 사용하면

 간단히 수정할 수 있지만 부득이하게 쿼리분석기만으로 처리해야 할때가 있다.

 

-먼저 컬럼 추가구문.

ALTER TABLE '테이블명' ADD '추가할컬럼명' '속성'

GO

ex) ALTER TABLE Board

      ADD Board_name Varchar(20) NULL

ex) ALTER TABLE Board

      ADD Board_name Varchar(20) NOT NULL CONSTRAINT DF_ADDR DEFAULT '서울'

-- 컬럼을 추가할때는 null값을 허용하는 값이나 default 값이 정해져 있는것만 가능하다.

 

-컬럼수정

ALTER TABLE '테이블명'

 ALTER COLUMN '컬럼명' '변경할 속성'

GO
ex) Alter table Board

      Alter column Board_name Varchar(30) null

 

-컬럼명 수정

EXEC SP_RENAME '테이블명.[수정할컬럼명]','수정될이름','COLUMN'

ex)sp_rename 'setting_view.[use_checked]','use_check','COLUMN'

 

-컬럼삭제

ALTER TABLE '테이블명' DROP COLUMN '삭제할컬럼명'
GO

ex) Alter table Board

      Drop Column Board_name

 -----------------------------------------------------------------------------------------------------------------------

1. SP_HELP 

                   : 데이타베이스 테이블, 뷰, 저장 프로시져등의 개체와 사용자 정의 데이터형식 또는 시스템이 제공하는 데이터형식 등에

                     관한 종합정보를 제공한다.

2. SP_HELPINDEX

                   : 테이블 또는 뷰의 인덱스에 관한 정보를 조회한다.

3. SP_HELPDB

                   : 지정된 데이타베이스 또는 모든 데이타베이스에 관한 정보를 보고한다.

4. SP_HELPTEXT

                   : 암호화 되지 않은 저장프로시져, 사용자 정의 함수, 트리거 또는 뷰, 규칙의 텍스트, 기본값등의 정의 문자열을 조회한다.

5. SP_RENAMEDB

                   : 데이타베이스의 이름을 변경한다.
6. SP_SPACEUSED

                   : 테이블이나 인덱스된 뷰가 가지고 있는 행의 수, 예약된 디스크 공간 및 현재 데이타베이스의 테이블이 사용하는 디스크
                     공간을 표시하거나 전체데이타베이스 공간을 조회한다.
7. SP_ATTACH_DB

                   : 물리적으로 저장해둔 데이타베이스의 파이를 서버에 데이타베이스로 첨부한다.
8. SP_ATTACH_SINGLE_FILE_DB

                   : 데이타 파일이 하나인 데이타베이스를 현재 서버에 첨부한다.
9. SP_CONFIGURE
                   : 현재 서버에 대한 전역 구성 설정을 표시하거나 변경한다.
10. SP_DBOPTION

                   : 데이타베이스 옵션을 표시하거나 변경한다.
11. SP_WHO

                   : 현재 서버의 사용자 및 프로세스에 관한 정보를 제공한다. 유휴 상태가 아닌 프로세스만 반환하려면 반환되는 정보를
                     필터링하면 된다.
12. SP_LOCK

                   : 잠금상태를 조회한다.
13. SP_DBCMPTLEVEL

                   : SQL Server의 지정된 이전버전과 호환될 특정 데이타베이스 동작을 설정한다.

                     업그레이드 한 후 프로그램 변동없이 이전 버전에서 지원하였던 내용을 계속 사용하고 싶다면 설정할 수 있다.

14. SP_DEPENDS

                   : 테이블 또는 뷰에 종속된 뷰및 프로시저,뷰 및 프로시저에 종속된 테이블 또는 뷰등과 같은 
              데이터베이스 개체 종속 관계에 관한 정보를 표시한다.

15. SP_RENAME

            : 현재 데이터베이스에서 테이블, 열 또는 사용자 정의 데이터 형식 등 사용자 작성 개체의 이름을 변경한다.

16. SP_ADDMESSAGE

       :Sysmessage테이블에 새 오류 메시지를 추가한다.

17. SP_TABLES

            : 해당 데이터베이스의 모든 테이블과 뷰에대한 리스트 정보를 보여준다.

18. SP_DATABASES

            : 각 인스턴스에 있는 데이터베이스의 리스트를 보여준다.

19. SP_STATISTICS

            : 지정한 테이블 또는 인덱스된 뷰에 관한 모든 인덱스및 통계 목록을 보여준다.

20. SP_FKEYS

            : 지정한 테이블에 대한 외부 키 정보를 보여준다.

21. SP_STORED_PROCEDURES

            : 현재 데이터베이스에 있는 사용자 정의 저장 프로시저의 목록과 정보를 반환한다.

22. SP_PKEYS

            : 지정한 테이블에 있는 기본키 정보를 보여준다.

23. SP_TABLE_PRIVILEGES

            : 지정한 테이블에 대한 권한정보를 사용자별로 보여준다.

24. SP_SERVER_INFO

            : 현재 서버에 대한 자세한 정보를 보여준다.

25. SP_HELPCONSTRAINT

            : 지정된 개체에 있는 제약의 정보를 보여준다.

26. SP_HELPDB

            : 지정한 데이터베이스에 대한 자세한 정보를 보여준다.

27. SP_HELPEXTENDEDPROC

            : 지정한 확장 프로시저에 대한 간단한 DLL 매핑정보를 반환한다.

28. SP_HELPFILE

            : 현재 데이터베이스에서 지정한 파일에 대한 정보를 반환한다.

30. SP_HELPFILEGROUP

            : 현재 데이터베이스에서 지정한 파일그룹에 대한 정보를 반환한다.

31. SP_HELPLANGUAGE

            : 지정한 특정 언어에 대한 정보를 반환한다.

32. SP_HELPSERVER

            : 지정한 서버에 관한 정보를 보여준다. 

33. SP_HELPPORT

            : 현재 서버의 문자셋 정보, 즉 정렬 순서 및 문자 집합을 표시한다.

34. SP_HELPSTATS

            : 지정한 테이블에 대해 컬럼과 인덱스에 관한 통계 정보를 반환한다.

35. SP_HELPTRIGGER

            : 정한 트리거에 관한 정보를 보여준다.

36. SP_DATATYPE_INFO

            : 현재 환경에서 지원되는 데이터 형식에 관한 정보를 표시한다.

 

by 치비 | 2009/08/31 15:44 | MS-SQL | 트랙백 | 덧글(0)
dbf 삭제 후 테이블스페이스 삭제

1. 데이터베이스 셧다운: shutdown immediate; <-- 에러난다

2. 데이터베이스 마운트 : startup mount <-- 1이 안되니 될 턱이 없다



3. 테이블 스페이스 오프라인 드롭을 하자!!

alter database datafile 'file path' offline drop;  <-- 이렇게 한다!!!!!!


4. 데이터베이스 오픈 : alter database open;

이렇게 한 다음에 논리적으로 테이블 스페이스를 삭제하면 된다!!!
drop tablespace xxxx;


정리하면, 3번을 하고 drop 하면 된다...

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

dbf 파일 삭제시 ..

shutdown abort 로 instance 강제 종료 inconsistency 상태

 

sqlplus /nolog
conn /as sysdba

startup nomount ;
alter database mount ;
alter database datafile '/disk/oracle/product/9.2.0/dbs/xx.dbf' offline

==> control 파일 정보에 해당 dbf 파일 offline 상태 알려줌
alter database open ;

 

xx.dbf 에 저장되어 있던 object ( table 등등 ..)  해당 tablespace  는 drop  시킴..

by 치비 | 2009/08/27 17:02 | Oracle | 트랙백 | 덧글(0)


< 이전페이지 다음페이지 >