본문 바로가기

oracle

SQL*Developer, Data Miner 에서 "테이블스페이스 권한이 없습니다." 에러 발생시 Oracle SQL*Developer 에 있는 Data Miner 에서 새 프로젝트를 생성하려고 하는 경우에 아래와 같이 테이블스페이스 권한이 없다는 메시지를 만나는 경우가 있을 수 있습니다. 이 에러는 Data Mining 을 하려고 하는 오라클 User 가 테이블스페이스 사용권한이 없다는 것으로 테이블스페이스 사용권한을 해당 DB유저에게 부여해주면 됩니다. 보통 이런 경우, grant unlimited tablespace to SCOTT; unlimited tablespace 권한을 줘버리면 해결되었는데, 안되는 경우가 있네요. 아래와 같이 정확한 Size 를 지정해주니까 에러가 없어지네요. alter user SCOTT quota 200M on USERS; unlimited tablespace 권한.. 더보기
SQL*Developer 팁 - SQL Formatting 기능 (SQL문을 보기좋게 정돈해주는) SQL문을 툴에서 추출하였거나, 또는 인터넷 등에서 카피한 경우에 SQL이 보기좋게 나오지 않고, 1라인에 길게 늘어져 있는 경우가 있습니다. 이거 보기좋게 편집하려면 눈깔 빠집니다. 이때 유용하게 쓸 수 있는 기능이 오라클에서 제공하는 무료 DB관리툴인 SQL*Developer 입니다. [SQL 워크시트] 창 아무데서나 "Ctrl-F7" 을 누르거나, 오른쪽 마우스버튼 클릭후 "형식" 메뉴를 선택하면, 아래와 같이 가독성 높게 SQL문을 이쁘게 정돈해 줍니다. 이 포맷팅 기능은 반드시 [SQL 워크시트 창] 에서만 가능합니다. SQL*Developer 에서 처음 DB에 접속할 때 [SQL 워크시트 창] 을 디폴트로 하나 띄워줍니다. 이게 안뜨거나 닫아서 추가로 띄워야 하는 경우에는, 상단메뉴 [도구] .. 더보기
오라클 데이터베이스 클라이언트 - Oracle Database 19c Client 다운로드/설치 (빠른 설치, Image-Based Installation) 지난번에 오라클 Database 12c Client 모듈을 설치하는 방법에 대해 포스팅했었습니다. Client 모듈을 "관리자" 모드로 설치하게 되면, 네트워크 관리자, SQL Developer 등을 모두 설치하기 때문에 상당한 시간이 걸립니다. (40분정도) 19c 부터는 이 설치시간을 크게 단축시킬 수 있는 설치모듈이 나왔습니다. (5분정도) Image-Based Installation 이라고 하는데, 미리 설치된 이미지를 복사하고 Configuration만 잡아주는 형태로, 설치시 개별파일들을 복사하는 과정을 확 줄여버린 것 같습니다. 지금부터 이 방식으로 설치하는 과정을 살펴보겠습니다. 먼저, 19c Oracle Client 설치모듈을 다운로드 받습니다. https://www.oracle.com/.. 더보기
오라클 데이터베이스 클라이언트 - Oracle Database 12c Client 다운로드/설치 DB서버에 있는 Oracle Database 에 접속하기 위해서는 클라이언트 쪽에 Oracle Database Client 모듈이 필요합니다. 물론, Oracle Database Server 설치 파일을 클라이언트에 설치해도 되긴 합니다. Server 모듈에 Client 모듈도 함께 들어있기 때문입니다. 하지만, 클라이언트쪽에 불필요하게 많이 설치할 필요는 없기 때문에 클라이언트 모듈만 따로 받아서 설치하는 방법을 알아보겠습니다. 다운로드를 위해 아래 링크로 들어갑니다. >> https://www.oracle.com/database/technologies/oracle-database-software-downloads.html 다운로드 사이트에서 Download 쪽에 있는 링크를 클릭하게 되면 서버모듈을 .. 더보기
Oracle Database 19c - Demo Examples 설치 (오라클 데모 예제) 오라클 Demo Examples 는 아래와 같은 다양한 데모 예제들을 제공합니다. - Oracle Data Mining Demos - Oracle Globalization Support Demos - Oracle Message Gateway Common Companion Files - Oracle Multimedia Demos - Oracle Precompiler Demos - Oracle Spatial and Graph Demos - Oracle Internet Directory Client Demos - Oracle XML Demos - Oracle Call Interface Demos - Oracle C++ Call Interface Demos - Oracle ODBC Companion 당연한 얘기.. 더보기
오라클 ora_hash() 함수 - Input 값에 대한 해시값을 리턴해주는 (형식) ora_hash( 컬럼/표현식, max_bucket, seed_value ) ora_hash() 함수는 컬럼 또는 표현식을 입력값으로 받아서 해시함수를 적용해서 적당한 해시값을 리턴하는 함수입니다. 해시함수는 입력값을 특정 버켓 값으로 변환해주는 단순한 함수입니다. 버켓(bucket)은 쉽게 설명하면 '양동이'라고 생각하면 되죠. 예를들어 "테이블에 놓여있는 100개의 사과를 5개의 양동이에 나눠담아라." 라고하면, 5개의 양동이가 바로 버켓입니다. 5개의 양동이중에 한개의 양동이에만 100개를 다 담아버릴수도 있지만, 골고루 랜덤하게 분산시키고 싶은 경우에 이 해시함수를 사용하는 겁니다. 위 SQL문은 EMP 테이블에서 empno 컬럼을 ora_hash() 함수를 적용해서 출력한 결과입니다. .. 더보기
오라클 DBMS 내에서 무료로 제공하는 머신러닝 알고리즘 (Machine Learning Algorithm) Oracle DBMS 내에서 머신러닝(Machine Learning)을 할 수 있습니다. DBMS_DATA_MINING 이라는 패키지 형태로 다양한 머신러닝 알고리즘들을 제공하고 있어서 DB 내에서 SQL을 사용해서 쉽게 머신러닝이 가능합니다. 예전에는 OAA(Oracle Advanced Analytics) 라는 옵션으로 판매하던 것인데, 이게 "무료"로 풀렸습니다. Oracle Machine Learning 기능은 Oracle Enterprise Edition 에서만 사용할 수 있습니다. Standard Edition 에서는 사용할 수 없습니다. 오라클에서 제공하는 Machine Learning 알고리즘은 다음과 같습니다. . Apriori (11g 이상) . CUR Matrix Decompositio.. 더보기
[SQL] 오라클의 if then else 표현 decode, case when 문장 Oracle DBMS에서 SQL문을 만들때 프로그램에서처럼 if then else 문을 사용할 수 있습니다. 두가지 방법이 있는데, decode 와 case when 문장입니다. decode(컬럼, 값1, 리턴1, 값2, 리턴2, 리턴3); -- decode 문 안에서 decode 문 중첩해서 사용 가능. -- 해석: "컬럼=값1" 인 경우 리턴1, "컬럼=값2" 인 경우 리턴2, 나머지는 리턴3 decode 문은 equal(=) 조건에 해당하는 형태로 사용합니다. 좀더 if then else 문처럼 다양한 표현식을 쓰고자 하는 경우에는 case when 문이 더 적합합니다. 1) case 컬럼/식 when 값1 then 리턴1 when 값2 then 리턴2 else 리턴3 end 2) case when.. 더보기