달력

1

« 2025/1 »

  • 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
2011. 1. 6. 18:02

PostgreSQL Upgrade - 7.x->9.01 Work/PostgreSQL2011. 1. 6. 18:02

* 7.xx version이 자동으로 설치되지만, 최신version을 사용하기 위해서 upgrade 작업을 할 필요가 있다.

vi /etc/yum.repos.d/CentOS-Base.repo
를 실행하여 아래의 문구를 추가한다.

exclude=postgresql*

그리고 아래의 command를 순서대로 실행하면 된다.
----------------------------------------------
wget http://yum.pgrpms.org/reporpms/9.0/pgdg-centos-9.0-2.noarch.rpm
rpm -Uvh pgdg-centos-9.0-2.noarch.rpm

yum update
yum upgrade

yum install postgresql90 postgresql90-server

cat > /etc/sysconfig/pgsql/postgresql <<EOF
PGDATA=/var/lib/pgsql/9.0/data
PGPORT=5432
PGLOG=/var/lib/pgsql/9.0/pgstartup.log
PGOPTS=
EOF

service postgresql-9.0 initdb
----------------------------------------------

* postgresql.conf 을 수정한다.
vi /var/lib/pgsql/9.0/data/postgresql.conf
listen_addresses = '*'
port = 5432

* pg_hba.conf 도 확인하여 최초 설치시의 설정을 참고하여 수정한다.
/var/lib/pgsql/9.0/data/pg_hba.conf


* PostgreSQL 9.0.x의 시작/종료는 아래와 같다.
시작 : service postgresql-9.0 start
종료 : service postgresql-9.0 stop
:
Posted by Elick
2011. 1. 6. 17:55

PostgreSQL Install - Windows Work/PostgreSQL2011. 1. 6. 17:55

[Installation Download]
 http://www.enterprisedb.com/products/pgdownload.do#windows 에서 필요한 설치 File을 Download 한다.
실제 postgresql-9.0.1-1-windows.exe 를 Download하여 실행하면 별 문제없이 설치된다.

[.NET에서 PostgreSQL을 연결하기 위해서는 아래처럼 해야 한다는데... 확인이 필요하다.]
 http://cafe.naver.com/idea30.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=109
:
Posted by Elick
2011. 1. 6. 17:54

PostgreSQL Install - CentOS Work/PostgreSQL2011. 1. 6. 17:54

옛날 옛날에는  ftp://ftp.postgresql.org 로 부터 소스를 다운로드 받아서 설치를 해야 하는 상황이 있었다고 한다.
오늘날에는 그렇게 하지 않아도 간단히 설치를 할 수 있다.
현재 KIPI의 전략사업기획팀에 설치된 Test Server는 CentOS 5.5 이고, 이 경우 root로 바로 설치가 가능하다.
root로 설치를 하는 것이 과연 올바른가에 대한 문제는 여전히 남아있지만, 현재는 그렇게 설치되어 있다.

[설치방법]
. 설치 : yum -y install postgresql postgresql-server postgresql-odbc postgresql-jdbc postgresql-devel
. 설치확인 : rpm -qa | grep postgresql

위 처럼 설치하면, 기본적으로 PostgreSQL 7.xx version이 설치된다.

[기본설정]
설치가 종료된 후 기본적인 설정을 해 주어야 평상시 사용하는 것처럼 외부에서 DBMS에 접속 및 질의를 할 수 있다.
-----------------------------------------------------------------------------
vi /var/lib/pgsql/data/postgresql.conf
#-- 외부에서 접근할 수 있도록 아래 내용을 수정
listen_address='*'
port = 5432
max_connections = 100
vi /var/lib/pgsql/data/pg_hba.conf
#-- 외부에서 접근할 수 있도록 아래 내용을 추가
host    all         all         0.0.0.0/0               password
-----------------------------------------------------------------------------
[PostgreSQL의 시작과 종료]
PostgreSQL의 시작과 종료는 root로 한다. (이 부분은 root로 설치했으므로 root로 해야 할 듯..)
. 시작:/etc/init.d/postgresql start
. 종료:/etc/init.d/postgresql stop

