반응형


 

    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist

 

 

http://blog.naver.com/gogojinny80?Redirect=Log&logNo=110076620135

를 참고 하여 아래 명령어를 실행

 

 

    sqlplus /nolog

 

    sql>connect sys/비밀번호 as sysdba       //    conn sys/as sysdba

    sql>startup

 

 

하지만 실패..

왜이런 에러가 뜨는지 본에러 내용이 표출되었다.

 

ORA-01565

spfile을 불러 올 수 없어 에러가 나는것 같았다.

확실히 어제 nls_sort, nls_comp 파라메터를 추가 시켜주려고 수정했던것이 생각났다.

 

http://blog.naver.com/langve/80099521224

 

위 글로 부터

 

spfile : 환경변수를 저장한 2진 파일

pfile   : 환경변수를 저장한 텍스트 파일

 

파라미터 저장 파일 : [orahome]/dbs/spfile[sid].ora

                             8i 까지는 메모장같은것으로 위의 파일을 열어 수정 할 수 있었지만

                             9i 부터는 명령어를 통해서만 수정 가능하다.

                             파라미터 파일이 있어야 오라클이 구동 1단계를 커쳐 노마운트를 넘어 갈 수 있으므로

                             오라클이 구동되지 않고 v$ 내용마자 찾을 수 없다면 파라미터 파일을 고쳐야 한다.

이라는 정보를 얻었다.

 

어제 명령어로 수정한 spfile을 수정사항 복구를 위해 에디트플러스로 수정을 하여 발생했다는 원인을 파악 할 수 있었다.

그래서 에디트플러스로 파일을 열때 인코딩형식을 물어봤군..

 

이제는 손상된 spfile을 복구시키는 방법을 찾았다.

http://cafe.naver.com/oracle1004/108

http://blog.naver.com/meldin/60090587998

 

두글을 참고 하여 아래와 같은 절차를 통했다.

 

SQL> startup mount pfile=C:\oraclexe\app\oracle\product\10.2.0\server\config\scr
ipts\init.ora;
ORACLE 인스턴스가 시작되었습니다.

Total System Global Area  805306368 bytes
Fixed Size                  1289996 bytes
Variable Size             209715444 bytes
Database Buffers          591396864 bytes
Redo Buffers                2904064 bytes
데이터베이스가 마운트되었습니다.
SQL> create spfile from pfile='C:\oraclexe\app\oracle\product\10.2.0\server\conf
ig\scripts\init.ora';

파일이 생성되었습니다.

SQL> shutdown immediate;
ORA-01109: 데이터베이스가 개방되지 않습니다


데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.
SQL> startup
ORACLE 인스턴스가 시작되었습니다.

Total System Global Area  805306368 bytes
Fixed Size                  1289996 bytes
Variable Size             209715444 bytes
Database Buffers          591396864 bytes
Redo Buffers                2904064 bytes
데이터베이스가 마운트되었습니다.

데이터베이스가 열렸습니다.
SQL> shutdown immediate;
데이터베이스가 닫혔습니다.
데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.
SQL> startup
ORACLE 인스턴스가 시작되었습니다.

Total System Global Area  805306368 bytes
Fixed Size                  1289996 bytes
Variable Size             209715444 bytes
Database Buffers          591396864 bytes
Redo Buffers                2904064 bytes
데이터베이스가 마운트되었습니다.
데이터베이스가 열렸습니다.
SQL>

 

에러 해결.

반응형

'코드자료실 > database' 카테고리의 다른 글

[oracle] 리눅스에서 덤프파일 사용  (0) 2013.03.12
[oracle] 문자 조작 함수  (0) 2013.02.20
[oracle] delete data 복구  (0) 2013.02.12
[database] varchar2 vs nvarchar2  (0) 2013.01.25
[Oracle] 페이징 쿼리  (0) 2012.12.23
블로그 이미지

cocy

조금은 가볍게! 시작은 새롭게!

,
반응형

[오라클 덤프 exp / imp]

 

1. DB 서버으로 접속 (ex 리눅스)

 

2. root 권한으로 변경

  - su-

 

3. 오라클 유저로 변경

  - su - oracle

 

4. 오라클 sqlplus 실행 

  - sqlplus "/as sysdba"

5. 해당 유저의 데이터를 export

  - exp 유저명/패스워드 file=파일명.dmp full=y;

 

