System Compleat.

'Techs'에 해당되는 글 113건

  1. DISM.exe 1
  2. SSL Certificates on Nginx & Windows
  3. SQL SERVER CRITICAL TASK LIST
  4. Windows 2008 Server Core Basic Setup
  5. Oracle 11g R2 on Solaris 10 1

DISM.exe

Techs
( younjin.jeong@gmail.com , 정윤진 )

32bit 2008 Server Core 를 설치하고 나서 .Net 을 설치하려고 커맨드를 때려보니, NetFx2-ServerCore 따위는 없어 라고 친절하게 윈도우가 알려줘 버렸다.  뭐 여차저차 관련 검색을 하다가 보니, Windows 7 및 Windows Server 2008 R2 부터 새로 추가된 툴인, 바로 이 DISM ( Deployment Image Servicing and Management tool ) 보게 되었는데, 잘 보아두면 매우 유용할 것 같아 간략하게 소개한다.

이 DISM 은, 마이크로소프트의 오래된 패키징 툴인 PKMGR 및 PEIMG를 대처하기 위해 나온 툴로서,  Windows 7 및 2008 R2 에는 기본으로 설치 되어 있다고 한다.

MS Technet 의 소개에 따르면, 이러한 툴을 사용하여 Windows7 이나 2008 R2 를 기존의 Edition 이 아닌 상위의 Edtion 으로 쉽게 마이그레이션이 가능하다.

일단, DISM 을 사용하기 위해서는 Administrator 권한으로 cmd.exe 를 실행 시켜야 한다.
cmd.exe 에서, 현재 설치된 패키지의 버전을 보려면,

DISM /online /Get-CurrentEdition 
을 상큼하게 날려준다.

Figure 1 , DISM.exe


현재 사용중인 윈도우의 버전이 나온다.
만약 Administrator 권한이 아닌 상태에서 실행하게 된다면   Error : 740  을 보게 될 것이다.

현재 에디션에서 업그레이드가 가능한 목록을 보기 위해서는
DISM /online /Get-TargetEditionis

Figure 2, DISM.exe


현재 Ultimate Edition 을 사용하고 있기 때문에, 업그레이드가 가능한 Edition 이 없음을 보여준다.


이와 같은 전체적인 배포판의 업그레이드 이외에도, 현재 버전에서의 세부 기능에 대한 변경 역시 가능하다.
DISM 의 강력한 기능중 하나는, OS 가 동작중인 상황에서 운영체제의 각 기능에 대해서 직접적인 변경이 가능하다는 것이다.   일례로 Windows 설치시에 같이 설치가 되는 게임이나, 여러가지 보조프로그램 등과 같이 원치않는 기능을 원하는 순간에 없애 버릴 수 있다.

현재 시스템에 설치 되어 있는 패키지의 목록을 보려면 다음과 같이 한다.

DISM /online /Get-Features

목록이 굉장히 많으므로,  파이프 ( | ) 를 걸어서 more 로 보면 좋다.  나는 가끔 Windows 에 default 로 grep 이 없다는 현실에 좌절하곤 하는데, 물론 win32 버전이나 다른 비슷한 대체 명령어는 있을 것으로 생각되지만.. 역시 귀차니즘.응!?

Feature Name : More Games
State : Enabled

Feature Name : Solitaire
State : Enabled

Feature Name : SpiderSolitaire
State : Enabled

Feature Name : Hearts
State : Enabled

Feature Name : FreeCell
State : Enabled

이렇게 Enable 되어있는 각종 패키지들과

Feature Name : ServicesForNFS-ClientOnly
State : Disabled

Feature Name : ClientForNFS-Infrastructure
State : Disabled

Feature Name : NFS-Administration
State : Disabled

Feature Name : SUA
State : Disabled

이런식으로 Disable 되어있는 패키지들이 있다.

당연히 드는 생각은,  Enable/Disable 을 통제 할 수 있다는 말이 아닌가?

하여 요런 코맨드가 나와버린다.


DISM /online /Disable-Feature /FeatureName:패키지이름

주의 할 것은,  Case  Sensitive 하다.  (잘난척, 훗)  대소문자를 가린다.


