Archive for the ‘서버관리, server management’ Category.
2009/03/26, 11:09 오전
DB 핸들링을 하다 보면 Plan table을 참조하는 경우가 많습니다. Operation 중에 모르는 것도 나오더군요. 그래서 찾아봤는데 일단 참조할 만한 내용을 첨부합니다. 아래 내용도 자세한 설명을 좀 더 붙여야 할 듯 한데.. 음.. 일단 끝. -_-
발췌 http://www.dbcore.net/~corenet/education/oraclelec/tuning/appendix2.html
▶ Data Bloick Format
| OPERATION |
OPTION |
설명 |
| AGGREGATE |
GROUP BY |
그룹함수(SUM, COUNT 등)를 사용하여 하나의 로우가 추출되도록 하는 처리 |
| AND-EQUAL |
|
인덱스 머지를 이용하는 경우 중복 제거, 단일 인덱스 칼럼을 사용하는 경우 |
| CONNECT BY |
|
CONNECT BY를 사용하여 트리구조로 전개 |
| CONCATENATION |
|
단위 액세스에서 추출한 로우들의 합집합을 생성(UNION-ALL) |
| COUNTING |
|
테이블의 로우 수를 센다. |
| FILTER |
|
선택된 로우에 대해서 다른 집합에 대응되는 로우가 있다면 제거하는 작업 |
| FIRST ROW |
|
조회 로우 중에 첫 번째 로우만 추출한다. |
| FOR UPDATE |
|
선택된 로우에 락(LOCK)을 지정한다. |
| INDEX* |
UNIQUE SCAN |
UNIQUE 인덱스를 사용(단 한 개의 로우를 추출) |
| RANGE SCAN |
NON-UNIQUE한 인덱스를 사용(한개 이상의 로우) |
RANGE SCAN
DESCENDING |
RANGE SCAN하고 동일하지만 역순으로 로우를 추출 |
| INTERSECTION |
|
교집합의 로우를 추출한다.(같은 값이 없다) |
| MERGE JOIN+ |
|
먼저 자신의 조건만으로 액세스한 후 각각을 소트하여 머지해 가는 조인 |
| OUTER |
위와 동일한 방법으로 OUTER JOIN을 한다. |
| MINUS |
|
MINUS 함수를 사용한다. |
| NESTED LOOPS+ |
|
먼저 어떤 드라이빙 테이블의 로우를 액세스한 후 그 결과를 이용해 다른 테이블을 연결하는 조인 |
| OUTER |
위와 동일한 방법으로 OUTER JOIN을 한다. |
| PROJECTION |
|
내부적인 처리의 일종 |
| REMOTE |
|
다른 분산 데이타베이스에 있는 객체를 추출하기 위해 데이타베이스 링크를 사용하는 경우 |
| SEQUENCE |
|
시퀀스를 액세스한다. |
| SORT |
AGGREGATE |
그룹함수(SUM, COUNT 등)를 사용하여 하나의 로우가 추출되도록 하는 처리 |
| UNIQUE |
같은 로우를 제거하기 위한 소트 |
| GROUP BY |
액세스 결과를 GROUP BY하기 위한 소트 |
| JOIN |
머지 조인을 하기 위한 소트 |
| ORDER BY |
ORDER BY를 위한 소트 |
| TABLE ACCESS* |
FULL |
전체 테이블 스캔 |
| CLUSTER |
클러스터 액세스 |
| HASH |
키값에 대한 해쉬 알고리즘을 사용 |
| BY ROWID |
ROWID를 이용하여 테이블을 추출 |
| UNION |
|
두 집합의 합집합을 구한다.(중복없음)
항상 전체 범위를 구한다. |
| VIEW |
|
어떤 처리에 의해 생성되는 가상의 집합(뷰)에서 추출한다.(주로 서브쿼리에 의해서 수행된 결과) |
* access methods + join operations
2009/03/01, 7:09 오전
간만에 리눅스 박스를 셋팅하게 되었습니다. Fedora 10이 나왔길래 그냥 해보고 안되면 하던거 해야지 하는 심정으로 설치를 했는데, 왠걸.. SELinux 셋팅에 신경을 안써서 그런지(사실 다음.. 다음.. 이렇게 했으니..) 제가 사용할 계정(myid)로는 sudo가 안되더군요.
myid is not in the sudoers file.
이렇답니다. 그래서 sudoers 파일 좀 갱신해줄까 했는데, 그 파일은 root 소유이니 사용이 불가능하죠. 그래도 한번 해봤습니다.
su – root
어라라.. 되네요. 뭐, 가끔은 쉽게 일이 풀릴때도 있나봅니다. 그럼 sudoers 파일을 고쳐주면 되겠군요. 방법은 여러가지 인데, sudoers 파일에 그룹으로 권한을 주고 해당 그룹에 제 계정을 참가시면 되겠다 싶더라구요. 선택한 그룹은 wheel입니다. (wheel 이라는 그룹이 사용된 이유나 역사가 따로 있는데 언급하지는 않겠습니다. -_-; 키워드는 BSD.) 어쨋든..
vi /etc/sudoers
sudoers 파일의 내용을 보면 이미 다음과 같은 행이 있을 겁니다.
#%wheel ALL=(ALL) ALL
앞에 “#”를 지워서 주석에서 실제 내용으로 바꿔주면 되겠지요. 그리고 group에 myid를 추가합니다.
vi /etc/group
요 부분을 수정하면 되죠.
간단하죠? 이제 myid로 sudo 명령어를 사용할 수 있습니다.
2009/03/01, 5:49 오전
간만에 리눅스 셋팅을 다시해야 했는데, 하는 김에 yum에 대한 정리를 해야 하겠더군요. fedora를 사용한다면 yum을 사용하게 되니까요.
about YUM
Yum은 rpm기반의 시스템을 위한 자동 업데이터이자 패키지 설치/삭제도구입니다. Yum은 자동적으로 의존성을 처리해주며 rpm 패키지들을 안전하게 설치, 삭제 및 업데이트하기 위해 반드시 해야할 일들을 스스로 해결합니다. 또한 Yum은 이미 설치되었거나 혹은 저장소에 설치가능한 패키지에 관한 정보를 효율적이고 쉽게 검색해옵니다. Yum은 rpm이나 다른 도구들처럼 일일이 수동으로 업데이트할 필요가 없으므로 수 많은 시스템들을 더욱 관리하기 쉽게 해줍니다. 한 조직 전체를 통괄하는 규모를 단지 한 두 명만으로 중앙집중적인 패키지 관리를 할 수 있도록, 패키지 그룹, 다수의 저장소, 대체 저장소 및 그 이상을 Yum이 관리해줍니다.
– KLDP Yum Howto 에서 발췌
1. 새로운 패키지 설치
# yum install package1 [package2]
# yum groupinstall mysql
2. 설치된 패키지 업데이트
# yum update [package1] [package2]
3. 설치된 패키지에 대한 정보
# yum info package1
# yum info updates
# yum check-update
# yum list
# yum list installed
4. 설치된 패키지 제거
# yum remove package1 [package2]
# yum groupremove mysql