6. 삭제할 유저가 사용하던 tablespace 확인(같은 테이블스페이스 지정시)

  - select DEFAULT_TABLESPACE from dba_users where username= 삭제할유저명

 

7. 유저 삭제 (기존 유저로 import 할 시 유저가 사용하던 테이블 모두 삭제되었는지 확인)

  - drop user 삭제할유저명 cascade;

 

8. import 받을 유저를 생성

  - CREATE USER 유저명 IDENTIFIED BY 패스워드 DEFAULT TABLESPACE 테이블스페이스명 TEMPORARY TABLESPACE TEMP;

 

9. 생성한 유저에게 권한부여

  - grant connect, resource, dba to 유저명;

 

10. 생성한 유저에게 import

  - imp 유저명/패스워드 file=파일명.dmp full=y;


반응형

'코드자료실 > database' 카테고리의 다른 글

[oracle] spfile 복구방법  (0) 2013.03.13
[oracle] 문자 조작 함수  (0) 2013.02.20
[oracle] delete data 복구  (0) 2013.02.12
[database] varchar2 vs nvarchar2  (0) 2013.01.25
[Oracle] 페이징 쿼리  (0) 2012.12.23
블로그 이미지

cocy

조금은 가볍게! 시작은 새롭게!

,
반응형

<대문자 조작 함수>

 

 

- LOWER : 대소문자 또는 대문자 문자열을 소문자로 변환합니다.

- UPPER : 대소문자 또는 소문자 문자열을 대문자로 변환합니다.

- INITCAP : 각 단어의 첫 문자를 대문자로, 나머지 문자는 소문자로 변환합니다.

 

 

 

 

<문자 조작 함수>

 

 

 

- CONCAT : 값을 결합합니다. CONCAT에는 파라미터를 두 개만 사용할 수 있습니다.

- SUBSTR : 지정한 길이의 문자열을 추출합니다.

- LENGTH : 문자열의 길이를 숫자 값으로 표시합니다.

- INSTR : 지정한 문자의 위치를 숫자로 표시합니다.

- LPAD : 문자값을 오른쪽으로 정렬하고 빈 곳을 지정한 문자열로 채웁니다. 

- RPAD : 문자값을 왼쪽으로 정렬하고 빈 곳을 지정한 문자열로 채웁니다.

- TRIM : 문자열에서 접두어나 접미어 또는 두 가지 모두를 자릅니다.


반응형

'코드자료실 > database' 카테고리의 다른 글

[oracle] spfile 복구방법  (0) 2013.03.13
[oracle] 리눅스에서 덤프파일 사용  (0) 2013.03.12
[oracle] delete data 복구  (0) 2013.02.12
[database] varchar2 vs nvarchar2  (0) 2013.01.25
[Oracle] 페이징 쿼리  (0) 2012.12.23
블로그 이미지

cocy

조금은 가볍게! 시작은 새롭게!

,
반응형

실수로 delete하고 커밋했을시,

오라클의 flash back이라는 기능을 통해 지운 데이터를 조회할 수 있다.


SELECT * FROM T_NAME

AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE);



1. Flashback Query : 특정시간 이전의 Data 에 대해서 검색할 때

-> UNDO Data 를 기준으로 검색

1) 과거의 데이터 값 조회
     SELECT employee_id, salary FROM employees
      AS OF TIMESTAMP t1
      where emplooyee_id = 200

2) 특정 시험의 값을 이용하여 값을 수정 (서브쿼리 활용)
     UPDATE employees SET salary = 
                  (SELECT salary FROM employees
                  AS OF TIMESTAMP TO_TIMESTAMP
                  ('2005-05-04 11:00:00', 'yyyy-mm-dd hh24:mi:ss')
                  WHERE employee_id = 200)
     WHERE employee_id = 200

3) 기간을 정해서 검색 (VERSIONS BETWEEN)
    SELECT versions_xid, salary FROM employees
    VISIONS BETWEEN TIMESTAMP t1 AND t2
    WHERE employee_id = 200;
         
2. Flashback Transcation Query : UNDO SQL을 조회하는 기능

반응형

'코드자료실 > database' 카테고리의 다른 글

[oracle] 리눅스에서 덤프파일 사용  (0) 2013.03.12
[oracle] 문자 조작 함수  (0) 2013.02.20
[database] varchar2 vs nvarchar2  (0) 2013.01.25
[Oracle] 페이징 쿼리  (0) 2012.12.23
[Oracle] DATE 포맷 변경  (0) 2012.12.23
블로그 이미지