그럼 하나 잡고 마루타를.. ;;


Figure 3, DISM.exe


윈도우 기본 카드게임인 FreeCell 로 마루타를 했다.

자 이제 확인 해 보면,

Figure 4, DISM


보면, FreeCell 이 Disable 되어 있는 것을 확인 할 수 있다.
Disable 한 것을 Enable 못하면 안되지 않겠나.

DISM /online /Enable-Feature /FeatureName:패키지이름


보다 자세한 정보는 Microsoft 의 Technet 을 보면 매우 잘 나와 있다.
비교적 새로운 툴이지만,  예전부터 패키지 매니저가 발달한 상용 유닉스나 리눅스 진영에서 수시로 사용되는 패키지 관리 툴이 이렇게 상콤한 모습으로 Windows 에서 태어났다는 사실은 매우 고무적 현상이 아닌가.

모르는건

DISM /?
DISM /online /?

Depth 별로 /? 스위치 붙이면 친절 하다.


DISM 관련 Microsoft Technet
http://technet.microsoft.com/en-us/library/dd744380(WS.10).aspx

Windows 2008 32bit Standard Edition 에는 ( R2 아님 ) 기본 포함 되어있지 않은걸 확인 했다.


( younjin.jeong@gmail.com , 정윤진 )



SSL Certificates on Nginx & Windows

Techs
( younjin.jeong@gmail.com , 정윤진 )

최근, 인증서 관련 이슈가 있어 간략하게 인증서를 다루는 법에 대해 소개하려고 한다.
이슈는,

1. nginx 에서 Intermediary SSL 을 설치하는 방법.
2. Windows 에서 certutil 을 사용하는 방법.

의 2가지 이다.

2가지 내용 모두 다음의 내용을 참고 하였다.
1. 이슈 : http://rubypond.com/blog/nginx-intermediary-ssl-certificates-and-passphrases
2. 이슈 : http://blogs.microsoft.co.il/blogs/applisec/archive/2008/04/08/creating-x-509-certificates-using-makecert-exe.aspx

급하신 분들은 위의 내용을 직접 참고 하셔도 되겠다.


1.  Nginx Intermediary SSL Certificates and Passphrases

Merging the site and intermediary SSL certificates

발급받은 사이트 인증서와 중개기관 인증서를 병합해야 한다.  아파치 및 IIS 에서는 두개의 인증서를 따로 지정하거나 별도로 설치가 가능하지만, nginx 는 무조건 1개의 파일로 설정해야 한다.  따라서, 다음과 같이 병합한다.

cat yourdomain.com.crt >> yourdomain.com.crt.merged
cat intermediate_bundle.crt >> yourdomain.com.crt.merged

Removing SSL Passpharse

다음단계는, key 파일에 걸려있는 암호를 제거해야 한다.  물론 남겨두는게 좋지만, 남겨두게 되면 오퍼레이터가 항상 재시작 할때마다 키를 넣어주어야 하기 때문에 자동으로 재시작이 불가능하다.  따라서, 백업을 먼저하고 다음과 같이 진행한다.

mv yourdomain.com.key  yourdomain.com.passphrased
openssl rsa -in yourdomain.key.passphrased -out yourdomain.key


Configuring Nginx to use your new SSL certificate

다음과 비슷한 모양으로 설정한다.

server {
  listen 443;
  server_name myserver.com; 

  ssl on;
  ssl_certificate /etc/nginx/certs/yourdomain.com.crt.merged;
  ssl_certificate_key /etc/nginx/certs/yourdomain.key ;

  # put the rest of your server configuration here.

  location / {
     proxy_set_header X-FORWARDED_PROTO https;
     # put your config here
  }
}

nginx 를 재시작 하면 된다.

2008 년 여름, 일본에서 서비스를 오픈다하가 이 문제로 인해 한참을 구글링 한 적이 있다.
날짜의 압박속에서, Reverse proxy 로 동작하는 nginx 에 키가 제대로 설치되지 않으면, 503 Bad Gateway 메세지를 떨구기 때문에, 반드시 처리 해야만 했던.

아무튼, 필요하신 분에게 좋은 도음이 되었으면 한다.


2. Creating X.509 Certificates using makecert.exe

