Oracle(96)
-
UTL_HTTP 에러
1. UTL_HTTP 사용하는 프로시저를 컴파일을 하였지만 다음과 같은 에러가 발생하였다. ORA-06550: line 3, column 6: PLS-00201: identifier 'SYS.UTL_HTTP' must be declared ORA-06550: line 3, column 6: 2. 원인을 찾던 중 utl_http 가 정의(?)가 되지 않았음을 알 수 있었다. 알 수 있었던 방법은 단순하였다. https://community.oracle.com/tech/developers/discussion/469405/problem-calling-utl-http-in-oracle-xe $ sqlplus "/as sysdba" SQL> desc utl_http utl_http의 정보들이 출력이 될 것이다. ..
2022.06.21 -
패스워드 주기 확인
사용자의 패스워드 주기를 알고 싶을 때 쿼리 사용자에 적용된 profile 확인 select username,profile from dba_users where username = 'scott'; 프로파일에 적용된 패스워드 권한 확인 select * from dba_profiles where profile = 'DEFAULT'; PASSWORD_LIFE_TIME:패스워드를 변경해야하는 주기 PASSWORD_REUSE_TIME:패스워드 변경시 이전 패스워드를 재사용할 수 있는 기간(즉, 해당 기간이 지나야 재사용 가능)
2022.04.22 -
split - REGEX_SUBSTR, REGEX_REPLACE
(1) 테스트 테이블 생성 create table split_table as select 'a/b/c/d/e' name from dual; (2) REGEXP_SUBSTR select regexp_substr(name,'[^/]+',1,1) regexp_substr_name1, regexp_substr(name,'[^/]+',1,2) regexp_substr_name2, regexp_substr(name,'[^/]+',1,3) regexp_substr_name3, regexp_substr(name,'[^/]+',1,4) regexp_substr_name4, regexp_substr(name,'[^/]+',1,5) regexp_substr_name5 from split_table; 결과 a b c d e ..
2022.04.22 -
아주 쉬우면서도 착각할 수도 있는 날짜 조회
아래와 같은 테이블이 존재한다. SQL> select name, reg_date from temp_food_info; NAME REG_DATE archor 2022/04/05 23:44:11 milk 2022/04/06 10:23:44 water 2022/04/07 00:00:00 chicken 2022/04/07 00:00:01 meat 2022/04/08 00:10:00 여기서 우리는 등록날짜가 4/6~4/7 데이터를 산출 할 것이다. SQL> select * from temp_food_info where reg_date between to_date('20220406','yyyymmdd') and to_date('20220407','yyyymmdd') ; 결과값 NAME REG_DATE -------..
2022.04.07 -
[oracle19c] 사용자 생성 및 삭제 (ORA-65096, ORA-28014)
(1) 생성 SQL> create user scott identified by "tiger"; ERROR at line 1: ORA-65096: invalid common user or role name SQL> create user "C##SCOTT" identified by "tiger"; -> 12c부터 바뀌 C##을 붙여줘야한다고 함. 근데 저렇게 생성하면 C##도 사용자명에 포함되버리는데 왜 저렇게 했을까나? or SQL> alter session set "_ORACLE_SCRIPT"=true; SQL> create user scott identified by "tiger"; (2) 삭제 SQL> drop user scott [CASCADE]; 여기서 ORA-28014: cannot drop a..
2022.03.24 -
ORA-01950: no privileges on tablespace 'USERS'
DML문을 실행하려고 했는데 ORA-01950 에러가 발생한다면 해당 테이블스페이스에 insert 할수 있는 권한이 없다는 것이다. 권한을 아래와 같이 부여해 줄 수 있다. alter user scott quota unlimited on users; 또는 alter user scott quota 1m on users; 권한을 확인 하는 방법은 select * from dba_ts_quotas; 조회하였을때 해당 테이블스페이스의 계정이 등록되어 있으면 권한을 부여받은 것이다. 여기서 max_bytes 가 -1 이면 unlimited 로 부여 받은 것이고, 값이 존재하면 그 byte만큼 저장이 가능하게 부여받은 것이다.
2022.03.24