2015/04/23 17:36

이글루에서 소스코드 예쁘게 블로깅하는 방법 ETC

블로그 다시 시작하면서 아무래도 DBA다 보니 SQL이나 프로그래밍 소스가 많은데,
이걸 블로깅하려고 하니 너무 난잡하다 ;;

그래서 SyntaxHighlighter를 적용해보려 했더니 이건 이글루에서 스크립트 사용을 못하게 막아놨단다 ;;;;;
http://alexgorbatchev.com/SyntaxHighlighter/download/

결국 대안으로 아래 사이트를 찾았는데 나름 보기 좋게 나와 이걸로 결정...
약간 번거롭지만 url도 외우기 쉽고 그냥 사용하는 것보단 훨 낫겠지 ㅎㅎ
http://tohtml.com/sql/


아래는 기념으로 간단한 테스트

<스크립트 적용 전>

select sum(bytes/1024/1024) Mb,
       segment_name,
       segment_type
  from dba_segments
 where tablespace_name = 'SYSAUX'
   and segment_name like 'WRI$_OPTSTAT%'
   and segment_type='TABLE'
 group by segment_name,
       segment_type
 order by 1 asc;

<스크립트 적용 후>

select sum(bytes/1024/1024) Mb,
segment_name,
segment_type
from dba_segments
where tablespace_name = 'SYSAUX'
and segment_name like 'WRI$_OPTSTAT%'
and segment_type='TABLE'
group by segment_name,
segment_type
order by 1 asc;

2011/09/15 22:58

[SQL Server] DB 복제하기 SQL Server

IT 관련해서 첫 포스팅이네요.
오늘 포스팅 할 내용은 DBA를 하다보면 가장 자주하게 되는 작업 중 하나인 DB Migration 입니다.
(제가 하는 업무 위주로 포스팅 할 계획이니 필요하신 분께 참고가 됐으면 좋겠네요 ^^)

Oracle DB부터 할까 하다가 요새 이쪽에 대해 저도 공부하는 입장에서 MS사의 SQL Server부터 정리하겠습니다.

일단 왜 DBA가 왜 이런 업무를 자주하게 되는지부터 간략히 말씀드리자면
DBA의 가장 큰 Role은 운영입니다.
그리고 이 운영 업무를 잘 하기 위해서는 개발자들에게 확실한 테스트를 거칠 수 있도록 Support하는게 중요한데요.
Test 환경을 구축해 주기 위해 DB 복제가 필요합니다.

테스트 환경을 한 번 만들어 주면 끝나는게 아니라 운영 중에도 고객의 요구사항에 의해
추가적인 개발과 Update가 들어가게 되는데 상황에 따라 운영 서버의 최신 Data를 요구합니다.

그렇기에 개발자의 요청에 따라 최신 운영의 data를 개발에 부어주거나 (복제) 새로 생성해 주게 됩니다.

반대의 경우 처음 개발 프로젝트를 마치고 개발(Test)에서 운영(Live)으로 Go-Live 할 때에도 
개발의 Data를 부어주게 됩니다.

이러한 상황은 간혹 발생하는데 관리해야 할 시스템이 몇 백개가 넘어가면 아무래도 이러한 일이 잦게 되죠.


자 그럼 서론은 여기까지로 하고 DB를 복사하는 방법에 대해 알아보죠.
방법에는 여러 가지가 있을 수 있는데...
제가 자주 쓰는 방법 위주로 설명드릴께요.

가장 Simple한 방법은 SQL Server의 Data와 Log 파일인 mdf, ldf 파일을 원하는 DB로 복사해 주면됩니다.
여기서 주의해야 할 점은 해당 DB를 잠시 Offline 상태로 바꿔줘야 한다는 점 인데요.
Online 상태의 DB는 아무도 사용하지 않는다고 해도 DB 내부적으로 여러가지 작업을 하고 있기 때문에
파일을 쓰거나 복사 할 수가 없습니다.
윈도우 상의 해당 파일을 해당 서버로 옮긴 후 대상 DB에서 sp_attach_db 를 이용해 파일을 추가해주면 완료.
   EXEC sp_attach_db @dbname N'pubs',  
   
@filename1 N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'

   
@filename2 
N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'   

