레이블이 ORACLE인 게시물을 표시합니다. 모든 게시물 표시
레이블이 ORACLE인 게시물을 표시합니다. 모든 게시물 표시

2017년 6월 30일 금요일

오라클 EXCEPTION 진행 문제.

CREATE OR REPLACE PROCEDURE PROCEDURE1AS        V_CNTR_NO VARCHAR2(13) ;        V_ITEM_CD VARCHAR2(13) ;BEGIN    DBMS_OUTPUT.PUT_LINE('시작.') ;    BEGIN        SELECT CNTR_NO INTO V_CNTR_NO FROM TB_OD_CNSGN_FEE;    EXCEPTION    WHEN NO_DATA_FOUND THEN        DBMS_OUTPUT.PUT_LINE('계약번호가 없습니다.') ;    WHEN TOO_MANY_ROWS THEN        DBMS_OUTPUT.PUT_LINE('계약번호가 두건 이상입니다.') ;    END;        DBMS_OUTPUT.PUT_LINE('중간.') ;        BEGIN        SELECT ITEM_CD INTO V_ITEM_CD FROM TB_OD_CNSGN_FEE;    EXCEPTION    WHEN NO_DATA_FOUND THEN        DBMS_OUTPUT.PUT_LINE('아이템코드가 없습니다.') ;    WHEN TOO_MANY_ROWS THEN        DBMS_OUTPUT.PUT_LINE('아이템코드가 두건 이상입니다.') ;    END;        DBMS_OUTPUT.PUT_LINE('끝.') ;    EXCEPTION  WHEN OTHERS THEN    DBMS_OUTPUT.PUT_LINE('TOP EXCEPTION.') ;END PROCEDURE1;-------실행결과----------------------------계약번호가 두건 이상입니다.아이템코드가 두건 이상입니다.끝.프로세스가 종료되었습니다.

보통 EXCEPTION 처리를 위와 같이 중첩 블록을 사용하였다.
문제는 EXCEPTION이 발생하여도 해당 블록만 멈추고 다음으로 계속 진행을 한다.
자바와는 다르다.
그래서 각 블록마다 RAISE_APPLICATION_ERROR를 발생시키거나, 메인 블록만 남기는 방법을 선택해야 한다.

2016년 10월 18일 화요일

MSSQL 에서 오라클로 LINKED SERVER 생성시 오류

MSSQL 에서 오라클로 LINKED SERVER 생성시 오류 발생
연결된 서버 "SERVER_NAME"에 대한 OLE DB 공급자 "OraOLEDB.Oracle"의 인스턴스를 만들 수 없습니다. (Microsoft SQL Server, 오류: 7302)  도움말을 보려면 다음을 클릭하십시오:

이 사이트에서 해결책 확인

오라클 클라이언트 설치 후 SQLSERVER 재시작 해야됨.;;

2015년 4월 2일 목요일

error: ora-01031: insufficient privileges

error: ora-01031: insufficient privileges
오라클 계정으로 실행 해야 됨. su oracle

2014년 10월 6일 월요일

"index '%s.%s' or partition of such index is in unusable state"

오류 보고 -
SQL 오류: ORA-01502: index 'ORAWEB.PK_MEMBER_LOGIN_LOG' or partition of such index is in unusable state
01502. 00000 - "index '%s.%s' or partition of such index is in unusable state"
*Cause: An attempt has been made to access an index or index partition
that has been marked unusable by a direct load or by a DDL
operation
*Action: DROP the specified index, or REBUILD the specified index, or
REBUILD the unusable index partition



이렇게 리빌드.

ALTER INDEX <owner>.<name> REBUILD;





전체  INDEX 리빌드
SELECT 'alter index "ORAWEB"."' || OBJECT_NAME ||'" rebuild;' FROM USER_OBJECTS WHERE OBJECT_TYPE='INDEX';

...

alter index "ORAWEB"."PK_PAY_RES_LOG" rebuild;
alter index "ORAWEB"."PK_PRINTER" rebuild;
alter index "ORAWEB"."PK_PUSH_MESSAGE_S" rebuild;
...

ORAWEB 은 OWNER이다.

위의 select 값을 복사해서 실행.

2014년 8월 12일 화요일

oracle sql developer 소켓 에서 읽을 데이터 가 없습니다

오라클 11g express 설치.

sql developer로 접속시 소켓 에서 읽을 데이터 가 없습니다.
(GLOBAL_DBNAME = XE)

위 코드 추가하니 접속 성공

아래는 전체 listener.ora 내용
SID_LIST_LISTENER =  (SID_LIST =    (SID_DESC =      (SID_NAME = PLSExtProc)      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)      (PROGRAM = extproc)    )    (SID_DESC =      (SID_NAME = CLRExtProc)      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)      (PROGRAM = extproc)    )    (SID_DESC =      (GLOBAL_DBNAME = XE)      (SID_NAME = XE)      (ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)    )	  )LISTENER =  (DESCRIPTION_LIST =    (DESCRIPTION =      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))      (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))    )  )DEFAULT_SERVICE_LISTENER = (XE)

2013년 8월 30일 금요일

파일을 찾을 수 없음 경로/admin/dr0ulib.sql.sbs

오라클 홈페이지에서 오라클 12c를 다운받고