[PostgreSQL 설치 후 postgres 계정 암호 설정]
외부에서 PGAdmin으로 접속을 위해서 postgres의 패스워드를 지정하자.
psql 로 접속한 후에 아래의 명령어로 설정하면 된다.
ALTER USER postgres WITH ENCRYPTED PASSWORD '<password>';


:
Posted by Elick
2011. 1. 6. 17:49

PostgreSQL을 선택하다. Work/PostgreSQL2011. 1. 6. 17:49

최근 이직을 한 회사에서 개발을 진행해야 할 건이 있는데 DBMS로 PostgreSQL을 선정했다.
이미 결정이 된 사항이라... 선정과정에는 참여할 수 없었고... 이런 저런 고민만 늘어간다.
어차피 할 수 없는 일보다 할 수 있는 일에 신경을 더 쓰는 것이 내 스타일에 더 잘 맞기에... 열심히 해보기로 하자.. ㅠㅠ

[역사]
PostgreSQL은 postgres에서 출발한다. postgres는 캘리포니아 버클리(UCB) 대학의 Michael Stonbraker 교수의 주도로 시작된 데이터베이스 연구 프로젝트였다. 처음에는 교육과 연구를 목적으로 개발되었으나 사용자 수의 증가에 따라 지원 부담이 커져서 4.2 버전을 마지막으로 postgres 프로젝트는 종료하게 된다. 
postgres 프로젝트는 그대로 끝나지 않고 postgres95와 Illustra 데이터베이스라는 두 개의 제품으로 탄생하게 된다. Illustra 데이터베이스를 postgres를 시작한 Michael Stonbraker 교수에 의해 상업용 버전으로 제품화한 것이다. 이후 Illustra는 Informix사에 인수되어 Informix Universal Server 제품과 통합되었다. postgres95는 postgres 프로젝트에 참가하고 있던 당시 UCB의 대학원생 Andrew Yu와 Jolly Chen에 의해 개발되었다. Postgres는 postgres95로 오면서 몇 가지 수정돼 특징을 갖는다. 
ANSI C를 따르도록 소스코드가 수정되어서 프로그램 크기가 25%로 작아지고 보기가 쉬워졌으며 질의 언어를 PostQuel에서 표준 SQL로 변경되었다. 기존 Postgres에 비해 30~50%정도의 성능 향상을 가져 왔고 라이선스를 수정해 상용화가 가능해 졌다. 그러나 Andrew Yu와 Jolly Chen가 졸업하면서 또 한번의 개발이 멈추는 위기를 맞게 되지만 캐나다의 Marc G. Fournier씨가 주관하는 현재의 개발팀이 인수받아 계속 이루어지고 있다. 1997년 1월에 나온 6.0 버전부터는 Postgres95라는 이름이 적절하지 않아 PostgreSQL로 이름이 바뀌었으며, 최근까지 9.0.x 버전이 발표되었다.

[저작권]
PostgreSQL 저작권은 기본적으로 소스코드까지 공개되어 있으며, GPL과 다른 공유 성격을 가진 Berkeyly 라이선스를 기반으로 배포되고 있으며, 임의의 목적에 사용과 복사, 수정, 및 배포에 대해서 자유로우며, 관련된 어떤 보증도 제공하지는 않고 있다.

:
Posted by Elick
2011. 1. 6. 17:37

Archive Mode vs No-Archive Mode Work/ORACLE2011. 1. 6. 17:37

[No-Archive Mode]
처음 설치시 기본적으로 No-Archive.
사용자의 모든 변경정보가 Redo Log File에 Backup되기 때문에 Redo Log File의 크기와 개수가 Backup할 수 있는 Data의 크기를 좌우.
Redo Log File이 아주 오래 전의 복구 Data를 가지고 있지 않다면 복구를 할 수 없는 단점.
Oracle Server는 사용자들이 입력, 수정, 삭제작업을 수행할 때 마다 발생하는 모든 변경 전 Data와 변경 후 Data들을 Redo Log Buffer 영역에 Backup.
LGWR Background Process는 Redo Log Buffer의 Data들을 영구히 저장할 수 있는 Redo Log File로 저장.
기본적으로 Oracle에서는 3개의 Redo Log File을 제공.
세 번째 Redo Log File도 모두 사용되고 나면, 더 이상 제공되는 Redo Log File이 없기 때문에 다시 첫 번째 Redo Log File에 Backup Data들을 저장.
이 때문에 이전 Backup Data들은 모두 유실되는 문제가 발생.