x.509 인증서 생성은 매우 빈번한 작업이지만, 어떻게 하는 것인지 모르는경우가 종종 있다.
실제로는 신뢰된 인증기관을 통해서 구매해야 하지만, 다음의 툴로 혼자만의 Cert의 생성이 가능하다.
MakeCert.exe

다운로드 후에는, 다음의 진행을 따른다.


Creating a Root Certificate Authority  ( Root 인증서 생성 )
makecert.exe -n "CN=My Root CA,O=Organization,OU=Org Unit,L=San Diego,S=CA,C=US" -pe -ss my -sr LocalMachine -sky exchange -m 96 -a sha1 -len 2048 -r My_Root_CA.cer

Import Root Certificate Authority Certificate into Trusted Root Store ( 생성된 인증서를 Root 저장소로 Import )
certutil.exe -f -addstore Root My_Root_CA.cer

Create Backup (Export) PFX file of Root Certificate Authority Certificate ( 생성된 인증서를 pfx 로 백업 )
certutil.exe -privatekey -exportpfx "My Root CA" My_Root_CA.pfx

Create a Server Certificate issued from the previously created Certificate Authority  ( 기존에 생성된 인증을 바탕으로 서버 인증서 생성 )
makecert.exe -n "CN=Server" -pe -ss my -sr LocalMachine -sky exchange -m 96 -in "My Root CA" -is my -ir LocalMachine -a sha1 -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 Server.cer

Create Backup (Export) PFX file of Server Certificate ( 생성된 서버 키를 pfx 로 백업 )
certutil.exe -privatekey -exportpfx "Server" Server.pfx

Create a Computer certificate issued from the previously created Certificate Authority ( 기존 생성된 인증을 바탕으로 "Computer" 인증서 생성 )
makecert.exe -n "CN=Computer" -pe -ss my -sr Localmachine -sky exchange -m 96 -in "My Root CA" -is my -ir LocalMachine -a sha1 -eku 1.3.6.1.5.5.7.3.2 Computer.cer

Create Backup (Export) PFX file of Computer Certificate ( 기존에 생성된 "Computer" 키를 pfx 로 백업 )
certutil.exe -privatekey -exportpfx "Computer" Computer.pfx

OID Reference

Encrypting File System (1.3.6.1.4.1.311.10.3.4)
Secure Email (1.3.6.1.5.5.7.3.4)
Smart Card Logon (1.3.6.1.4.1.311.20.2.2)
Client Authentication (1.3.6.1.5.5.7.3.2)
Server Authentication (1.3.6.1.5.5.7.3.1)
IP security IKE intermediate (1.3.6.1.5.5.8.2.2)



써놓고 보니 거의 날로먹은 포스팅..   미안하니까 몇가지 쓸모있는 URL 링크.

인증서 웹 변환 툴
https://www.sslshopper.com/ssl-converter.html

csr ( private key ) 및 certificate 비교
https://www.sslshopper.com/certificate-key-matcher.html

Verisign 의 Intermediate Certificate
https://www.verisign.co.jp/repository/intermediate/server/c3SecureServerCA_1024.html



( younjin.jeong@gmail.com , 정윤진 )

SQL SERVER CRITICAL TASK LIST

Techs
( younjin.jeong@gmail.com , 정윤진 )

본 포스팅은  Buck Woody 씨가 simple-talk.com 에 기고한 Database Design 에 관련된 포스팅을 번역한 것이며, 역자 (나)가 데이터베이스의 깊은 레벨까지는 알고 있지 못하므로 번역의 품질이 다소 의심스러 울 수 있겠다.

다만, 데이터 베이스를 디자인 함에 있어서 어떠한 부분을 검토해야 하는지등에 대한 DB의 이해를 높이기 위해 연재로 구성할 생각이니 견해가 다르더라도 편하게 보아 주시면 되겠다.

원문은 여기 에서 참조 하시면 된다.

------------------------------------------------------------------------------------------------------------
SQL Sever Critical Task List,    Mission Critical: Database Design
SQL Server 2008 Database Design
Ver. 10.04.001
------------------------------------------------------------------------------------------------------------

CRITICAL TASK LIST PROGRAM

