Oracle 수행 시간 기준 SQL 추출 스크립트



SELECT CASE WHEN EXE_TIME BETWEEN 0 AND 0.9999 THEN '1초 미만' 

              WHEN EXE_TIME BETWEEN 1 AND 2.999 THEN  '1초이상 3초미만'

              WHEN EXE_TIME BETWEEN 3 AND 4.999 THEN  '3초이상 5초미만'

              WHEN EXE_TIME BETWEEN 5 AND 9.999 THEN  '5초이상 10초미만'

              WHEN EXE_TIME BETWEEN 10 AND 19.999 THEN '10초이상 20초미만'

              WHEN EXE_TIME >= 20 THEN '20초이상' END "GBN", 

              COUNT(DISTINCT SQL_ID), SUM(EXECUTIONS) EXE, SUM(ELapsed_time) elasped_time, sum(buffer_gets)

from

(select SQL_TEXT, MODULE,SQL_ID,PARSING_SCHEMA_NAME,

round(sum(Elapsed_time)/1000000/decode(sum(executions),0,1,sum(executions)),2) exe_time,

sum(parse_calls) parse_calls, sum(executions) executions,

sum(Disk_reads) Disk_reads, sum(Buffer_gets) Buffer_gets,

round((sum(Buffer_gets)-sum(Disk_reads))/decode(sum(Buffer_gets),0,1,sum(Buffer_gets)) *100,2) Hit_ratio,

round(sum(cpu_time)/1000000,2) cpu_time, round(sum(Elapsed_time)/1000000,2) Elapsed_time,

trunc(ratio_to_report(sum(Elapsed_time)) over (partition by null) * 100 ,2) "전체비중"

from v$sqlarea

Group by SQL_TEXT, MODULE, SQL_ID,PARSING_SCHEMA_NAME )

group by CASE WHEN EXE_TIME BETWEEN 0 AND 0.9999 THEN '1초 미만' 

              WHEN EXE_TIME BETWEEN 1 AND 2.999 THEN  '1초이상 3초미만'

              WHEN EXE_TIME BETWEEN 3 AND 4.999 THEN  '3초이상 5초미만'

              WHEN EXE_TIME BETWEEN 5 AND 9.999 THEN  '5초이상 10초미만'

              WHEN EXE_TIME BETWEEN 10 AND 19.999 THEN '10초이상 20초미만'

              WHEN EXE_TIME >= 20 THEN '20초이상' END

ORDER BY GBN



블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

Oracle Golden Gate 사전 점검 스크립트


-- Example of running the script:

-- sqlplus <userid>/<pw> @schemaCheckOracle.sql


set null "NULL VALUE"

set feedback off

set heading off

set linesize 132 

set pagesize 9999

set echo off

set verify off


col table_name for a30

col column_name for a30

col data_type for a15

col object_type for a20

col constraint_type_desc for a30


--spool schemaCheckOracle.&&schema_name.out


ACCEPT schema_name char prompt 'Enter the Schema Name > '

variable b0 varchar2(50)

exec :b0 := upper('&schema_name');


spool schemaCheckOracle.&&schema_name..out

SET Heading off

SELECT '------ System Info for: '||:b0 

FROM dual;

set heading on

select to_char(sysdate, 'MM-DD-YYYY HH24:MI:SS') "DateTime: " from dual

/

select banner from v$version

/

SET Heading off

SELECT '------ Database Level Supplemental Log Check - 9i and 10g: ' 

FROM dual;

SET Heading on

SELECT SUPPLEMENTAL_LOG_DATA_MIN MIN, SUPPLEMENTAL_LOG_DATA_PK PK, SUPPLEMENTAL_LOG_DATA_UI UI 

FROM V$DATABASE


select name, log_mode "LogMode", 

supplemental_log_data_min "SupLog: Min", supplemental_log_data_pk "PK",

supplemental_log_data_ui "UI", force_logging "Forced",

supplemental_log_data_fk "FK", supplemental_log_data_all "All",

to_char(created, 'MM-DD-YYYY HH24:MI:SS') "Created"

