oracle6 [Oracle] ORA-28000 계정잠김 ORA-28000: the account is locked ORA-28000: 계정이 잠금되었습니다 테스트 할때 비번을 여러번 틀려서 계정이 잠겼음. dba 권한이 있는 계정으로 로그인해서 --계정 상태 확인 select username, account_status, lock_date from dba_users where username = '유저명' ; -- 계정 잠김 해제 -- 꼭 "" 쌍따옴표 사용할 것 ALTER USER "유저명" ACCOUNT UNLOCK; 2022. 12. 26. [Database/Oracle]오라클 테이블 스페이스 추가하기 alter TABLESPACE 테이블 스페이스 이름 add DATAFILE '+DATA' SIZE 30G AUTOEXTEND OFF; EX) alter TABLESPACE Test_TABLE_SPACE add DATAFILE '+DATA' SIZE 30G AUTOEXTEND OFF; 아 맞다 이거 우리 회사에서 사용하는거라 +DATA 부분이 라거나 사용해야하는 쿼리가 다를 수 있음. 2022. 3. 4. [Oracle / JAVA / Mybatis ] Mybatis exception: Improper inline parameter map format. Should be: # {propName, attr1 = val1, attr2 = val2} Problem analysis and solution 최근에 발견햇던 이 오류는 메시지는 인자값으로 형변환을 지정하여 사용할때 이용하는 아래의 인수로 인해 발생하였다. NVL( #{ 데이터이름 , jdbcType = VARCHAR} , '0') 가독성을 위해 띄어쓰기를 하였는데 등호사이에 띄어쓰기가 있으므로 생긴 오류이므로 등호를 제거하면 된다. 2021. 11. 18. [Oracle] 오라클 시간더하기, 테스트용 데이터 만들기 -- 5분간격 이력데이터 생성 declare 시간값 date := to_date('20211210144500' , 'yyyymmddhh24miss'); -- 데이터 생성 시작 시점 의 -5분으로 설정해야 -- 아래의 +5분하는 부분으로 인해 시간이 겹치지 않음 -- declare 와 begin 사이의 공백이 발생한다면 sql 쿼리의 마지막을 만났다고 오류로그를 출력함. begin for day in 1..22 loop -- 각 시간의 매 5분마다 데이터 생성 -> 60을 5로 나누면 12 시간값 := 시간값 + interval '5' minute; --> 5분씩 더하기 for i in 1 .. 63 loop --> 매 5분마다 1부터 63개까지의 지점 생성 -- 키값이 없어 생성할 수 없는 데이터 건너뛰.. 2021. 11. 12. [Oracle/Tibero] merge insert 누락된 우괄호 MERGE INTO 테이블명 USING DUAL ON ( 키속성1 = #{인자값} , 키속성2 = #{인자값} ) WHEN MATCHED THEN UPDATE SET 입력할속성값1 = #{인자값} , 입력할속성값2 = #{인자값} WHEN NOT MATCHED THEN INSERT ( 속성값1 , 속성값2 , ... ) VALUES ( #{인자값} , #{인자값} , ... ) Merge문으로 데이터베이스에 단말과의 현재 연결 상태를 업데이트 처리를 하거나 받은 데이터를 입력하는 부분이 있는데 통신으로 받은 데이터들을 DB에 입력하는 동작에서 try catch문으로 감싸서 동작시키는데도 아무런 반응이 없어서 SQL문을 살펴보았다. 위에서 잘못된점은 현재 Using DUAL on ~뒤에 오는 키값에서 조건.. 2021. 6. 2. 오라클 상위 몇개 가져오기 MYSQL에서는 간단하게 LIMIT 을 이용해서 출력된 결과 중 최상위부터 몇개까지의 데이터를 가져올 수 있다. 오라클에서 rownum이라는걸 지원한다고는 알고 있었고 이를 이용하면 된다고는 어렴풋이 알고있었으나 감이 잡히지 않아서 못쓰고 있던 속성이었다. 하지만 오늘 적당한 기회가 되어 직접 사용하면서 결과문을 확인해보어 알게되었다. 이력테이블에서 where 조건을 걸어서 상위 몇개만 출력하고 싶었던경우가 몇번 있었는데 그럴때마다 이력테이블의 시간 속성에 조건을 걸어주고 검색을 했었는데 이젠 그럴필요가 없어졌다. SELECT ROWNUM, A.* FROM (SELECT * FROM 이력테이블 A ORDER BY 시간속성명 DESC ) A WHERE ROWNUM 2021. 5. 18. 이전 1 다음