»
S
I
D
E
B
A
R
«
tracking tablespace on oracle
Nov 16th, 2009 by sayo


SELECT
 DT.TABLESPACE_NAME,
 DT.BLOCK_SIZE,
 DT.INITIAL_EXTENT,
 DT.NEXT_EXTENT,
 DT.MIN_EXTENTS,
 DT.MAX_EXTENTS,
 DT.PCT_INCREASE,
 DT.MIN_EXTLEN,
 DT.STATUS,
 DT.CONTENTS,
 DT.LOGGING,
 DT.FORCE_LOGGING,
 DT.EXTENT_MANAGEMENT,
 DT.ALLOCATION_TYPE,
 DT.PLUGGED_IN,
 DT.SEGMENT_SPACE_MANAGEMENT,
 DF.PERCENT_BLOCKS_COALESCED,
 DF.TOTAL_BYTES
FROM
 SYS.DBA_TABLESPACES DT,
 SYS.DBA_FREE_SPACE_COALESCED DF
WHERE
 DT.TABLESPACE_NAME = DF.TABLESPACE_NAME (+)
ORDER BY
 DT.TABLESPACE_NAME
tracking current sql of sid on oracle
Nov 13th, 2009 by sayo


SELECT
sid,
SQL_TEXT,
piece
FROM
v$session se,
sys.v_$sqltext sq
WHERE
se.sql_address = sq.ADDRESS (+) AND
se.SQL_HASH_VALUE = sq.HASH_VALUE (+) AND
sid = 204
ORDER BY
address,
hash_value,
piece
tacking oracle cpu usage
Nov 11th, 2009 by sayo


select s.username "Oracle User",s.osuser "OS User",i.consistent_gets "Consistent Gets",
i.physical_reads "Physical Reads",s.status "Status",s.sid "SID",s.serial# "Serial#",
s.machine "Machine",s.program "Program",to_char(logon_time, 'DD/MM/YYYY HH24:MI:SS') "Logon Time",
w.seconds_in_wait "Idle Time", P.SPID "PROC",
name "Stat CPU", value
from v$session s, v$sess_io i, v$session_wait w, V$PROCESS P, v$statname n, v$sesstat t
where s.sid = i.sid
and s.sid = w.sid (+)
and 'SQL*Net message from client' = w.event(+)
and s.osuser is not null
and s.username is not null
and s.paddr=p.addr
and n.statistic# = t.statistic#
and n.name like '%cpu%'
and t.SID = s.sid
order by 6 asc, 3 desc, 4 desc

Track CPU Usage

table data size on oracle
Nov 6th, 2009 by sayo

1. script

/*
** Table Data Size를 정확히 계산해주는 스크립트. <<박제용>>
**
** 사용법 : @tab_size [table_name]
**
*/
analyze table &1 delete statistics;
analyze table &1 compute statistics;

SELECT GREATEST(4, ceil(NUM_ROWS/
( (round(((1958-(INI_TRANS*23))*((100-PCT_FREE)/100))/AVG_ROW_LEN)))) * 2048) TableSize_Kbytes
FROM user_tables
WHERE table_name = upper(‘&1′);

2. p-sql

[Oracle] TABLE, INDEX 실 데이터 size 구하기