from v$database

/


select 

platform_name

from v$database

/

set heading off

SELECT '------ Objects stored in Tablespaces with Compression are not supported in the current release of OGG ' 

FROM dual;

SET Heading on

select

TABLESPACE_NAME,

DEF_TAB_COMPRESSION

from DBA_TABLESPACES

where 

DEF_TAB_COMPRESSION <> 'DISABLED';


set heading off

SELECT '------ Distinct Object Types and their Count in the Schema: '||:b0 

FROM dual;

SET Heading on

SELECT object_type, count(*) total

FROM all_objects

WHERE OWNER = :b0

GROUP BY object_type

/



SET Heading off

SELECT '------ Distinct Column Data Types and their Count in the Schema: '||:b0 

FROM dual;

SET Heading on

SELECT data_type, count(*) total

FROM all_tab_columns

WHERE OWNER = :b0 

GROUP BY data_type

/



SET Heading off

SELECT '------ Tables With No Primary Key or Unique Index in the Schema: '||:b0 

FROM dual;

SET Heading on

SELECT distinct(table_name)

FROM all_tables

WHERE owner = :b0 

MINUS

(SELECT obj1.name

FROM SYS.user$ user1,

SYS.user$ user2,

SYS.cdef$ cdef,

SYS.con$ con1,

SYS.con$ con2,

SYS.obj$ obj1,

SYS.obj$ obj2

WHERE user1.name = :b0 

AND cdef.type# = 2 

AND con2.owner# = user2.user#(+)

AND cdef.robj# = obj2.obj#(+)

AND cdef.rcon# = con2.con#(+)

AND obj1.owner# = user1.user#

AND cdef.con# = con1.con#

AND cdef.obj# = obj1.obj#

UNION

SELECT idx.table_name

FROM all_indexes idx

WHERE idx.owner = :b0 

AND idx.uniqueness = 'UNIQUE')

/


SET Heading off

SELECT '------ Tables with no PK or UI and rowsize > 1M in the Schema: '||:b0 

FROM dual;

SET Heading on

SELECT distinct(table_name)

FROM all_tab_columns

WHERE owner = :b0

group by table_name

HAVING sum(data_length) > 1000000

MINUS

(SELECT obj1.name

FROM SYS.user$ user1,

SYS.user$ user2,

SYS.cdef$ cdef,

SYS.con$ con1,

SYS.con$ con2,

SYS.obj$ obj1,

SYS.obj$ obj2

WHERE user1.name = :b0 

AND cdef.type# = 2 

AND con2.owner# = user2.user#(+)

AND cdef.robj# = obj2.obj#(+)

AND cdef.rcon# = con2.con#(+)

AND obj1.owner# = user1.user#

AND cdef.con# = con1.con#

AND cdef.obj# = obj1.obj#

UNION

SELECT idx.table_name

FROM all_indexes idx

WHERE idx.owner = :b0 

AND idx.uniqueness = 'UNIQUE')

/


set heading off

SELECT '------ Tables with NOLOGGING setting ' FROM dual;

SELECT '------ This may cause problems with missing data down stream. Schema: ' ||:b0 FROM dual;

set heading on

select owner, table_name, ' ' "PARTITION_NAME", ' ' "PARTITIONING_TYPE", logging from DBA_TABLES

where logging <> 'YES' and OWNER = :b0

union

select owner, table_name, ' ', partitioning_type, DEF_LOGGING "LOGGING" from DBA_part_tables

where DEF_LOGGING != 'YES' and owner = :b0

union

select table_owner, table_name, PARTITION_NAME, ' ', logging from DBA_TAB_PARTITIONS

where logging <> 'YES' and table_owner = :b0

union

select table_owner, table_name, PARTITION_NAME, ' ', logging from DBA_TAB_SUBPARTITIONS

where logging <> 'YES' and table_owner <> :b0

;



set heading off

SELECT '------ Tables with Deferred constraints.Deferred constraints may cause TRANDATA to chose an incorrect Key ' FROM dual;

SELECT '------ Tables with Deferred constraints should be added using KEYCOLS in the trandata statement. Schema: ' ||:b0 FROM dual;