[Archive Mode]
모든 복구 Data를 가지고 있으며 Database에 문제가 발생했던 시점까지 복구할 수 있는데 이러한 방법을 완전복구하고 한다.
반대로, 복구할 수 있는 Data가 Backup되지 있지 않다면 문제가 생겼던 시점까지 복구할 수 없는데 이러한 방법을 불완전 복구라 한다.
Database에서 발생하는 모든 Data(변경 전 Data와 변경 후 Data)들이 ARCH Process에 의해 항상 Backup되는 Mechanism을 Archive Mode(Archive Mode)라고 한다.
기본적으로 Oracle Database는 No-Archive Mode이며 설치 후 Archive Mode로 전환하는 작업을 수행하는 것을 권고한다.

[Off-Line Backup : Cold Backup, 전체 Backup]
반드시, 정상적인 종료 Option(NORMAL, TRANSACTIONAL, IMMEDIATE)을 사용하여 Oracle Server를 종료.
Oracle Database와 관련된 모든 File (Data File, Control File, Redo Log File, Prameter File)을 같은 시점에 운영체계 명령어를 사용하여 Disk 또는 Tape 장치에 복사.
Off-Line Backup 방법은 No-Archive Mode, Archive Mode 둘다 수행할 수 있다.

[Archive Mode 전환 방법]

* 환경설정
init.ora File에 Archive Mode와 관련된 Prameter를 설정
[LOG_ARCHIVE_START] : ARCH Background Process에 의해 Database를 Archive Mode로 전환. Log switch가 발생하면 자동으로 Archive를 실행
[LOG_ARCHIVE_DEST] : Prameter는 Redo Log File에 대한 Archive File이 생성될 기본 저장 경로를 의미
[LOG_ARCHIVE_DEST_n] : Prameter는 Archive 경로를 여러 군데 지정할 때 사용. 최대 10개
[LOG_ARCHIVE_FORMAT] : 생성될 Archive File의 File 포맷을 결정

Database를 Archive Mode로 전환하기 위해서는 Database를 다시 시작해야 하며, MOUNT 단계에서 명령어를 실행해야 한다.
Archive Mode로 전환 : ALTER DATABASE ARCHIVELOG;
No-Archive Mode로 전환 : ALTER DATABASE NoArchiveLOG;
Archive Mode 확인 : ARCHIVE LOG LIST;
:
Posted by Elick
2011. 1. 6. 17:35

Redo Log Work/ORACLE2011. 1. 6. 17:35

[Redo log 란?]
Oracle 에서 일어나는 Transaction에 대한 변경내역들을 기록하는 file.
Redo log는 redo entry로 구성되어 져있으며, Oracle process [LGWR] 에 의해 log buffer에 쓰여진 내용이 Redo logfile에 쓰여진다. Transaction 발생 -> redo entry가 log buffer에 기록 -> redo entry는 다시 LGWR에 의해 Redo log file에 쓰여진다.

[Redo log 상태]
INACTIVE:현재 사용중이지도 않고 복구에 필요치 않응 Redo log
ACTIVE:INSTANCE Recovery 에 필요한 Redo log
CURRENT:LGWR이 현재 기록중이 Redo log

[REDO의 구성]
물리적으로 다른Disk에 LOG1 을 2중화 하여 관리함으로써 가용성을 높인다.
이렇게 관리 하기위해서는 2개의 REDO Member를 하나의 Group으로 묶어야 한다.

