데이터 중복일때 하나만 조회하기 group by는 데이터의 그룹화 목적이다. A(날짜시간), B(IP), C(아이디), D(대화내용) 컬럼이 있다 가정. A, B, C, D 컬럼을 전체 조회 하되,, A와 D가 같은 행이 있을때 하나만 출력을 원함. group by로 A, D만 묶으면 아래와 같은 에러 발생. * Oracle : not a GROUP BY expression * PostgreSQL : column "customers.city" must appear in the GROUP BY clause or be used in an aggregate function * SQL Server : column "customers.city" is invalid in the select list because ..
DB계정이 왜 잠겼는지는 모르겠는데,,, 마이그레이션 작업 이후 서비스 기동 처리중에 정상적으로 올라가지 않았다... 로그를 살펴보니 아래와 같은 에러 로그가 있었다. ORA-28000: the account is locked ORA-28000: 계정이 잠금되었습니다 찾아보니... DBA 계정으로 ALTER 작업이 필요한 상황이었다. DB담당자에게 아래 쿼리를 요청드렸다. >> ALTER USER "DB계정" ACCOUNT UNLOCK 이후 서버 기동시에 정상적으로 올라감을 확인하였다.
[프레임워크가 프로시저 사용을 권장치 않는 이유] 얼마전 stored procedure를 수정함으로써 운영중 장애를 겪는일이 있었다. stored procedure.... 줄여서 SP라고도 하는데,, 장단점이 명확했다. SP를 쓰는 이유는 빠르기 때문이다. 클라이언트 입장에서는 동일 SP를 반복 호출시에는 메모리에 가져다 놓고 쓰는것으로 보인다. 때문에 부하 측면이나 속도측면에서 장점을 가지고 있다. 하지만, 프레임워크에서는 SP 사용을 권장하진 않는다. 소스 revision 관리에 민감한 프레임워크 입장에서는 SP 관리가 안될 뿐더러 AP단이 아닌 DB단 어쩌면 서버레벨에서의 프로그램을 자유롭게 코딩함으로써,, 유지보수가 어렵게 느껴질것이다. 또, emb를 지원하는 프레임웍에서는 SP를 emb디자인에서..
ORA_01858 - a non-numeric character was found where a numeric was expected [숫자가 있어야 하는 위치에서 숫자가 아닌 문자가 발견되었습니다.] TO_DATE시에 숫자가 아닌 문자를 넣어서 발생하는 에러다.... TO_DATE('2022/11/22', 'YYYYMMDD') --------> TO_DATE('20221122', 'YYYYMMDD') 이렇게 바꾸어주면 문제없이 잘 돌아간다....
XA는 2PC(2 phase commit)을 통한 분산 트렌젝션 처리를 위한 X-Open에서 명시한 표준. 예를 들어 Oracle데이타베이스와 IBM DB2 데이타베이스간에 2단계검증을 통한 2PC를 보장하여 트렌젝션을 보장시켜주는 것. 등록 된 하나 이상의 데이터베이스 간에 2PC 트랜잭션이 보장되어야 할 때 XA datasource 사용 하나 이상이 데이터베이스를 접근하더라도, 굳이 트랜잭션이 보장되어야 할 필요성이 없다면 Non-XA-datasource 사용하면 됨 [트랜잭션 수행 단계] # 2PC begin -> end -> prepare -> commit 글로벌 트랜잭션을 하려면 반드시 2PC를 해야만 한다. 글로벌 트랜잭션은 여러 리소스 사이에서 처리하는 작업이기 때문에 "분산" 트랜잭션(Di..
Synonym - 데이터베이스 객체는 고유한 이름을 가지고 있다. - 해당 객체에게 가명을 주는것 (일종의 alias와 비슷하다) - 보안에 용이하다 (다른 유저의 객체를 사용할때 그 이름 그대로 사용하지 않는다.) 문법 CREATE OR REPLACE [PUBLIC / PRIVATE] SYNOYM [사노님명] FOR [객체명] 해당 객체에게 시노님명을 지어주는 쿼리문이다. 예를들어 객체 이름이 EMP라고 하고 , SYNONYM명을 SYNO_EMP 라고 하였을때 Synonym명인 SYNO_EMP라는 명으로 해당 객체명인 EMP 테이블을 조회할수가 있는 것이다. Synonym 응용 현재 계정의 시노님 조회 - SELECT * FROM USER_SYNONYMS 전체 시노님 조회 쿼리 - SELECT * FR..