TABLE size 구하기
set pagesize 9999
col owner format a10
col tablespace_name format a20
col table_name format a30
col mb format 99990.99
SELECT OWNER, TABLESPACE_NAME, TABLE_NAME, NUM_ROWS*AVG_ROW_LEN/1024/1024 as MB
FROM DBA_TABLES
WHERE OWNER IN (‘ADPORTAL’,'INTRADBA’,'UWDBA’,'WEBSALES’)
ORDER BY OWNER, TABLESPACE_NAME, TABLE_NAME;
INDEX size 구하기
db_block_size를 LEAF_BLOCKS과 곱한다
select value from v$parameter where name = ‘db_block_size’
set pagesize 9999
col owner format a10
col tablespace_name format a20
col index_name format a30
col mb format 99990.99
SELECT OWNER, TABLESPACE_NAME, INDEX_NAME, LEAF_BLOCKS*8192/1024/1024 as MB
FROM DBA_INDEXES
WHERE OWNER IN (‘ADPORTAL’,'INTRADBA’,'UWDBA’,'WEBSALES’)
ORDER BY OWNER, TABLESPACE_NAME, INDEX_NAME;

TABLE size 구하기
set pagesize 9999
col owner format a10
col tablespace_name format a20
col table_name format a30
col mb format 99990.99

SELECT OWNER, TABLESPACE_NAME, TABLE_NAME, NUM_ROWS*AVG_ROW_LEN/1024/1024 as MB
FROM DBA_TABLES
WHERE OWNER IN ('ADPORTAL','INTRADBA','UWDBA','WEBSALES')
ORDER BY OWNER, TABLESPACE_NAME, TABLE_NAME;

INDEX size 구하기
db_block_size를 LEAF_BLOCKS과 곱한다
select value from v$parameter where name = 'db_block_size'

set pagesize 9999
col owner format a10
col tablespace_name format a20
col index_name format a30
col mb format 99990.99

SELECT OWNER, TABLESPACE_NAME, INDEX_NAME, LEAF_BLOCKS*8192/1024/1024 as MB
FROM DBA_INDEXES
WHERE OWNER IN ('ADPORTAL','INTRADBA','UWDBA','WEBSALES')
ORDER BY OWNER, TABLESPACE_NAME, INDEX_NAME;
selecting is incorrect by incorrect index hash join on oracle
Oct 30th, 2009 by sayo

drop table and index.

create table and index again.

i think, it make incorrect index after adding column.

i don’t know exact reason.

ex)

create table customer (id number);

alter table customer add name varchar2(10);

insert into customer(id,name) values (1,’john’);

select * from customer; –> 1 rows

select id from customer where name = ‘john’; –> 0 rows

ssh를 이용한 rsync
Sep 2nd, 2009 by sayo

1. source, destination server에 인증key를 등록한다.
이걸 안하면 password를 넣으라는 문구가 뜬다.

$ ssh-keygen -d
Generating public/private dsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_dsa):[press enter here]
Enter passphrase (empty for no passphrase): [press enter here]
Enter same passphrase again: [press enter here]
Your identification has been saved in /home/thisuser/.ssh/id_dsa.
Your public key has been saved in /home/thisuser/.ssh/id_dsa.pub.
The key fingerprint is:
2e:28:d9:ec:85:21:e7:ff:73:df:2e:07:78:f0:d0:a0 thisuser@thishost

$ scp /home/thisuser/.ssh//id_dsa.pub remoteuser@remotehost:/home/thisuser/.ssh/authorized_keys

2. rsync로 싱크를 한다.

$rsync -e ’ssh -ax’ -avz –delete –delete-excluded /home/thisuser/automatic-backup/ remoteuser@remotehost:/home/remoteuser/automatic-backup

3. crontab 에 등록하게 되면 일정한 시간에 자동으로 백업을 진행한다.

개발 프로세스 자동화에 매진하다.
Jul 8th, 2009 by sayo

벌써 개발 프로세스 자동화를 위해서 여러가지 자료도 찾아보고 실험도 해오고 있었다. 이번에 지원도 받고 지지도 얻을 수 있는 환경이 된 김에 자동화를 해보려 도전하고 있다.
자동화해야 하는 프로그랭 언어도 java, flex 등 다양하긴 하지만 모두 테스트 모듈이 존재하고 ant를 사용하면 자동화할 수 있는 영역이다.

힘내서 편하게 일할 수 있는 환경을 만들 수 있으면 좋겠다.

아.. 나의 게으름이란.. 이런 걸 꿈꾼다.

»  Substance: WordPress   »  Style: Ahren Ahimsa