하지만 서비스를 잠시 내려야 한다는 점은 관리자에겐 상당한 부담이 될 수 있는데요.
이 방법은 24시간 Live가 아니어도 되는 DB의 경우에만 사용해 주세요.

아래는 그냥 명령어에 대한 설명이니 참고만 하세요.


sp_attach_db

서버에 데이터베이스를 첨부합니다.

구문

sp_attach_db [ @dbname 'dbname' ,
    
 [ @filename1 'filename_n,...16 ]

인수

[@dbname ='dbname'

서버에 첨부될 데이터베이스의 이름입니다. 이 이름은 고유해야 합니다. dbname은 sysname이며 기본값은 NULL입니다.

[@filename1 ='filename_n'

데이터베이스 파일 경로를 포함한 물리적 이름입니다. filename_n은 nvarchar(260)이며 기본값은 NULL입니다. 16개까지 파일 이름을 지정할 수 있습니다. 매개 변수 이름은 @filename1에서 시작하여 @filename16까지 증가합니다. 파일 이름 목록은 데이터베이스의 다른 파일을 지정하는 시스템 테이블이 들어 있는 주 파일을 적어도 하나 이상 포함해야 합니다. 또한 목록은 데이터베이스가 분리된 다음 이동된 모든 파일을 포함해야 합니다.

반환 코드 값

0(성공) 또는 1(실패)

결과 집합

없음

비고

 명시적 sp_detach_db 작업을 사용하여 서버에서 이전에 분리된 데이터베이스만이 sp_attach_db를 사용할 수 있습니다.17개 이상의 파일을 지정해야 하는 경우에는 FOR ATTACH 절이 있는 CREATE DATABASE를 사용하십시오.

데이터베이스가 분리된 서버 외의 서버에 데이터베이스를 첨부한 경우 및 분리한 데이터베이스를 복제할 수 있는 경우, sp_removedbreplication을 실행하여 데이터베이스에서 복제본을 제거해야 합니다.

사용 권한

sysadmin 고정 서버 역할의 구성원만이 이 프로시저를 실행할 수 있습니다





두번째로는 Live DB에서 주로 사용하는 방법인데요.

중요한 DB일 수록 자주 Full Backup과 Transaction Log Backup 등으로 백업을 받습니다. (회사 정책에 따라 달라요)

이를 이용해서 간단하게 복사가 가능합니다.

먼저 해당 DB의 백업 파일(주로 *.bak)을 대상 DB로 복사합니다.

그리고 Restore(복원)하는 원리로 DB를 생성하게 됩니다.


일단 백업 받은 파일(*.bak)의 내용을 확인합니다.

--백업세트에포함된파일목록확인

RESTORE FILELISTONLY

FROMDISK = 'd:\Backup\MESDB.bak'

 

해당 쿼리를 돌리면 실제 백업받은 DB의 mdf와 ldf 명 등을 확인 할 수 있습니다.

이를 바탕으로 아래 처럼 복원을 시작합니다. 


--풀백업복원

RESTOREDATABASE MESDB

FROMDISK = 'd:\Backup\MESDB.bak'

WITH

NORECOVERY,

MOVE'MESDB' TO 'd:\test\MESDB.mdf',

MOVE'MESDB_log' TO 'd:\test\MESDB_log.ldf',

stats= 1

GO

  --로그백업복원

RESTORELOG MESDB

FROMDISK = 'd:\Backup\MESDB_log.trn'

 


참고로 NORECOVERY 옵션을 사용하면 추가로 트랜잭션 로그 백업 받은 내용도 이어서 복원이 가능합니다.
bak 파일 복원 후에도 아직 Recovery 상태가 아니다라고 표시해 주는 옵션입니다.

몇 시간 단위까지 복원 할 이유가 없다면 NORECOVERY 옵션을 제거하면 바로 DB 복제(복원)를 완료 할 수 있습니다.

여기까지 마치면 DB 목록에서 아래와 같이 새로 생성된 DB를 확인 할 수 있습니다. :)


오늘은 여기까지 정리하고 다음에 기회가 되면 DB 백업에 대해서 정리해 보도록 할꼐요.
그럼 편안한 밤 되세요.


2011/09/15 10:10

타임스퀘어 벙커파티 당첨!! It's my life

개인적으로 가수들 중에 JK 형님미래 누님을 엄청나게 좋아한다 :)
그래서인지 운이 좋게도 매년 이 분들의 파티에 참석 할 수 있었다.
'09년에는 스니커즈에서
'10년도 역시 스니커즈에서
'11년은 우연찮게도 타임스퀘어 이벤트 파티에 당첨됐다.

내일 저녁인데 교통사고 때문에 다리는 불편하지만... (그와중에 클럽도 다녀온 내가 아니더냐 -_-+)
신나게 놀고 와야겠다. 다녀와서 후기 남길께요 :)
아 기대된다.

2011/09/14 23:10

[Hiphop] Travie McCoy - Billionaire (ft.Bruno mars) What I listen to

왠지 기운이 없어 오늘은 재미난 곡으로 한 번.
이 곡도 작년(2010)에 꽤 유명해 졌던 곡인데요. 
사실 Travie McCoy 보다는 Featuring한 Bruno Mars개인적으로 좋아해서 :)