set heading on

SELECT c.TABLE_NAME,

c.CONSTRAINT_NAME,

c.CONSTRAINT_TYPE,

c.DEFERRABLE,

c.DEFERRED,

c.VALIDATED,

c.STATUS,

i.INDEX_TYPE,

c.INDEX_NAME,

c.INDEX_OWNER

FROM dba_constraints c,

dba_indexes i

WHERE

i.TABLE_NAME = c.TABLE_NAME

AND i.OWNER = c.OWNER

AND c.owner = :b0

AND c.DEFERRED = 'DEFERRED';


set heading off

SELECT '------ Tables Defined with Rowsize > 2M in the Schema: '||:b0

FROM dual;

SET Heading on

SELECT table_name, sum(data_length) row_length_over_2M

FROM all_tab_columns

WHERE OWNER = :b0 

GROUP BY table_name

HAVING sum(data_length) > 2000000

/


SET Heading off

SELECT '------ Tables that will Fail Add Trandata (Only an issue for Oracle versions below Oracle 10G) in the Schema: '||:b0 

FROM dual;

SET Heading on

SELECT distinct(table_name)

FROM dba_tab_columns

WHERE owner = :b0 

AND column_id > 32

AND table_name in

(SELECT distinct(table_name)

FROM all_tables

WHERE owner = :b0 

MINUS

(SELECT obj1.name

FROM SYS.user$ user1,

SYS.user$ user2,

SYS.cdef$ cdef,

SYS.con$ con1,

SYS.con$ con2,

SYS.obj$ obj1,

SYS.obj$ obj2

WHERE user1.name = :b0 

AND cdef.type# = 2

AND con2.owner# = user2.user#(+)

AND cdef.robj# = obj2.obj#(+)

AND cdef.rcon# = con2.con#(+)

AND obj1.owner# = user1.user#

AND cdef.con# = con1.con#

AND cdef.obj# = obj1.obj#

UNION

SELECT idx.table_name

FROM all_indexes idx

WHERE idx.owner = :b0 

AND idx.uniqueness = 'UNIQUE'))

/


SET Heading off

SELECT '------ Tables With CLOB, BLOB, LONG, NCLOB or LONG RAW Columns in the Schema: '||:b0 

FROM dual;

SET Heading on

SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE

FROM all_tab_columns

WHERE OWNER = :b0 

AND data_type in ('CLOB', 'BLOB', 'LONG', 'LONG RAW', 'NCLOB')

/


SET Heading off

SELECT '------ Tables With Columns of UNSUPPORTED Datatypes in the Schema: '||:b0 

FROM dual;

SET Heading on

SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE

FROM all_tab_columns

WHERE OWNER = :b0 

AND (data_type in ('ORDDICOM', 'BFILE', 'TIMEZONE_REGION', 'BINARY_INTEGER', 'PLS_INTEGER', 'UROWID', 'URITYPE', 'MLSLABEL', 'TIMEZONE_ABBR', 'ANYDATA', 'ANYDATASET', 'ANYTYPE')

or data_type like 'INTERVAL%')

/


SET Heading off

SELECT '----- Tables with Compressed data is not supported - in the Schema: '||:b0 

FROM dual;

SET Heading on

SELECT TABLE_NAME, COMPRESSION

FROM all_all_tables

WHERE OWNER = :b0

AND (COMPRESSION = 'ENABLED');


SELECT TABLE_NAME, COMPRESSION

FROM ALL_TAB_PARTITIONS

WHERE TABLE_OWNER = :b0

AND (COMPRESSION = 'ENABLED');


SET Heading off

SELECT '----- Cluster (DML and DDL supported for 9i or later) or Object Tables (DML supported for 10G or later, no DDL) - in the Schema: '||:b0 

FROM dual;

SET Heading on

SELECT TABLE_NAME, CLUSTER_NAME, TABLE_TYPE 

FROM all_all_tables

WHERE OWNER = :b0 

AND (cluster_name is NOT NULL or TABLE_TYPE is NOT NULL)