윈도우에서 오라클 설치시 아래와 같은 에러가 나온다.
파일을 찾을 수 없음 ...경로/admin/dr0ulib.sql.sbs

한글 문서는 찾을 수 없고 여기에서 다운로드를 다시 받으라고 해서 다시 받아서 설치 했으나

역시 같은 문제 발생.

원인은 아주 간단한 거였다.

오라클 홈페이지에서 다운 받는 파일은 대부분 winx64_12c_database_1of2.zip,winx64_12c_database_2of2.zip 같이

두개의 압축 파일이다.

해당 파일을 각 각 압축을 풀면, database 라는 한개의 폴더가 있는 데

이 두개의 폴더를 한개로 합쳐고 나서 설치를 진행 해야 한다.

ㅎㄷㄷ;

2012년 11월 6일 화요일

Plugin "refresh-packagekit" can't be imported

yum을 이용하려고 보니 에러메시지가 뜬다.
[root@localhost ~]# yum listPlugin "refresh-packagekit" can't be importedLoaded plugins: fastestmirror, securityLoading mirror speeds from cached hostfile * base: centos.mirror.cdnetworks.com * extras: centos.mirror.cdnetworks.com * updates: centos.mirror.cdnetworks.comTraceback (most recent call last):  File "/usr/bin/yum", line 29, in <module>    yummain.user_main(sys.argv[1:], exit_code=True)  File "/usr/share/yum-cli/yummain.py", line 285, in user_main    errcode = main(args)  File "/usr/share/yum-cli/yummain.py", line 136, in main    result, resultmsgs = base.doCommands()  File "/usr/share/yum-cli/cli.py", line 434, in doCommands    self._getTs(needTsRemove)  File "/usr/lib/python2.6/site-packages/yum/depsolve.py", line 99, in _getTs    self._getTsInfo(remove_only)  File "/usr/lib/python2.6/site-packages/yum/depsolve.py", line 110, in _getTsInfo    pkgSack = self.pkgSack  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 897, in <lambda>    pkgSack = property(fget=lambda self: self._getSacks(),  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 682, in _getSacks    self.repos.populateSack(which=repos)  File "/usr/lib/python2.6/site-packages/yum/repos.py", line 294, in populateSack    sack.populate(repo, mdtype, callback, cacheonly)  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 165, in populate    if self._check_db_version(repo, mydbtype):  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 223, in _check_db_version    return repo._check_db_version(mdtype)  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1256, in _check_db_version    repoXML = self.repoXML  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1455, in <lambda>    repoXML = property(fget=lambda self: self._getRepoXML(),  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1447, in _getRepoXML    self._loadRepoXML(text=self)  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1437, in _loadRepoXML    return self._groupLoadRepoXML(text, self._mdpolicy2mdtypes())  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1412, in _groupLoadRepoXML    if self._commonLoadRepoXML(text):  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1240, in _commonLoadRepoXML    self._repoXML = self._parseRepoXML(result)  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1036, in _parseRepoXML    return repoMDObject.RepoMD(self.id, local)  File "/usr/lib/python2.6/site-packages/yum/repoMDObject.py", line 124, in __init__    self.parse(srcfile)  File "/usr/lib/python2.6/site-packages/yum/repoMDObject.py", line 140, in parse    parser = iterparse(infile)  File "/usr/lib/python2.6/site-packages/yum/misc.py", line 1169, in cElementTree_iterparse    _cElementTree_import()  File "/usr/lib/python2.6/site-packages/yum/misc.py", line 1164, in _cElementTree_import    import cElementTreeImportError: No module named cElementTree

 

원인은 오라클 설치시 지정한 $LD_LIBRARY_PATH 문제이다.

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

profile 이렇게 지정하고 지정하고 사용하는 데, 문제는 오라클 먼저 찾고 나서 그다음 시스템의 경로를 찾는 데, 오라클 라이브러리 경로의 libexpat가 있으니까 이걸로 yum 실행하는 데,

이게 아니라 시스템의 라이브러리 패스를 찾아야 하는 맞게 동작하는 것이다.
export LD_LIBRARY_PATH=/lib64/

위 명령어를 실행 후 하면 제대로 동작한다.

 

 

 

2012년 7월 14일 토요일

ORA-00845: MEMORY_TARGET not supported on this system

vi

tmpfs                   /dev/shm                tmpfs   defaults,size=4g        0 0

 

 

 

 

 

 

출처:http://h391106.tistory.com/243

2012년 3월 21일 수요일

오라클 11g 64bit 리눅스 한글 깨짐.

알고보면 엄청 간단한 건데, 이걸 처리하기 위행 장장 반나절을 소비했다.

오라클 한글깨짐에 대한 글들이 엄청많은 데, 정작 도움 되는 건 없고

여기서 도움을 받을 수 있었다.

중요한 건 저기 internal_use 가 필요한 것.
한글을 지원하는 것은 4가지가 있다.
KO16KSC5601 << 이건 사용하지 말자.
KO16MSWIN949
UTF8
AL32UTF8

이 중에서 한글 사이트 전용으로 할 것이기 때문에 KO16MSWIN949 선택.



SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET internal_use KO16MSWIN949;
SHUTDOWN IMMEDIATE;
STARTUP;