목록전체 글 (298)
말랑말랑제리스타일
오라클 테이블을 수정하거나 프로시저를 깨진 채로 저장한 경우 컴파일이 안된채로 깨져있는데요 이런 경우 토드나 오라클 DB 툴을 이용하면 볼수는 있는데 간혹 다수로 리스트 쫙 뽑아서 보고싶을때나 다른 테이블이랑 엮어서 보고싶을때 조회 쿼리를 이용해서 깨진 프로시저를 한번에 볼 수 있습니다 SELECT * FROM ALL_OBJECTS WHERE OWNER = '유저명' AND STATUS = 'INVALID' 바로 이 ALL_OBJECT 테이블에서 STATUS를 INVALID로 놓고 조회하면 깨진 프로시저, 펑션 등이 쫙 나오는데 DBA 권한이 있어야 조회 가능한 테이블이고 전 유저에 대해 조회하기 때문에 유저명을 OWNER에 넣고 조회해야 퍼포먼스가 나올 수 있다는 점을 참고해서 쓰시길 바랍니다 깨진 프..

ORA-01002 : fetch out of sequence 에러는 원래 에러 내용과 같이 Oracle 데이터베이스 PL/SQL문 내에서 반복문 도중 잘못된 상태에서 FETCH가 일어나는 경우 발생하는 오라클 에러인데요 저같은 경우는 반복문 없이 단순 조회 쿼리에서 계속해서 이런 에러가 발생했고 심지어 Toad와 같은 오라클 Database 툴로 프로시저를 실행시킬때는 나지 않다가 C# 프로그램에서 프로시저를 호출하면 ORA-01002 : fetch out of sequence 에러가 나서 디버깅도 안되고 갑갑했는데 한참만에 실수를 찾았습니다 테이블 조인 조건 중 ON A.날짜컬럼 BETWEEN B.시작일자 AND B.끝일자 로 조인하는 과정에서 시작일자와 끝일자 컬럼은 VARCHAR2(8) 형식이었고 ..

유니티에서 안드로이드로 빌드하면서 제목에 있는 Please set the bundle Identifier in the Player Settings. 에러가 발생했는데요 Please set the bundle Identifier in the Player Settings. 에러의 해결법은 생각보다 간단합니다 먼저 에러 풀 내용은 아래와 같고 Please set the bundle Identifier in the Player Settings. The Value must follow the convention 'com.YourCompanyName.YourProductname' and can contain alphanumeric characters and underscore. Each segment must no..
오라클 DB를 사용하다보면 테이블 크기가 커지고 속도가 느려질때를 체감하게 되는데 이때 오라클 DB에서 사용할 수 있는 테이블 크기를 확인 가능한 쿼리를 알려드리려고 합니다 참고로 DBA 테이블이라 권한이 충분하지 않다면 확인이 불가능할 수 있지만 따로 권한을 분류하지 않은 DB나 개인 목적의 DB인 경우 아래 쿼리로 테이블의 크기를 확인할 수 있습니다 SELECT OWNER, SEGMENT_NAME, BYTES FROM DBA_SEGMENTS WHERE SEGMENT_TYPE='TABLE' ORDER BY 3 DESC; 위에서 활용한 DBA_SEGMENTS 테이블에는 테이블 뿐만 아니라 INDEX, CLUSTER 등의 정보도 나와있기 때문에 TABLE로 SEGMENT_TYPE을 걸어주고 OWNER는 D..
Insert 구문은 Delete, Update와 함께 SQL의 대표적인 DML문이죠 Oracle DB 사용중 테이블을 새로 만들거나 마이그레이션을 하는 경우 등 다양한 상황에서 Select 한 내용을 Insert 하게 되는 상황이 꽤 많은데요 이 상황에서 사용 가능한 구문이 Insert Select 구문이고 사용법은 간단합니다 테이블1이 데이터가 Insert 될 테이블, 테이블2가 데이터를 Select 할 테이블이라고 하면 Insert Into 테이블1 Select * from 테이블2 로 사용할 수 있고 만약 테이블 2의 데이터가 테이블 1의 데이터 개수와 일치하지 않을 경우 Insert into 테이블1 Select Insert Into 테이블1 Select Col1,Col2...ColN from 테..

Unity로 작업중 우연히 Can't add script component 로 시작하는 에러를 만났습니다 저같은 경우는 BoardManager라는 Script를 GameManager 항목에 추가하는 중 위와 같은 에러를 만났는데요 이 에러의 경우 BoardManager라는 이름은 Component를 찾을 수 없다는 에러로 두가지 해결 방법이 있습니다 이런 에러가 발생한 경우 프로젝트에 파일 제목은 BoardManager로 되어있으나 이렇게 BoardManager의 소스를 열어보면 클래스 명은 BoardManager가 아닌 다른 명칭으로 되어있을텐데요 먼저 이 클래스명을 BoardManager로 바꿔서 저장해주는 방법이 첫번째 방법이고 BoardManager 파일을 우클릭해서 Rename 버튼을 누를 뒤 ..
간혹 가다가 발생하는 오라클 에러중 하나로 ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes 에러는 DBMS_OUTPUT.PUT_LINE 구문에서 주로 발생하는데 해석해보면 일단 20000 바이트 이상을 DBMS_OUTPUT에서 출력하는게 불가능하다는 뜻으로 DBMS_OUTPUT.PUT_LINE 구문을 실행하기 전 앞에다가 DBMS_OUTPUT.ENABLE(NULL); 한줄을 추가해주면 일시적으로 DBMS_OUTPUT의 버퍼를 늘려주고 전체 출력이 가능해집니다 추가로 현재 버퍼를 확인하려면 ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes 이 에러 중 20000bytes라고 되어있는 부분이 ..
SELECT * FROM USER_SOURCE WHERE TEXT LIKE '%TAB명%'; Oracle에서 어떤 테이블이 다른 프로시저에서 사용되는지 어떤 프로시저에서 테이블이 업데이트되고 사용되는지 확인할때 사용 가능한 쿼리입니다 USER_SOURCE 테이블에 프로시저를 포함한 프로시저, 패키지, 펑션 등의 PL/SQL 정보가 들어있고 이 테이블을 조회하는 방식입니다 테이블 뿐만 아니라 프로시저에 어떤 문구가 포함된건지도 전부 찾을 수 있기 때문에 유용하다고 할 수 있고 테이블 내용을 수정할때 참고하면 좋겠죠 여기서 NAME 컬럼에는 프로시저 명, TYPE에는 프로시저인지 패키지인지 등 타입, LINE에는 해당되는 라인 TEXT는 실제 테이블 명칭이 사용된 라인 등이 출력됩니다 만약 프로시저 명으로만..