본 문서는 SQL Server 2008 RTM Enterprise Edition ( non-clustered ) 의 데이터베이스 디자인을 설명하며, 데이터 베이스 디자인을 구성함에 있어 처음부터 고려해야야 하는 기본적인 단계에 대하여 정의한다.

아래의 각 부에 대한 내용을 확인하고 Task의 내용이 이상이 없는 경우  "Confirmed" 컬럼 에 체크한다.  아래의 Task List 중 하나라도 체크가 되지 않는게 있으면 문제가 되므로, 반드시 모든 Task 에 체크 하도록 한다.

아래의 CTL ( Critical Task List ) 이 제품 공급자의 공식 문서를 대신하는 것은 아님을 양지하도록 한다.


CTL NUMBER

본 CTL 문서는 문서의 상단 오른쪽에 있는 넘버로 식별되며, 알파벳으로 구성된 식별번호 중 가장 최신의 버전을 사용하도록 한다.


HOW TO BE ASSURED OF HAVING LATEST DATA

필요한 경우 본 문서를 참조하는 기업/기관에 따라 요구사항을 추가 할 수 있다.


CONTENT

CTL 10.04.001 은  SQL Server 2008 데이터 베이스의 좋은 디자인을 위한 절차가 명시되어 있다.  기타 다른 데이터 베이스 시스템의 디자인의 경우 역시 해당 DBMS 의 환경에 따라 필요한 내용이 추가 될 수 있다.
이곳에 명시된 모든 컨텐츠를 사용하는 책임은 전적으로 서버 소유주에 있다.  Microsoft 는 이 문서에 명시된 어떠한 내용에도 책임이 없으며,  본 문서는 Microsoft 의 공식 문서가 아님에 유의 하도록 한다.


COMMENTS AND QUESTIONS

코멘트 또는 질문 등은  buck.woody@microsoft.com 으로 보내주기 바란다.


CRITICAL TASK LIST MANAGERS

Buck Woody "Real World DBA" (MSFT U.S.).

Task

References

Confirmed

Obtained Business Requirements from submitting organization

조직의 비지니스로직이 반영되어 있는가.

http://bit.ly/8CP0a

 

Developed further questions from Business Requirements.

비지니스 로직에 필요한 질문을 만들 었는가.

http://bit.ly/8CP0a

 

Submitted questions to originator and received responses.

담당자로 부터 질문에 대한 답변을 받았는가.

http://bit.ly/34XJrB

 

Meeting held with development and organization team to agree on final requirements.

개발팀과 해당 조직의 팀이 미팅을 통해 최종 요구사항에  동의 하였는가.

http://bit.ly/34XJrB

 

Nouns decomposed from finalized Business Requirements document.

작성된 최종 문서로 부터 구성요소들을 분석 하였는가.

http://bit.ly/34XJrB

 

Nouns grouped into logical entities.

분석된 구성요소들이 논리적인 엔티티로 그룹화 되었는가.

http://bit.ly/34XJrB

 

Verbs Decomposed from finalized Business Requirements document.

작성된 최종 문서로 부터 관계 분석이 되었는가.

http://bit.ly/34XJrB

 

Initial logical Entity Relationship Diagram (ERD) created.

논리 엔티티 관계 다이어그램이 생성 되었는가.

http://bit.ly/4B2RIZ

http://bit.ly/3KYeaB

 

Logical ERD developed into 3rd Normal Form (3NF).

논리 ERD가 3 정규화 되었는가

http://bit.ly/3KRfep

http://bit.ly/1srGVh

 

Data Types Determined for each entity.

각 엔티티의 데이터 타입에 대해 정의 하였는가.

http://bit.ly/3YtvGn

 

Primary and Foreign Keys defined.

PK 와 FK 가 정의 되었는가.

http://bit.ly/2cCvCp

http://bit.ly/349Nt

 

Unique and other constraints defined from finalized Business Requirements document.

유니크 및 기타 제약조건이  정의 되었는가.

http://bit.ly/21SrHd

 

Security plan developed from finalized Business Requirements document.

보안 계획이 수립 되었는가.

http://bit.ly/XrlbO

 