[관리]
Redo log Group 추가
ALTER DATABASE ADD LOGFILE GROUP 1 ('<Full path file name>', '<Full path file name>',) size 100M;
Redo log Group 삭제
ALTER DABASE DROP LOGFILE GROUP 1;
삭제시 주의 사항
현재 Redo logGroup의 상태가 CURRENT,ACITIVE 이면 Redo log를 절대 삭제할수 없다.
삭제 전에 먼저 LOGFILE SWITCH 를 발생시켜서 INACTIVE 상태로 만들어야 한다.
단, LOGFILE SWITCH 를 한다고 꼭 INACTIVE 상태가 되는것은 아니다. 
하지만 여러번 하다보면 결국 INACTIVE 상태로 변하게 된다.
Redo log Member 추가
ALTER DATABASE ADD LOGFILE MEMBER '<Full path file name>' TO GROUP 1;
Redo log Member 삭제
ALTER DATABASE DROP LOGFILE MEMBER '<Full path file name>';
Redo log 강제 SWITCH
ALTER SYSTEM SWITCH LOGFILE;
Redo log 상태 확인
SELECT * FROM V$LOG;
SELECT * FROM V$LOGFILE;
:
Posted by Elick
2010. 12. 17. 11:14

Database Connection Strings Work/SQL Server2010. 12. 17. 11:14

항상 검색하던 건데...
어떤 천사분께서 정리해서 얼렁 퍼왔다.

-----------------------------
Database Connection Strings
1. OLEDB 연결 문자열
Microsoft SQL Server
Provider=SQLOLEDB;Data Source=db_server;Initial Catalog=database_name;User ID=user_id;Password=password

Oracle (MS Oracle OLEDB Provider)
Provider=MSDAORA.1;Data Source=oracle_tns_name;User ID=user_id;Password=password

Oracle (Oracle OLEDB Provider)
Provider=OraOLEDB.Oracle.1;Data Source=oracle_tns_name;User ID=user_id;Password=password

Microsoft Access
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.mdb 파일의 실제 경로

2. ODBC 연결 문자열
공통
DSN=data_source_name;UID=user_id;Pwd=password

Microsoft SQL Server
DRIVER={SQL Server};SERVER=db_server;UID=user_id;PWD=password;DATABASE=northwind

Microsoft SQL Server (MSDE)
DRIVER={SQL Server};SERVER=.\SQLEXPRESS;UID=user_id;PWD=password;DATABASE=northwind

Oracle
DRIVER={Microsoft ODBC for Oracle};SERVER=oracle_tns_name;UID=user_id;PWD=password

Microsoft Access
Driver={Microsoft Access Driver (*.mdb)};DBQ=.mdb 파일의 실제 경로