/


SET Heading off

SELECT '------ IOT (Fully support for Oracle 10GR2 (with or without overflows) using GGS 10.4 and higher) - in the Schema: '||:b0 

FROM dual;

SET Heading on

SELECT TABLE_NAME, IOT_TYPE, TABLE_TYPE 

FROM all_all_tables

WHERE OWNER = :b0 

AND (IOT_TYPE is not null or TABLE_TYPE is NOT NULL)

/


SET Heading off

SELECT '------ Tables with Domain or Context Indexes - in the Schema: '||:b0 

FROM dual;

SET Heading on

SELECT TABLE_NAME, index_name, index_type 

FROM dba_indexes WHERE OWNER = :b0

and index_type = 'DOMAIN'

/


SET Heading off

SELECT '------ Types of Constraints on the Tables in the Schema: '||:b0 

FROM dual;

SET Heading on

SELECT DECODE(constraint_type,'P','PRIMARY KEY','U','UNIQUE', 'C', 'CHECK', 'R', 

'REFERENTIAL') constraint_type_desc, count(*) total

FROM all_constraints

WHERE OWNER = :b0 

GROUP BY constraint_type

/


SET Heading off

SELECT '------ Cascading Deletes on the Tables in the Schema: '||:b0 

FROM dual;

SET Heading on

SELECT table_name, constraint_name

FROM all_constraints

WHERE OWNER = :b0 and constraint_type = 'R' and delete_rule = 'CASCADE'

/


SET Heading off

SELECT '------ Tables Defined with Triggers in the Schema: '||:b0 

FROM dual;

SET Heading on

SELECT table_name, COUNT(*) trigger_count

FROM all_triggers

WHERE OWNER = :b0 

GROUP BY table_name

/

SET Heading off

SELECT '------ Performance issues - Reverse Key Indexes Defined in the Schema: '||:b0

FROM dual;

col Owner format a10

col TABLE_OWNER format a10

col INDEX_TYPE format a12

SET Heading on


select 

OWNER, 

INDEX_NAME,

INDEX_TYPE, 

TABLE_OWNER,

TABLE_NAME, 

TABLE_TYPE, 

UNIQUENESS,

CLUSTERING_FACTOR,

NUM_ROWS,

LAST_ANALYZED,

BUFFER_POOL

from dba_indexes

where index_type = 'NORMAL/REV'

And OWNER = :b0

/


SET Heading off

SELECT '------ Sequence numbers: '||:b0

FROM dual;


COLUMN SEQUENCE_OWNER FORMAT a15

COLUMN SEQUENCE_NAME FORMAT a30

COLUMN INCR FORMAT 999

COLUMN CYCLE FORMAT A5

COLUMN ORDER FORMAT A5

SET Heading on

SELECT SEQUENCE_OWNER,

SEQUENCE_NAME,

MIN_VALUE,

MAX_VALUE,

INCREMENT_BY INCR,

CYCLE_FLAG CYCLE,

ORDER_FLAG "ORDER",

CACHE_SIZE,

LAST_NUMBER

FROM DBA_SEQUENCES

WHERE SEQUENCE_OWNER=UPPER(:b0)

/

set linesize 132


col "Avg Log Size" format 999,999,999

select sum (BLOCKS) * max(BLOCK_SIZE)/ count(*)"Avg Log Size" From gV$ARCHIVED_LOG;


Prompt Table: Frequency of Log Switches by hour and day

SELECT SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),1,5) DAY, 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'00',1,0)),'99') "00", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'01',1,0)),'99') "01", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'02',1,0)),'99') "02", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'03',1,0)),'99') "03", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'04',1,0)),'99') "04", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'05',1,0)),'99') "05", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'06',1,0)),'99') "06", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'07',1,0)),'99') "07", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'08',1,0)),'99') "08", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'09',1,0)),'99') "09", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'10',1,0)),'99') "10", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'11',1,0)),'99') "11", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'12',1,0)),'99') "12", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'13',1,0)),'99') "13", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'14',1,0)),'99') "14", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'15',1,0)),'99') "15", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'16',1,0)),'99') "16", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'17',1,0)),'99') "17", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'18',1,0)),'99') "18", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'19',1,0)),'99') "19", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'20',1,0)),'99') "20", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'21',1,0)),'99') "21", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'22',1,0)),'99') "22", 