노래도 전반적으로 흥겨운 랩과 감미로운 Bruno Mars의 노래로 이어지는데
듣다보면 어느새 무한 반복 하고 있는 자신을 발견할 지도 몰라요 +_+

Travie McCoy - Billionaire (feat. Bruno Mars)

I wanna be a billionaire so fuckin bad
난 정말 엿같이 억만장자가 되고 싶어

Buy all of the things I never had
내가 한번도 가져본적 없는 것들을 모두 사고

Uh, I wanna be on the cover of Forbes magazine
포브스 잡지 커버에 실리고 싶어

Smiling next to Oprah and the Queen
오프라와 퀸(락벤드) 옆에서 미소지으며

Oh every time I close my eyes
내가 눈을 감을 때마다

 

I see my name in shining lights
화려한 조명속의 내 이름이 보여

A different city every night oh
매일 밤마다 다른 도시에서

I swear the world better prepare
맹세컨데 이 세상은 보다 더 준비해야 될꺼야

For when I’m a billionaire
내가 억만장자가 되면

Yeah I would have a show like Oprah
그래, 오프라처럼 쇼를 하나 할거야

I would be the host of everyday Christmas
매년 크리스마스의 후원자가 될거야

 

Give Travie a wish list
내게 소원명단을 적어내

I’d probably pull an Angelina and Brad Pitt
난 아마 안젤리나와 브레드 피트 같은 짓을 하겟지

And adopt a bunch of babies that ain’t never had shit
그리고 아직 철도 안든 아기들을 잔뜩 입양하겠지

Give away a few Mercedes like here lady have this
언니 이거 가져 하고 메르세데스 차 몇대는 그냥 줘버리고

And last but not least grant somebody their last wish
그리고 마지막이지만 하찮지 않은, 누군가의 마지막 소원을 들어주고

 

Its been a couple months that I’ve single so
내가 솔로 된지 한 두달 쯤 됐으니깐

you can call me Travie Claus minus the Ho Ho
날 트라비클로스라고 불러도 돼. 호호는 빼고

Ahaa get it, I’d probably visit where Katrina hit
알아듣겠어? 난 아마도 카트리나 폭풍이 지나간 자리를 방문하겠지

and damn sure do a lot more than FEMA did
그리고 젠장, 연방재난관청보다야 훨씬 더많으일을 하겠지

Yeah can’t forget about me stupid
그래. 왠만큼 멍청하지 않고서야 날 잊을일은 없을거야

Everywhere I go Imma have my own theme music
내가 가는 곳마다 난 나만의 주제가를 만들어 놓을 테니까

 

Oh every time I close my eyes
내가 눈을 감을 때마다

I see my name in shining lights
화려한 조명속의 내 이름이 보여

A different city every night oh
매일 밤마다 다른 도시에서

I swear the world better prepare
맹세컨데 이 세상은 보다 더 준비해야 될꺼야

for when I’m a billionaire
내가 억만장자가 되면

oh oooh oh oooh for when I’m a Billionaire
내가 억만장자가 되면

 

oh oooh oh oooh~
오 오 오 오~

I’ll be playing basketball with the President
난 대통령과 같이 농구를 하고 있을거야

