oracle 21

[에러/ORA-01000] ORA-01000: 최대 열기 커서 수를 초과했습니다

ORA-01000: maximum open cursors exceeded ORA-01000: 최대 열기 커서 수를 초과했습니다 --sys나 system 유저로 접속하여 현재 설정된 커서 개수를 확인 한다. show parameter open_cursors --현재 사용중인 섹션의 커서 (100개 초과) 확인 select a.sid, s.process, s.machine, s.module, s.action, count(*) as cnt from V$OPEN_CURSOR a, V$SESSION s where s.sid = a.sid group by a.sid, s.process, s.machine, s.module, s.action having count(*) > 100 order by count(*) de..

DBMS/Oracle 2021.11.16

[ORALCE/PLAN] 오라클 Plan Table(실행계획) 생성 및 권한 부여

--//Oracle 11.2.0 for Windows 버전 기준 --//SYSDBA로 접속 ex) C:\>SQLPLUS "/as sysdba" --//이하 SQL-Plus : SQL> @"C:\oracle\product\11.2.0\dbhome_1\sqlplus\admin\plustrce.sql" grant plustrace to [사용자]; --//======================================= conn [사용자]/[패스워드]; @"C:\oracle\product\11.2.0\dbhome_1\rdbms\admin\utlxplan.sql" --//PLAN 확인 set linesize 120; set autot on; select * from tab where rownum=1; ==..

DBMS/Oracle 2021.08.19

[ORACLE/SQL] 여러 행을 컬럼 합치기 (WM_CONCAT, LISTAGG, XMLAGG, XMLELEMENT, 중복제거)

오라클의 여러행을 하나의 컬럼으로 합치는 쿼리를 메모하고져 글을 남깁니다. 자세한 설명은 하지 않겠습니다. (XMLAGG 및 정규식은 10g부터 사용 가능) WM_CONCAT SELECT WM_CONCAT(job) AS WM_JOBS FROM emp LISTAGG SELECT LISTAGG(job, ',') WITHIN GROUP(ORDER BY job) AS AGG_JOBS FROM emp LISTAGG (deptno 기준) SELECT LISTAGG(job, ',') WITHIN GROUP(ORDER BY job) OVER(PARTITION BY deptno) AS AGG_JOBS2 FROM emp LISTAGG (중복제거) SELECT LISTAGG(job, ',') WITHIN GROUP(ORDE..

DBMS/Oracle 2021.07.06

[ORACLE / PL/SQL / Crypt / HxCrypt]암호화, 복호화 PACKAGE(Class)

자작이며, PHP Library중 하나인 ADOdb의 crypt.inc.php의 MD5Crypt Class를 C#으로 변경 후 Oracle용 PL/SQL에 맞게 변경하였습니다. MS-SQL, SQLite는 C#을 이용하여 DLL로 제작하여 로딩하시면 사용 가능합니다. 패키지명은 HxCrypt라고 하였습니다. 별도로 비트연산용 PKG_UTILS( http://overoid.tistory.com/35 ) / 첨부(PKG_UTILS_Oracle.sql) 참조를 이용하였습니다. 자세한 내용은 첨부파일을 참고하시기 바랍니다. (ADODB가 GNU 라이센스이므로 공유는 당연하다 판단했습니다. / C#과 Oracle용으로 마이그레이션한 라이블러리를 공개합니다.) PHP용 소스 출처 : http://adodb.org/..

[C# / .NET / Crypt / HxCrypt]암호화, 복호화 Class

자작이며, PHP Library중 하나인 ADOdb의 crypt.inc.php의 MD5Crypt Class를 C#에 맞게 변경하였습니다. (ASP.NET, MS-SQL, SQLite에서도 사용 가능) Class명은 HxCrypt라고 하였습니다. 자세한 내용은 첨부파일을 참고하시기 바랍니다. (ADODB가 GNU 라이센스이므로 공유는 당연하다 판단했습니다. / C#과 Oracle용으로 마이그레이션한 라이블러리를 공개합니다.) PHP용 소스 출처 : http://adodb.org/ - 암호화 : HxCrypt.Encrypt(문자열, 키값) //호출 할 때마다 다른 값이 리턴됨 - 복호화 : HxCrypt.Decrypt(암호 문자열, 키값) 암호화 문자열과 키값은 반드시 키보드에 존재하는 영문+숫자+특수키 값..

ODP.NET 설치 안하고 클라이언트 배포

해당 실행 파일에 본 첨부파일을 풀어 주면 클라이언트 없이도 배포 가능합니다. 별도로 TNS_ADMIN 경로를 환경설정에서 해줘도 되나, 10g Client 버전부터는 TNS를 이용안하고 설정 가능합니다. 실행파일과 같은 경로에 배포하시면 쉽게 사용 가능합니다. DataGridView를 이용하였습니다. OracleConnection oraConn = new OracleConnection(); oraConn.ConnectionString = string.Format("USER ID={0};PASSWORD={1};DATA SOURCE={2};PERSIST SECURITY INFO=false", "{오라클UserID}", "{오라클UserPassword}", "{Oracle Host Name(Domain) o..

DBMS/Oracle 2012.07.13

C#에서 Oracle LOB(CLOB) 데이터 입력 방법

출처 : http://blog.naver.com/lcg2004?Redirect=Log&logNo=60049785458 참고 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=17&MAEULNo=8&no=117409&ref=117385 Writing to Oracle CLOB fields using System.Data.OracleClient 만약 당신이 .NET 코더고 오라클을 갖다가 데이터베이스 작업을 한다면, 이번이 적절하게 사용할 수 있는 기회가 될 것이다.^^ 읽으면서 커멘트도 달아주기 바란다! 우리 현재 프로젝트에서 우리는 ASP.NET 1.1 애플리케이션으로부터 상당한 량의 텍스트를 오라클 CLOB 필드로 쓸 필요가 있다. 우리는 이제껏 ..