TO_CHAR(SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),10,2),'23',1,0)),'99') "23" 

FROM V$LOG_HISTORY 

GROUP BY SUBSTR(TO_CHAR(FIRST_TIME, 'MM-DD-YY HH24:MI:SS'),1,5) 

order by 1;

SET Heading off

SELECT '------ Summary of log volume processed by day for last 7 days: '

FROM dual;

SET Heading on

select to_char(first_time, 'mm/dd') ArchiveDate,

sum(BLOCKS*BLOCK_SIZE/1024/1024) LOGMB

from v$archived_log

where first_time > sysdate - 7

group by to_char(first_time, 'mm/dd')

order by to_char(first_time, 'mm/dd');

/

SET Heading off

SELECT '------ Summary of log volume processed per hour for last 7 days: ' 

FROM dual;

SET Heading on

select to_char(first_time, 'MM-DD-YYYY') ArchiveDate, 

to_char(first_time, 'HH24') ArchiveHour,

sum(BLOCKS*BLOCK_SIZE/1024/1024) LogMB

from v$archived_log

where first_time > sysdate - 7

group by to_char(first_time, 'MM-DD-YYYY'), to_char(first_time, 'HH24')

order by to_char(first_time, 'MM-DD-YYYY'), to_char(first_time, 'HH24');


set heading off

select '* This output may be found in file: schemaCheckOracle.&&schema_name..out' from dual

/


spool off

undefine b0


-- exit


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

차세대분석 (실시간 미래예측을 통한 비즈니스 의사결정)



1. 차세대분석의 개요

 1-1. 정의

   - 실시간 대용량 데이터 분석과 미래 시뮬레이션을 통해 기업의 의사결정 지원을 위한 실시간 분석 기술


 1-2. 등장배경

   - 실시간/대용량 분석 : 실시간 대용량 데이터 분석에 대한 기업의 Needs

   - 연결성 향상 : 통신 기술과 휴대 단말의 Anytime, Anywhere 연결 상태

   - 컴퓨팅 파워 증대 : 클라우드, 그리드 컴퓨팅, 인메모리 컴퓨팅, MPP등 컴퓨팅 파워 증대


2. 차세대분석의 3가지 핵심차원, 분야기술, 처리기술

  2-1. 차세대분석의 3가지 핵심차원


  2-2. 차세대 분석의 주요 분석기법

   1) 소셜 네트워크 분석

     - Neighbor 분석 : NW 구성 각 Node들 간의 표면적 연결상태 파악하는 기본적 분석

     - Centrality 분석 : 한 Node가 NW가 얼마나 중심에 위치하는지에 대한 정도 분석

     - Clique 분석 : NW 구성 Node들 간의 결합력을 바탕으로 군집구조 파악


   2) 패턴기반 정보분석

     - 데이터 수집 : 안정된 패턴인식을 위해 표본 데이터의 수집 범위 및 수집 수행

     - 특정 선택 단계 : 사전지식을 통해 최상의 분류를 위한 특징 선택

     - 모델 선택 단계 : 패터인식 위해 어느 모델을 어떠한 알고리즘에 적용할 것인지를 결정

     - 학습 단계 : 수집 데이터로부터 선택된 모델을 학습을 통해 완전한 모델 구성

     - 인식 단계 : 클래스 혹은 카테고리를 결정하는 단계

  

  2-3. 차세대 분석을 위한 처리 기술

   - Computing Power : 클라우드 컴퓨팅, 그리드 컴퓨팅

   - Real-Time Data 처리 : Streaming DBMS, CEP


3. 차세대분석의 도입 및 활용방안

  - 기업의 경영 이슈 파악 및 도입 프로세스 수립하여 기술 도입

  - 신상품 개발/관리, Risk 관리 및 마케팅 기회 포착을 위해 차세대 분석 기술 도입