Dunking on his delegates
그의 대의원들에게 덩크슛을 날리겠지

then I’ll compliment him on his political etiquette
그리고나서 그의 정치성향에 대해 한마디 할거야

Toss a couple milli in the air just for the heck of it
한 2백만 달러좀 심심하니깐 공중에 던져보고

but keep the fives, twentys tens, and bens completely separate
하지만 5,20,10,100달러 짜리는 제대로 나눠둬

And yeah I’ll be in a whole new tax bracket
난 완전히 새로운 과세 등급안에 들게 될거야

 

We in recession but let me take a crack at it
지금은 불경기지만 한 번 내가 손을 대볼게

I’ll probably take whatever’s left and just split it up
난 아마 뭐든 내게 남은 돈을 가져와 그냥 나눌꺼야

So everybody that I love can have a couple bucks
그래서 내가 사랑하는 모든 이들이 몇달러는 더 가질 수 있도록

And not a single tummy around me would know what hungry was
그리고 내 주변의 단 하나의 배도 배고픔이라는 걸알지 못하도록

Eating good sleeping soundly
잘먹고 편히 잘자도록...

I know we all have a similar dream
나도 우리모두가 비슷한 꿈이 있다는걸 알어

 

Go in your pocket pull out your wallet
네 주머니 속으로 들어간 지갑을 꺼내

And put it in the air and sing
공중에 던지고 노랠 불러

I wanna be a billionaire so fuckin bad
난 정말 엿같이 억만장자가 되고 싶어

buy all of the things I never had
내가 한번도 가져본적 없는 것들을 모두 사고

uh, I wanna be on the cover of Forbes magazine
난 포브스 잡지 커버에 실리고 싶어

smiling next to Oprah and the Queen
오프라와 퀸 옆에서 미소지으며

Oh every time I close my eyes
내가 눈을 감을 때마다

 

I see my name in shining lights
화려한 조명속의 내 이름이 보여

A different city every night oh
매일 밤마다 다른 도시에서

I swear the world better prepare
맹세컨데 이 세상은 보다 더 준비해야 될꺼야

for when I’m a billionaire
내가 억만장자가 되면

 

oh oooh oh oooh for when I’m a Billionaire
내가 억만장자가 되면


oh oooh oh oooh~
오 오 오 오~

I wanna be a billionaire so fuckin bad
난 정말 엿같이 억만장자가 되고 싶어


 


2011/09/13 21:13

[Instrument Hiphop] July - My Soul What I listen to

개인적으로 음악을 장르 구분하지 않고 즐겨 듣는 편인데...(잘하지는 못하지만 연주하는 것도 좋아해요 ^^)
이 곡은 정말 제가 자주 듣는 곡이예요.

아는 사람은 아는 곡인데 모르는 분들도 꽤 있는 듯해서 꼭 들려주고 싶어서 포스팅 해요.
듣는 순간 '어? 이거 어디서 많이 들어본...'

아마 많은 홈페이지나 게시글의 배경음악 (일명 브금 BGM)으로 오며가며 들었을 겁니다.
일단 감상부터 하시죠!!


장르에 왠 HipHop이 들어가지 하시는 분들!!
아마 Instrument Hiphop이란 장르 자체가 생소하실 텐데요.

쉽게 나름대로 표현하자면
Instrument Hiphop = 연주곡이지만 HIPHOP의 비트를(혹은 느낌을) 가진 음악 장르
라고 할 수 있겠네요.

My soul이란 곡 자체는 피아노 곡으로 잔잔하게 시작해서 드럼 비트와 함께 곡이 진행 되는데
듣는 날의 기분에 따라(분위기에 따라) 상쾌함이나 힘이나게 해주는... 혹은 감성적으로 만드는 곡인 것 같아요.

JULY라는 작가는 디지털 앨범으로 활동을 하고 비슷한 장르를 추구하는 다른 아티스트 분들도 계신데
전 이 분 느낌이 너무 좋아요 :)
반복되는 멜로디에 몇 몇 가수분들이 가사를 입혀 노래를 내기도 했었죠.

혹시 피아노 치시는 분들을 위해 악보도 함께 :)
(저작권에 문제가 될 시 바로 내리겠습니다-)

1 2