cmd 에서 오라클 계정을 생성하고 권한을 주고 테이블을 덤프하는 명령어이다. sqlplus "/as sysdba" -> cmd에서 sqlplus로 오라클 접속 create user abc identified by 1234; ->abc라는 계정을 생성하고 비밀번호는 1234로 설정한것이다. alter user abc account unlock; -> abc계정의 lock을 푼다. grant connect, resource, dba to abc; -> abc계정에 db작업에 필요한 모든 작업을 준것이다. grant create session to abc; -> 세션생성 권한 grant create table to abc; -> abc 계정에 테이블 생성권한 주기 grant drop any table to ..
게시판의 댓글 쿼리가 마리아DB쿼리로 되어있어 이 쿼리문을 오라클쿼리로 바꿨다. 처음에 난 저 쿼리문을 오라클 쿼리로 따로바꿔줘야 되는지 몰랐다.. 위 쿼리문은 댓글을 Insert하는 쿼리인데댓글을 get하는 쿼리문에서 repNo값이 계속null로 나와 오류가 났다. 내가 사용하고있는프로젝트와 위 마리아DB를 사용한 프로젝트가 달라오류 찾기가 어려웠다. 변수명과 컬럼명이 다 달랐기 때문에난 당연히 컨트롤러 쪽이나 뭐 어디선가 내가 오타를 낸줄 알고계속 찾았는데 1시간동안 해결도 못하고 멍때리고 있는순간 갑자기 jqgrid사용했을때 쿼리문에서 keyProperty를 사용한것이떠올랐다. 바로 구글에 검색을 해보니 마리아DB/Mysql 이랑오라클에서 keyProperty를 사용할때 문법이 다르다고 한다... ..
요즘 MariaDB 쿼리를 오라클 쿼리로 바꾸면서배우는게 많은것 같다.이번엔 MariaDB에서 ON DUPLICATE KEY 를 오라클에서사용하기위해 바꿔 보겠다. 먼저 내가 바꾸려고 했던 MariaDB를 보자대부분 ON DUPLICATE KEY 를 사용하기 위해선아래와 구성이 비슷할 것이다. ON DUPLICATE KEY 에 대한 구성과 기능을 알아보자. INSERT INTO로 favorite 라는 테이블에 데이터를 삽입하려 한다.hno, member_nm 이라는컬럼에 VALUES로 파라미터값 #{hno}, #{memberNm}의 값을 넣는다. 이때 hno와 member_nm에 이미 값이 들어있다면ON DUPLICATE KEY 가 쓰이게 된다. ON DUPLICATE KEY 를 사용하여 만약 INSER..
게시판 댓글 기능에서 댓글은 해당 작성하고 있는게시글의 번호를 가지고 있어야 한다. 즉, 게시글 번호가 3번인 게시글에 댓글을 달려면 이 댓글은 게시글 3번 값을 가지고 있어야 한다. 보통 게시판 기능과 댓글 기능의 테이블은서로 다르다. Board 라는 게시판 글 작성테이블이 있다면 Board_Reply 라는 게시글의 댓글을작성하는 테이블이 있어야 한다. 게시글 번호의 컬럼이 hno라고 생각해보자.이 컬럼이 있는 테이블은 Board 가 될것이고, Board_Reply테이블에서는 hno 값을 가지고 있어야하기 때문에 외래키를 사용할 수 밖에 없다. 먼저 HeidiSQL 에서는 외래키 설정이 쉽다. 위처럼 그냥 메뉴탭에 외래키 설정이 있다왼쪽에 +추가 버튼 누르고 참조하려는 테이블과컬럼을 적어주면 된다. s..
어제 MariaDB로 만들어진 페이징이랑, 게시판 댓글 쿼리들을오라클 쿼리들로 바꿨다. 마이바티스에서 사용하는쿼리들은 바꾸는데 어렵지 않았다. (어차피 쿼리는 그게그거이기 때문에...)그런데 시퀀스랑 외래키 설정 때문에 시간을 얼마나버렸는지 모르겠다. 먼저 외래키 설정은 어렵지 않으니다음 포스팅에서 따로 알아보겠다. MariaDB를 편하게 사용 하기위해 개발툴을 HeidiSQL을썼다. 거기서 기본키로 설정된댓글에 번호 메기는 rep_no 라는 컬럼을 기본값으로AUTO_INCREMENT 줬다. 이것이 문제의 근원이다. 먼저 AUTO_INCREMENT 에 대해 알아보면오라클에서의 시퀀스다 값이 생성 될 때 마다 1씩 증가 시켜준다.즉 댓글 번호를 가르키는 rep_no 라는 컬럼이한번 생성 즉, 댓글이 한번 ..
이번엔 오라클의 NVL과 마리아DB의 IFNULL에대해 알아보자.먼저 마리아DB의 IFNULL을 간단하게 알아보면 위에 두장의 이미지만보면 뭔지 바로 알수 있다. 오라클의 NVL도 위와 같다. 이제 간단하게 내 DB에 저장되어있는 게시판 게시글로 예를들어사용해보자. 먼저 마리아DB에 저장되어있는 게시판의 게시글의 갯수에IFNULL을 사용해 봤다.값이 NULL이 아니기 때문에 게시글에 +1을하여 반환한다.hno는 게시글 번호이다. 실제 게시글은 4개가 저장되어있다 다음 오라클에서 NVL을 사용해봤다. 오라클DB에 저장되있는 게시글은 7개이다 추가로 오라클의 NVL 사용법이다. -숫자로 치환NVL(컬럼, 숫자) : 컬럼의 값이 NULL인 경우 해당 숫자로 치환( ' 가없음에 유의하자 '가 있으면 문자로 읽는..
먼저 오라클과 마리아DB의 쿼리함수 차이를 알아보자.오라클에서 년/월/일 시/분/초 를 SELECT문으로 검색할때함수로 TO_CHAR을 사용한다. 하지만 마리아DB에서는 DATE_FORMAT을 사용한다. 간단하게 이 두가지 방법으로 데이터를 뽑아보자. 먼저 오라클이다. regdatae1은 년/월/일regdate2는 년/월/일 시/분regdate3은 년/월/일 시/분/초를 뽑아왔다. 다음 마리아DB이다.
혼자 웹 공부를 하면서 난 항상 오라클만 써왔다. 그런데 최근 어쩌다보니 MariaDB를 사용하게 됐는데일단 MariaDB에 대해 알아보자. MariaDB는 오픈소스의 관계형 데이터베이스 관리 시스템이다.오라클과 MySQL 등과같은 RDBMS다.MariaDB는 MySQL과 동일한 소스 코드를 기반으로하며GPL v2라이센스를 따른다.오라클 소유의 현재 불확실한 MySQL의 라이센스 상태에반발하여 만드어졌으며 배포자는 몬티 프로그램AB와 저작권을 공유해야한다. 이것은 MySQL과 높은 호환성을 유지하기 위함이며MySQL API와 명령에 정확히 매칭하여, 라이브러리 바이너리와상응함을 제공하여 교체 가능성을 높이고자 함이다.마리아DB에는 새로운 저장 엔진인 아리아 뿐만 아니라,InnoDB를 교체할 수 있는Xtr..