[ORACLE]테이블의 컬럼을 변경한 유저를 아는 방법
·
Database
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, CREATED, LAST_DDL_TIME FROM DBA_OBJECTS WHERE owner = 'APLUSORA' -- 계정 --AND object_name = 'EMS_V_KIUM_CUSTOMER_LETTER' -- 테이블/INDEX/VIEW -- 오너, 테이블명, 타입, 테이블생성날짜, 마지막 DDL 날짜 -- 마지막 DDL 날짜는 GRANT, REVOKE등 해당 OBJECT에 대한 권한작업 시에도 갱신됨 [출처] 제트스윙 블로그 - http://www.zetswing.com
[ORACLE]다른 DB User 에게 자신의 테이블을 볼수 있도록 select 권한주기
·
Database
예를 들어 다른 계정에서 특정 유저가 갖고있는 테이블 "COM_COD_DPT" 의 select 권한을 주고 싶을때 다음과 같이 grant 를 주시면 됩니다. > GRANT SELECT ON EMS_V_KIUM_CUSTOMER_LETTER TO EDM ; 이렇게 하신후 다른 계정 (예, sukwoo 라는 다른 유저) 에서 해당되는 테이블을 select 하시면 select 가 될겁니다.......... > select * from APLUSORA.EMS_V_KIUM_CUSTOMER_LETTER ; 하시면 select 가 될겁니다. GRANT ALTER ON APLUSORA.COM_USR_M TO PUBLIC; GRANT DELETE ON APLUSORA.COM_USR_M TO PUBLIC; GRANT INS..
[ORACLE] 패스워드 정책, ORA-28000 : the account is locked
·
Database
1. 증상 오라클 특정 유저 패스워드 변경 후 처음에는 로그인이 잘 되었는데 어느순간 부터 ORA-28000 : the account is locked 오류 발생 2. 원인 특정 유저 패스워드 변경 후 수시로 DB에 접속하는 프로그램에서 변경된 패스워드를 반영하지 않았음. 프로그램에서 계속 잘못된 패스워드로 접속을 시도하였고 오라클 설정에 따라 자동으로 특정 유저가 LOCK됨. 3. 해결방법 1) USER 패스워드 만료 상태 확인하기 1. system계정으로 로그인 하여 다음을 입력 한다. C:\> sqlplus "/as sysdba" --system계정으로 로그인 ... SQL> select * from dba_users; --DB유저 정보 확인하기 SELECT USERNAME, ACCOUNT_STAT..
[Oracle] Random Sampling(랜덤샘플링)
·
Database
1) sample(n)을 활용한 예 - 해당 테이블에서 n%의 데이터를 무작위로 추출 SELECT * FROM MAILQUEUE sample(10) -- 10% 데이터 추출 WHERE 추출조건 2) dbms_random.value - 무작위로 테이블을 정렬하는 기능 추출 조건에 맞는 데이터를 무작위로 정렬해서 상위 몇 개의 행만 끄집어 내는 방식 SELECT * FROM MAILQUEUE sample(10) -- 10% 데이터 추출 WHERE 추출조건 AND ROWNUM < 6 ORDER BY dbms_random.value * 속도면이나 쿼리의 간결한 측면에서는 2번보다는 1번을 추천 참조 - http://blog.naver.com/agney?Redirect=Log&logNo=60131459595
[ORACLE]오라클 뷰(view), 프로시저(procedure) 생성권한 ORA-01031: insufficient privileges 오류
·
Database
ORA-01031: insufficient privileges 오라클 데이터 이관시 뷰 또는 프로시저 등이 생성되지 않을때는 먼저 사용자의 권한을 의심해봐야한다. 오라클 9I 에서 (플랫폼 윈도우) 데이터 임포트시 뷰는 생성이 되었으나,... 오라클 10G 에서 (플랫폼 AIX UNIX) 에서 뷰 생서이 ORA-01031: insufficient privileges 오류가 발생하였습니다. 만약 뷰나 프로시저 등이 생성되지 않으면 사용자에게 아래와 같이 권한을 추가하여 이를 해결할 수 있습니다. SQL> sqlplus /nolog SQL> conn /as sysdba grant create view to [USER] grant create procedure to [USER] [출처] 오라클 뷰(view),..
Toad Excel Export시 한글깨짐
·
Database
[ORACLE]개행문자(\r\n) 제거하기
·
Database
Oracle 개행문자(\r\n) 제거하기 chr(10) : Line Feed
[ORACLE] 문자열에서 특정 문자 갯수 알아보기.
·
Database
scott.emp table에서 사원이름중 ′A′ 문자가 몇번 나오는지 알아 보기 select ename, length(ename)-length(replace(ename,′A′,′′)) "A 문자 갯수" from emp ENAME A 문자 갯수 SMITH 0 ALLEN 1 WARD 1 JONES 0 MARTIN 1 BLAKE 1 CLARK 1 SCOTT 0 KING 0 TURNER 0 ADAMS 2 JAMES 1 FORD 0 MILLER 0 14 개의 행이 선택되었습니다. 출처 - http://fdsblog.tistory.com/40
[ORACLE] 중복카운트수 찾기, 대소문자 구별
·
Database
SELECT UPPER(MEMBER_ID),COUNT(UPPER(MEMBER_ID)) FROM MEMBER_INFO GROUP BY UPPER(MEMBER_ID) HAVING COUNT(UPPER(MEMBER_ID)) > 1
[ORACLE]OUTER JOIN
·
Database
SELECT count(*) FROM EMAIL_GRP A LEFT OUTER JOIN EMAIL_TARGET B ON A.MAIL_GRP_NO = B.MAIL_GRP_NO WHERE B.SEND_YN = 'N' AND A.SEND_TYPE_CD='S' UPDATE EMAIL_TARGET B SET B.SEND_YN = 'Y' WHERE EXISTS (SELECT MAIL_GRP_NO FROM EMAIL_GRP A WHERE A.MAIL_GRP_NO = B.MAIL_GRP_NO AND A.SEND_TYPE_CD = 'S' AND B.SEND_YN = 'N')