cocy

조금은 가볍게! 시작은 새롭게!

,
반응형

 ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET', 'NLS_LANGUAGE');

NAMEVALUE$COMMENT$
NLS_NCHAR_CHARACTERSETAL16UTF16NCHAR Character set
NLS_LANGUAGEAMERICANLanguage
NLS_CHARACTERSETKO16KSC5601Character set

UTF8: 공통 size*3byte
AL16UTF16: 공통 size*2byte
KO16KSC5601: 한글 size*2byte, 영문 size*1byte

VARCHAR2 vs NVARCHAR2 : VARCHAR2는 LENGTH 계산시 byte 수로 계산, NVARCHAR2는 캐릭터셋에 맞게 논리적인 글자수로 계산 (개별 캐릭터셋 지정 가능)

LENGTH, LENGTHB 에 따른 차이가 나는 이유는 캐릭터셋 때문

SELECT  NC, LENGTH(NC) NC_LEN, LENGTHB(NC) NC_BLEN,

        LENGTHB(C) C_LEN, LENGTHB(C) C_BLEN,
        lengthb('각'),lengthb('A'),
        lengthb(TO_NCHAR('각')),lengthb(TO_NCHAR('A'))
FROM    CHAR_TEST
WHERE LENGTHB(C) = 17;

NCNC_LENNC_BLENC_LENC_BLENLENGTHB('각')LENGTHB('A')LENGTHB(TO_NCHAR('각'))LENGTHB(TO_NCHAR('A'))
안녕하세요.HI中國102017172122

반응형

'코드자료실 > database' 카테고리의 다른 글

[oracle] 리눅스에서 덤프파일 사용  (0) 2013.03.12
[oracle] 문자 조작 함수  (0) 2013.02.20
[oracle] delete data 복구  (0) 2013.02.12
[Oracle] 페이징 쿼리  (0) 2012.12.23
[Oracle] DATE 포맷 변경  (0) 2012.12.23
블로그 이미지

cocy

조금은 가볍게! 시작은 새롭게!

,
반응형

* 1~10, 11~20 등의 페이징을 처리하는 오라클 쿼리 

 - end 와 start 값에 적절한 값을 넣어주도록 함.

 - TABLE : 테이블 병, SEQ : 정렬하고자 하는 기준 컬럼


select * 
from ( select rownum rn, T1.* from ( select * from TABLE order by SEQ) T1 where rownum <= #end# ) 
where rn >= #start#
  


반응형

'코드자료실 > database' 카테고리의 다른 글

[oracle] 리눅스에서 덤프파일 사용  (0) 2013.03.12
[oracle] 문자 조작 함수  (0) 2013.02.20
[oracle] delete data 복구  (0) 2013.02.12
[database] varchar2 vs nvarchar2  (0) 2013.01.25
[Oracle] DATE 포맷 변경  (0) 2012.12.23
블로그 이미지

cocy

조금은 가볍게! 시작은 새롭게!

,
반응형
* DATE 포맷을 변경함
  현재 접속한 계정에 한 해 한시적으로 변경된다.
  - sqldeveloper에서 insert 쿼리를 export 할 경우 date 포맷의 값인 상태에서 export 할 경우
    시/분/초 값이 나오질 않음. 아래 쿼리 실행 후 export 하기를 권장.
    - TOAD에서는 별도의 설정없이도 원하는 값을 export 할 수 있음


alter session set NLS_DATE_FORMAT='rrrr/mm/dd HH24:MI:SS'
  


YYYY-MM-DD HH24:MI:SS


* HH24로 설정해야 21시, 22시 등으로 값이 표시됨.

  HH로 할 경우 21시는 09, 22시는 10으로 나타난다. 기간 검색할 시 주의

반응형

'코드자료실 > database' 카테고리의 다른 글

[oracle] 리눅스에서 덤프파일 사용  (0) 2013.03.12
[oracle] 문자 조작 함수  (0) 2013.02.20
[oracle] delete data 복구  (0) 2013.02.12
[database] varchar2 vs nvarchar2  (0) 2013.01.25
[Oracle] 페이징 쿼리  (0) 2012.12.23
블로그 이미지

cocy

조금은 가볍게! 시작은 새롭게!

,