'1. IT Story > Basic Studies' 카테고리의 다른 글

BRE(Business Rule Engine)  (0) 2019.04.02
BAM(Business Activity Monitoring)  (0) 2019.04.01
캐즘이론 (Chasm)  (0) 2019.03.13
Gamification (고객을 중독시키는 기술)  (0) 2019.03.11
3D 프린팅 (제조업의 혁신)  (0) 2019.02.24
빅데이터 (Big Data)  (0) 2019.02.21
OR_MAPPING (Object Relational Mapping)  (0) 2019.02.20
드론 (Drone)  (0) 2019.02.19
블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,


[삼일절기념] CGV 영화할인 쿠폰, 일반2D 7천원 관람





​​CGV어플 > MY CGV > 쿠폰함 > 쿠폰등록 > 3031109 입력

동반1인까지 할인받는 7천원 영화 관람 쿠폰을  100% 드립니다.


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

Oracle Session_cached_cursors, Open_cursors 점검 스크립트


select

  'session_cached_cursors'  parameter,

  lpad(value, 5)  value,

  decode(value, 0, '  n/a', to_char(100 * used / value, '990') || '%')  usage

from

  ( select

      max(s.value)  used

    from

      v$statname  n,

      v$sesstat  s

    where

      n.name = 'session cursor cache count' and

      s.statistic# = n.statistic#

  ),

  ( select

      value

    from

      v$parameter

    where

      name = 'session_cached_cursors'

  )

union all

select

  'open_cursors',

  lpad(value, 5),

  to_char(100 * used / value,  '990') || '%'

from

  ( select

      max(sum(s.value))  used

    from

      v$statname  n,

      v$sesstat  s

    where

      n.name in ('opened cursors current', 'session cursor cache count') and

      s.statistic# = n.statistic#

    group by

      s.sid

  ),

  ( select

      value

    from

      v$parameter

    where

      name = 'open_cursors'

  )


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,


Oracle Invalid Compile 스크립트



set heading off

set feedback off

set pages 1000

set verify off

spool allcompile.sql


SELECT 

'alter '||DECODE(object_type,'PACKAGE BODY',

'PACKAGE',object_type)||' '||owner||'.'||object_name||

' compile'||

DECODE(object_type,'PACKAGE BODY',' body;',';')

FROM dba_objects

WHERE object_type in ('VIEW','FUNCTION','TRIGGER','PROCEDURE','PACKAGE','PACKAGE BODY')

AND status='INVALID'

ORDER BY owner,decode

(object_type,'VIEW','A','FUNCTION','B',

'TRIGGER','C','PROCEDURE','D',

'PACKAGE','E','PACKAGE BODY','F')

,object_name

/


spool off



블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

인터넷 속도측정(테스트) TOP 3



 인터넷는 현대 사회에서 반드시 필요한 소통방법들의 기반 기술들로 지속적으로 개발을 거듭해가고 있다. 대한민국은 인터넷 보급 및 속도가 전세계에서 1위로 2위와의 격차가 크게 날정도로 많이 발달해 있는 나라이다. 인터넷은 기가 단위의 전송이 가능해지고 있으며, 4G에서 5G로 넘어가는 길에 서 있는 상황이다. 

 이러한 보급과 속도에도 불구하고 인터넷속도가 끊어지는 곳이 존재하며 다양한 간섭으로 인하여 데이터 손실 및 속도 지연이 발생되고 있는데, 빠른 지역에서 인터넷을 사용하다가 갑자기 느려지면 답답해지는 느낌을 받을 때가 아직은 빈번하게 일어나고 있다.

 가정집이나 이동시에 현재 인터넷 속도 측정을 통하여 자신이 끊김없이 볼 수 있는 컨텐츠들을 고르는 사람들이 늘어나고 있다. 요즘은 영상 컨텐츠가 인기를 타면서 고화질의 영상을 실시간으로 보기 위해서는 넷플릭스 기준으로 최소 25MB이상의 인터넷 속도가 필요한 시대가 되었다. 


[넷플릭스 인터넷 연결 속도 권장사항]