Physical design created from finalized ERD.

ERD로 부터 물리 디자인이 생성 되었는가.

http://bit.ly/1Ecr4R

 

File Storage choices created and finalized.

파일 스토리지를 선택하고 생성이 완료 되었는가.

 

 

Finalized design tested with top-20 queries from each entity.

각 엔티티간 최상위 top-20 쿼리에 대해 디자인 테스트 하였는가.

http://bit.ly/4wJdLz

 

 

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

모델링에 대해서는 이미 많은 분들이 잘 알고 계실테니 추가적으로 언어 선택이나 번역이 어색한 부분은 지적해 주시면 고맙겠다.

각 레퍼런스에 대한 번역은 추가로 진행을 하여 포스팅 하도록 하고, 진짜배기는 저 안에 있기 때문에... 필요하신 분은 링크타고 읽으셔도 된다.


아.. 봄이 오는데 이시간에 키보드 질..


( younjin.jeong@gmail.com, 정윤진 )

Windows 2008 Server Core Basic Setup

Techs
( 정윤진, younjin.jeong@gmail.com )


최근 Windows 2008 Server Core 를 시작하게 됬는데, 아마도 기본적으로 유용한 커맨드 몇개는 적어두는게 좋지 싶어서 기본 설정을 중심으로  올려본다.




Network Setting

ipconfig 를 사용하여 일단 현재의 네트워크 설정 상태를 본다.

사용자 삽입 이미지

Server Core - ipconfig


또는, netsh 를 사용 할 수도 있다.

C:\>netsh interface ipv4 show interfaces

이 커맨드의 output 에 나오는 Idx 는 아래의 모든 커맨드에서 참조 되므로 확인 해 둘 필요가 있다.

"Local Area Connection" 에  static 으로 IP가 할당 된 모습이 보인다.
변경하고 싶다면, 다음과 같이 cmd 를 날려준다.

C:\>netsh interface ip set address "Local Area Connection" static 192.168.1.200 255.255.255.0 192.168.1.1

대강 눈치 채셨겠지만, "인터페이스 이름",  고정, IP, Netmask, Default Gateway 의 순서이다.
더 있어 보이는 커맨드는 이거다.

C:\>netsh interface ipv4 set address name="" source=static address="X.X.X.X" mask="X.X.X.X" gateway="X.X.X.X"

물론, DHCP 로 할당 할 수도 있다.

C:\>netsh interface ip set address "Local Area Connection" source=dhcp


네임서버 설정은 다음과 같다.

C:\>netsh interface ip set dns "Local Area Connection" static 192.168.1.1 primary

이런 방법도 있다.

C:\>netsh interface ipv4 add dnsserver name="" address=X.X.X.X index=1

DHCP 인경우, 네임 서버 설정을 DHCP에서 받고 싶다면 다음과 같이 한다.

C:\>netsh interface ip set dns "Local Area Connection" source=dhcp


때로는, 인터페이스 이름을 바꾸고 싶을 수도 있다.

C:\>netsh interface set interface name="Local Area Connection" newname="eth0"



Administrator Password 변경

C:\>net user administrator *

패스워드를 묻는 프롬프트가 나오면 입력하고 엔터친다.


Hostname 변경

hostname 을 확인한다.
C:\>hostname  
WIN-C2C2XXXXXX

변경한다.
C:\>netdom renamecomputer WIN-C2C2XXXXXX /NewName:XXXXXX

서비스 관련 경고가 나타나면, 이상이 없는  경우 Y 를 눌러 진행한다.

재부팅
C:\>shutdown /r /t 0


Windows Activation

Windows Activate 에는 slmgr 툴을 사용한다.

서버 라이센스 상태 확인
C:\>slmgr.vbs /dli

서버 키 확인
C:\>slmgr.vbs /dlv

서버 키 재입력
C:\>slmgr.vbs /ipk

서버키 만료에 대한 정보
C:\>slmgr.vbs /xpr

트라이얼 상태로 되돌림
C:\>slmgr.vbs /upk

라이센스 활성화
C:\>slmgr.vbs /ato

KMS 서버 설정
C:\>slmgr.vbs /skms activationservername:port 


