root로 로그인한 후 $ORACLE_HOME 디렉토리에서 root.sh 실행








Posted by 하이안
,

IP 변경 후 EM 재구성

emca -config dbcontrol db -repos recreate




Posted by 하이안
,

접속 session 수와 트랜잭션 수를 나타내는 sessions, transactions 파라미터는
processes 파라미터의 영향을 받음 (약 1.5배 정도)



SQL> alter system set processes=### scope=spfile;
SQL> shutdown immediate
SQL> startup







Posted by 하이안
,

Oracle 11g EM 재설치

ORACLE 2010. 9. 17. 16:39

상태 확인
emctl status dbconsole
emctl status agent

중지
emctl stop dbconsole

제거
emca -deconfig dbcontrol db -repos drop

재설치
emca -config dbcontrol db -repos create

시작
emctl start dbconsole

-------------------------------------------------------------------------------------------------------
재설치 도중 오류가 발생할 경우 아래와 같이 조치

drop user SYSMAN cascade;
drop public synonym SETEMVIEWUSERCONTEXT;
drop role MGMT_USER;
drop PUBLIC SYNONYM MGMT_TARGET_BLACKOUTS;
drop user MGMT_VIEW;

그리고 아래 쿼리 실행하여 synonym 모두 삭제해준다.
select 'drop public synonym '||synonym_name||';' from dba_synonyms where table_owner = 'SYSMAN';

em config 제거하고
emca -deconfig dbcontrol db

재설치 다시 시도
emca -config dbcontrol db -repos create


※ 설치 도중 DB 연결이 잘 안되거나 하는 오류가 발생할 경우 $ORACLE_HOME\bin\relink all 실행 한 번 해준다.
    그래도 안되면 hostname이 문제가 될 경우가 많으니 hostname을 모두 IP address로 변경해준다.
    (환경변수인 ORACLE_HOSTNAME, 리스너, TNSNAME 포함)


Posted by 하이안
,
emca -config dbcontrol db






Posted by 하이안
,

Oracle Rollup 팁

ORACLE 2010. 7. 12. 10:15
■ 소계 합계 구할 경우

select a, b, sum(c)
from table1
group by rollup(a, b);



■ 소계는 제외하고 합계만 구할 경우

select a, b, sum(c)
from table1
group by rollup((a, b));





Posted by 하이안
,
select num
, substr(max(sys_connect_by_path(''''||data||'''', ', ')), 2) as data
from (
select num
, data
, row_number() over(partition by num order by data) rn
from table
)
start with rn = 1
connect by prior num = num and prior rn = rn - 1
group by num






Posted by 하이안
,
ORA-12514 TNS 리스너가 현재 접속 기술자에 요청된 서비스를 알지 못함



listener.ora 파일을 오픈한 후 아래와 같이 변경

1. (SID_NAME = PLSExtProc)  →  (SID_NAME = SID 이름)

2. (PROGRAM = extproc)  →  삭제



그 후 리스너 재시작한다.


Posted by 하이안
,

Oracle 내장함수

ORACLE 2009. 4. 14. 11:52

1. 숫자함수

CEIL(n) : 주어진 값보다는 크지만 가장 근접하는 최소값을 구하는 함수
FLOOR(n) : 주어진 값보다 작거나 같은 최대 정수값을 구하는 함수
ROUND(n, [m]) : n값의 반올림 (m은 소숫점 아래 자릿수)
TRUNC(n, m) : n값을 m 소숫점 자리로 반내림한 값 반환
MOD(m, n) : m을 n으로 나누어 남은 값 반환 (n이 0일 경우 m을 반환)
ABS(n) : 절대값
EXP(n) : 주어진 값의 e의 승수 (e는 2.171828183...)
LN(n) : 주어진 값의 자연로그 값
POWER(m, n) : m의 n승
SIGN(n) : n<0일 경우 -1, n=0일 경우 0, n>0일 경우 1
SQRT(n) : n값의 루트값 (n은 양수)



2. 문자열 처리함수

CONCAT(char1, char2) : 문자열 결합 ("||" 연산자)
INITCAP(char) : 주어진 문자열의 첫 번째 문자를 대문자로 변환
LOWER(char) : 문자열을 소문자로 변환
UPPER(char) : 문자열을 대문자로 변환
LPAD(char1, n [,char2]) : 왼쪽에 문자열을 끼어 놓는 역할 (n은 반환되는 문자열의 전체 길이를 나타내며, char1의 문자열이 n보다 클 경우 char1을 n개 문자열 만큼 반환)
RPAD(char1, n [,char2]) : 오른쪽에 문자열을 끼어 놓는 역할
SUBSTR(char, m ,[n]) : m번째 자리부터 길이가 n개인 문자열을 반환 (m이 음수일 경우에는 뒤에서 반대 방향으로)
LENGTH(char1) : 문자열 길이
REPLACE(char1, str1, str2) : 문자열의 특정 문자를 다른 문자로 변환
INSTR : 문자열이 포함되어 있는지를 조사하여 문자열의 위치를 반환 (지정한 문자열이 발견되지 않으면 0이 반환)
TRIM : 특정 문자 제거 (제거할 문자를 입력하지 않으면 기본적으로 공백 제거)

-- TRIM 예제
SQL>SELECT TRIM('B' FROM 'ABCDEFG') FROM dual;



3. 날짜 처리함수

LAST_DAY(d) : 지정한 일자에 해당하는 달의 마지막 일자 반환
ADD_MONTHS(a, b) : a의 날짜에 b의 개월 수를 더한 값을 반환
MONTH_BETWEEN(a1, a2) : a1과 a2 사이의 개월 수 반환
ROUND(d[,F]) : F에 지정된 단위로 날짜를 반올림 (F가 연도라면 연도 단위로 반올림)

-- ROUND 예제 : '2009/04/13' 의 년도인 2009을 반환
SQL>SELECT ROUND(TO_DATE('2009/04/13'), 'YEAR') FROM dual;



4. 변환함수

TO_CHAR : DATE, NUMBER를 VARCHAR2 타입으로 변환
TO_DATE : CHAR, VARCHAR2를 DATE 타입으로 변환
TO_NUMBER : CHAR, VARCHAR2를 NUMBER 타입으로 변환



기타함수

NVL

DECODE : 형식은 DECODE(VALUE, IF1, THEN1, IF2, THEN2...)

GREATEST : 검색값 중에서 가장 큰 값을 반환
LEAST : GREATEST 함수와 반대로 가장 작은 값을 반환
VSIZE : 해당 문자의 BYTE 수 반환 (해당 문자가 NULL이면 NULL 반환)

-- 가장 큰수/가장 작은수 반환 예제
SQL>SELECT GREATEST(10, 100, 5, -7) FROM dual;
SQL>SELECT LEAST(10, 100, 5, -7) FROM dual;







Posted by 하이안
,

SQL> create undo tablespace "UNDOTBS" datafile '/oracle/KED/sapdata1/undotbs.dbf' SIZE 10M;
Tablespace created.


SQL> alter system set undo_tablespace=UNDOTBS;
System altered.


SQL> drop tablespace PSAPUNDO including contents and datafiles;
Tablespace dropped.


SQL> create undo tablespace "PSAPUNDO" datafile '/oracle/KED/sapdata1/undo_1/undo.data1' size 8192M;
Tablespace created.


SQL> alter system set undo_tablespace=PSAPUNDO;
System altered.


SQL> drop tablespace UNDOTBS including contents and datafiles;
Tablespace dropped.





Posted by 하이안
,