- 초당 0.5메가비트 - 필수 대역폭 연결 속도

- 초당 1.5메가비트 - 권장 대역폭 연결 속도

- 초당 3.0메가비트 - SD 권장 화질

- 초당 5.0메가비트 - HD 권장 화질

- 초당 25메가비트 - UHD 권장 화질


 현재 나의 인터넷 속도의 상태를 확인하기 위한 사이트들은 제한적인 부분이 많아 크게 3곳을 소개하려한다.


1. fast.com

 - 가장 간편하고 가입 없고, 광고도 없어 빠르게 현재 나의 인터넷 속도를 확인할 수 있는 사이트로 유일한것 같다.

 - 사이트에 접근하게 되면 바로 현재 디바이스에 따라 인터넷 속도를 측정해 볼 수 있으며 웹상으로 바로 접근하여 확인해 볼 수 있기 때문에 번거롭게 앱을 설치하지 않아도 되어 좋다.


https://fast.com/ko/


2. Speedcheck

 - speedcheck 사이트를 통해서도 무료로 실시간 인터넷 속도를 확인해 볼 수 있으며 가입없이도 이용이 가능하다.

 - 해당 사이트의 경우에 가입하여 사용할 경우, 기록하는 기능이 있어 추후 내가 쓰고 있는 인터넷의 추이까지 확인해볼 수 있는 사이트이다.


https://www.speedcheck.org/ko/



3. 벤치비(BENCHBEE)

 - 앱설치가 필요한 부분이 있지만, 가장 많이 사용하는 인터넷 속도 측정 앱이다.

 - 많은 통신사 엔지니어도 벤치비 속도측정기를 기준으로 삼을 정도로 서비스를 이용하고 있으며, 측정된 이력까지도 한눈에 볼수 있어 주기적으로 측정하는 사람들에게는 가장 좋은 서비스라고 볼 수 있다.


안드로이드 벤치비 설치 바로가기


아이폰 벤치비 설치 바로가기




각 통신사 사이트 (KT, SK, LG)

 - 각 통신사 별로 사이트에서 인터넷 속도를 측정하고 품질을 확인해 볼 수 있는 사이트를 제공하고 있다. 해당 사이트들은 현재 소속된 인터넷 통신사만 확인이 가능하며 반드시 로그인을 해야한다.

 - 인터넷 속도 품질 측정을 통하여 기준이되는 SLA 미달시에 공식적으로 이의를 제기 할 수 있다. 

 - 생각보다 많은 사람들이 현재 집의 인터넷 속도가 구매된 옵션의 속도를 모두 충족하고 있다고 생각하고 있으나, 현실은 그렇지 않은 경우가 많아 반드시 측정해보길 바란다.

 - 예를 들어 현재 500MB 기준의 인터넷을 신청했다면, 실질적으로는 유선으로는 약 400MB, 무선으로는 350MB 정도의 최대속도를 갖는다고 한다. 소개된 제품의 인터넷 속도가 충족되는지 반드시 확인하면 좋을 것 같다.  


KT 인터넷 속도 측정 바로가기



SK 인터넷 속도 측정 바로가기



LG 인터넷 속도 측정 바로가기



 통신사는 개인의 인터넷 속도의 모니터링을 별도로 하지 않기 때문에 계약된 인터넷 속도를 보장받는 방법은 개인이 직접 확인하는 방법 밖에는 없는 상황이며, 빠른 인터넷을 사용하기 위한 비용을 지불해 놓고 지불된 비용의 절반도 안되는 속도의 인터넷을 사용하는 사람들이 없었으면 좋겠다.


블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,

원더투어X대한항공X롯데제이티비, 대한항공 반값(50%할인) 이벤트




윈더쇼핑 대한항공 반값이벤트 바로가기


원더쇼핑에서 대한항공 창사 50주년 기념으로 대한항공 반값 이벤트를 진행한다.

2/26 오전 10시 오픈, 15분 마다 선착순 50명(총400명)

쿠폰유효기간: 발급 ~ 2월 28일 23시59분59초

블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,