cscript ScregEdit.wsf  시스템 설정 도구

자동 업데이트 ( /AU )

현재 설정 확인
C:\>cscript C:'Windows'System32'Scregedit.wsf /au /v

 4 - 자동 업데이트 활성
1 - 자동 업데이트 비활성
/v 설정 확인

Terminal Service - Remote Administration Connection Set ( /AR )
- 사용 방법 동일 ( 0 enable, 1 disable )

Terminal Service - 다른 윈도 버전 및 CredSSP 설정
  /v  터미널 서비스 CredSSP 설정 확인
  0, 이전 윈도우 버전 접근 허용, 1 CredSSP 필요

IPSEC Monitor - 원격 Management 허용 ( /IM )

 /v 설정 확인
0 허용하지 않음,  1 허용



기타 참조 가능 명령

Pagefile 관련 설정

pagefile 할당, 사이즈는 서버 물리메모리 크기에 따라 유동적으로 할당한다.
C:\>wmic pagefileset where name="C:\\pagefile.sys" set InitalSize=500,Maximimsize=1000

pagefile 시스템 관리 Disable
C:\>wmic computersystem where name="%computername%" set AutomaticManagedPagefile=False

Optional Feature 설치
List 확인
C:\>oclist

설치
C:\>Start /w Ocsetup [packagename]
  -> 옵션 적용이 잘못되거나 , /? 로 나타나는 Help 참조

워크그룹 변경
C:\>Wmic computersystem where name="%computername%" call joindomainorworkgroupname="NEWWORKGROUPNAME"

타임존 변경
C:\>control timedate.cpl

설치된 드라이버 목록
C:\>Sc query type = driver

윈도우에 포함되지 않은 드라이버 설치
- 적절한 위치에 드라이버를 먼저 복사
C:\>Pnputil -i -a WHERE\DRIVER.inf

지역 설정
C:\>control intl.cpl

파일 버전 확인
C:\>wmic database where name="C:\\windows\\system32\\ntdll.dll" get version

설치된 패치 확인
C:\>wmic qfe list

패치 설치
C:\>Wusa.exe [Patchname].msu


Error Reporting 설정

현재 설정  확인
C:\>serverWerOption /query

자세한 리포트 보냄
C:\>serverWerOption /detailed

요약된 리포트 보냄
C:\>serverWerOption /summary

해제
C:\>serverWerOption /disable


설치된 .msi 도구 확인
C:\>wmic product

로그 아웃
C:\>Logoff


위의 커맨드를 기반으로, 다음과 같이 테스트 시스템을 준비하였다.
주석은 #처리 하였다.

#Network Setup
netsh interface set interface name="Local Area Connection" newname="eth0"
netsh interface ip set address "eth0" static 192.168.1.23 255.255.255.0 192.168.1.254
netsh interface ip set dns "eth0" static 192.168.1.200 primary

#Application Install
#oclist 로 의존성 및 추가 설치할 패키지 확인  | more 로 파이프 걸어서 볼 수있다.(당연)

start /w ocsetup NetFx2-ServerCore
start /w ocsetup NetFx3-ServerCore
start /w ocsetup NetFx2-ServerCore-WOW64
start /w ocsetup NetFx3-ServerCore-WOW64

start /w ocsetup MicrosoftWindowsPowerShell
start /w ocsetup MicrosoftWindowsPowerShell-WOW64

#Windows Activation

slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr.vbs /ato

#Timezone Setting
control timedate.cpl

#Region and Locale
control intl.cpl

#Reboot
shutdown /r /t 0

일단 기본 설정은 끝났다.  향후 필요한 윈도우 기본 패키지는 oclist 를 참조하여 설치하면 되고, 필요한 어플이 있으면 받아서 진행하면 되겠다.

원래는 네트워킹 쪽만 업데이트 하려 했으나, 내용을 정리 하다보니 아예 다 하는게 나을 것 같아 Active Directory 부분만 제외했다.


키보드로 제어하는 윈도우는 아~~주 매력적인듯.


(정윤진, younjin.jeong@gmail.com )

Oracle 11g R2 on Solaris 10

Techs
( younjin.jeong@gmail.com , 정윤진 )