3. Oracle용 Microsoft ODBC Driver 와 OLEDB Provider 의 제약 사항
. Microsoft Data Access Components(MDAC) 버전 2.5 이상 버전부터 Microsoft ODBC 드라이버와 OLE DB 공급자는 모두 Oracle 8i를 지원하지만 다음과 같은 제한 사항이 갖고 있습니다.
. CLOB, BLOB, BFILE, NCHAR, NCLOB 및 NVARCHAR2 같은 Oracle 8.x 고유 데이터 형식은 지원되지 않습니다.
. Oracle 7.x 및 8.x 서버에 대한 유니코드 기능은 지원되지 않습니다. (10g 에서도 Microsoft ODBC 드라이버 사용시 유니코드 지원이 안되었음)
. 복수 Oracle 클라이언트 인스턴스나 복수 Oracle 홈은 SYSTEM PATH 변수에 나와 있는 Oracle 홈의 첫 번째 발생에 의존하므로 지원되지 않습니다.
. 저장 프로시저 또는 일괄 처리 SQL 문으로부터 여러 결과 집합을 반환할 때 ADO나 OLEDB를 사용할 수 없습니다.
. 단일 결과 집합 반환 시, OLEDB 에서는 프로시저에서 반환하는 REF CURSOR 를 지원하지만, ODBC 는 지원 안함
. 255043 (http://support.microsoft.com/kb/255043/) HOWTO: ASP를 통해 Oracle(REF CURSORS)에서 ADO 레코드 집합을 검색하는 방법
. 176086 (http://support.microsoft.com/kb/176086/) ADO를 사용하여 Oracle 저장 프로시저에서 레코드 집합을 검색하는 방법
. 중첩된 외부 조인은 지원되지 않습니다.
. XML 지속성은 지원되지 않습니다.
 

-----------------------------
출처 : http://blog.naver.com/dalbong97/130032211895

:
Posted by Elick
2010. 10. 22. 18:06

Windows command line 명령어 정리 Work/Etc2010. 10. 22. 18:06

회사 동료가 멋지게 정리했다.
이런 천사같은 .....
이런 건 얼릉 블로그에 올려야 한다. ^^

Windows Command Line 명령어 정리

 
-- MSC ( Microsoft management console Snap-in Control )
compmgmt.msc : 컴퓨터 관리
services.msc : 서비스
gpedit.msc : 로컬 컴퓨터 정책 .
devmgmt.msc : 장치관리자
diskmgmt.msc : 디스크 관리
dfrg.msc : 디스크 조각모음
eventvwr.msc : 이벤트 뷰어
fsmgmt.msc : 공유폴더
lusrmgr.msc : 로컬 사용자 및 그룹
perfmon.msc : 성능모니터뷰
rsop.msc : 정책의 결과와 집합
secpol.msc : 로컬 보안설정
 
-- Windwos 기본 관리 프로그램
cmd : command라인
ipconfig : ip구성창을 나타냄 ( /all, /release, /renew)
dxdiag : 컴퓨터 각종 사양보기
regedit : 레지스트리편집기
ping : 핑테스트.. ping daum.net 이렇게 치시면 다음넷과 서버 연결 상태(ip확인가능)
msconfig : 시스템 구성 유틸리티(윈도우가 부팅될때 읽어들일 것들을 목록으로 만들어 놓은 것)
sfc : 시스템 파일 검사및 복원
sysedit : autoexec.bat , config.sys ,win.ini, system.ini 시스템구성편집기
telnet : open 사이트주소(텔넷접속명령어)
netstat -na : 현재 열린포트와 TCP/IP 프로토콜정보를 보여줌
systray : 사운드 볼륨설정 노란색 스피커 아이콘을 트라이목록에 띄움
msinfo32 : 시스템정보를 확인하는 명령어
taskmgr : shift+ctrl+esc : 작업관리자 열기단축키
shutdown -a : 시스템종료 취소
shutdown -t 0 : 바로down 수행
deltree : 도스에서. 디렉토리까지 포함하여삭제 가능한 명령어
tasklist : command line에서 사용하는 processlist
taskkill : command line에서 사용하는 process kill

-- Windows 사용자 프로그램
excel : 엑셀
powerpnt : 파워포인트
winword : MS워드
outlook : 아웃룩
wordpad : 워드패드
notepad : 메모장
calc : 계산기
mspaint : 그림판
mstsc : 원격데스크탑
 
-- 제어판의 모듈실행명령어
Access.cpl : 내게 필요한 옵션
Mmsys.cpl : 사운드 및 오디오장치 등록정보
Appwiz.cpl : 프로그램추가/제거
Nusrmgr.cpl : 사용자계정
Desk.cpl : 디스플레이 등록정보
Nwc.cpl : Client Service for NetWare
Hdwwiz.cpl : 하드웨어추가마법사
Odbccp32.cpl : ODBC 데이터 원본관리자
Inetcpl.cpl : 인터넷등록정보
Powercfg.cpl : 전원옵션 등록정보
Intl.cpl : 국가 및 언어옵션
Sysdm.cpl : 시스템등록정보
Joy.cpl : 게임콘트롤러
Telephon.cpl : Phone and Modem Options
Main.cpl : 마우스등록정보
Timedate.cpl : 날짜 및 시간 등록정보
 
 
참고
- http://mrpeoh.tistory.com/entry/MS-Windows-MSC-%EB%AA%85%EB%A0%B9%EC%96%B4-%EB%AA%A8%EC%9D%8C

:
Posted by Elick