최근 DBMS를 너무 소흘하게 대해 준 것 같아 오랜만에 VMWare 에 제목과 같은 조합을 설치를 진행 했다.  뭐.. 새삼스럽게 굳이 오라클 설치냐 하면 할말 없지만..

기본은 이렇게 설치를 가고 나중에 RAC 설치 소개를..;;


일단 Solaris 10 설치는 따로 설명하지 않는다.  파티션이나 레이드 구성등이 아니면 뭐 굳이 고민할 필요가 없을 만큼 잘 구성되어 있으니까.
다운로드는 여기서 가능하다.

Oracle Soaris 10 Download Page

일단 Solaris 10 은 설치가 되었다고 치고.

오라클 설치 이전에 필요한 정보에 대해서는 다음의 링크에서 구할 수 있다.

Oracle Database Installation Guide 11g Release 1


사용자 환경 설정.

그룹생성
#groupadd oinstall
#groupadd dba
#groupadd oper

홈디렉토리 설정
#mkdir /export/home/oracle

오라클 사용자 추가
#useradd -g oinstall -G dba -d /export/home/oracle -s /usr/bin/bash oracle
#chown oracle:oinstall /export/home/oracle

#passwd oracle

오라클 사용자를 위한 커널 파라메터 수정
Solaris 10에서는 /etc/system 파일 대신 project 툴들을 사용 가능하다.

#projadd -U oracle -K 'project.max-shm-memory=(priv,4g,deny)' oracle
#projmod -sK 'project.max-sem-nsems=(priv,256,deny)' oracle
#projmod -sK 'project.max-sem-ids=(priv,100,deny)' oracle
#projmod -sK 'project.max-shm-ids=(priv,100,deny)' oracle
#projmod -sK 'process.max-file-descriptor=(priv,65536,deny)' oracle

oracle 사용자 profile 수정.  bash 를 권고 하는 듯 하다.
/export/home/oracle/.bash_profile 수정
#Oracle Environment
TMP=/tmp ; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/오라클을/설치하고자하는/위치 ; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db ; export ORACLE_HOME
ORACLE_SID=ORCL11G; export ORACLE_SID
PATH=$PATH:/usr/local/bin:/usr/ccs/bin:/usr/sfw/bin:$ORACLE_HOME/bin

저장

Solaris 10을 설치하면, Java Desktop 이나 CDE 환경이 따라온다.  oracle 계정으로 로그인해서 작업한다.

다운로드 받은 솔라리스용 이미지 2개를 하나의 디렉토리에 푼다.
보통,

#unzip solaris_11gR2_database_1of2.zip
#unzip solaris_11gR2_database_2of2.zip


사용자 삽입 이미지

File Browser for Solaris 10



자바 데스크탑 환경의 파일 브라우저다.
runInstaller 더블클릭!  터미널에서 실행 이런거 누르지 말고 맨 우측의 run 해준다.

쭉 진행 하면 되는데, Prerequisite Checks 가 있다.

사용자 삽입 이미지

Prerequisite Checks


현재 시스템 설정 정보 관련한 내용이 나오는데, 통상 커널 파라메터나 시스템의 limit 의 값이 모자르거나 하면 표시해 준다.

통상, Swap 관련 내용의 경우,
#mkdir /원하는사이즈넉넉한디렉토리/swap
#cd /그디렉토리/swap
#makfile 4092m swapfile
#swap -a  /그디렉토리/swap/swapfile

/etc/vfstab 에 추가
swapfile    -    -    swap    -     no    -


설치가 완료 되면, 웬지 기분상 시스템 재시작.

#su oracle
bash-3.00#lsnrctl
LSNRCTL>stop
LSNRCTL>quit

bash-3.00#sqlplus /nolog
SQL> CONNECT SYS/패스워드 as SYSDBA
SQL> shutdown immediate
SQL> quit

bash-3.00#su -
# reboot

언젠가는 필요 하겠지 라는 생각으로 정리 해  본다.

오라클 자체의 설치 디렉토리 설정등은 의외로 간단해서, 디스크 구성에 따라 적절히 잡아주면 별 탈이 없을 듯 싶다.

( 정윤진,  younjin.jeong@gmail.com )