리눅스환경 개발 15

docker에서 mysql사용하기

docker를 사용하여 데이터베이스사용. java같은 경우에도 jvm이라는 가상환경에서 java 어플리케이션이 실행되는것처럼 docker라는 리눅스기반 가상 플랫폼을 사용하여 mysql를 실행시켜보자. 1. docker 설치 https://docs.docker.com/ Dounload and install 선택 , 자신의 운영체제에 맞는것으로 설치하면 된다. 기본적으로 세팅되어있는걸로 인스톨해준 후 재부팅하면 완료. cmd창을 통해 해당 도커가 잘 설치되었는지 확인 가능하다. 2. workbench 설치 https://dev.mysql.com/downloads/workbench/ MySql에서 기본적으로 제공하는 데이터베이스를 우리가 알아볼 수 있도록 gui툴을 제공한다. 두개의 설치가 완료되었다면 실제..

[PRO*C] Dynamic sql (method 1~3)

Method 1 QUERY문이 아니면서 호스트 변수가 없는 경우 Dynamic SQL문을 작성하고 “EXECUTE IMMEDIATE”를 이용하여 즉시 실행함/ SQL문은 QUERY문이 아니어야 하고, 입력용 호스트 변수가 존재하지 않아야 함 ( SQL문이 매번 실행될 때마다 PARSING ) Method 2 QUERY문이 아니면서 호스트 변수가 정해지지 않은 경우 Dynamic SQL문 작성 후 “PREPARE” 와 “EXECUTE” 명령에 의해 실행함 / SQL문은 QUERY문이 아니어야 하고, 여기에서 사용된 호스트 변수는 프리컴파일 시점에는 데이터 타입과 위치는 정해져 있어야함 Method 3 호스트 변수와 SELECT컬럼이 정해진 QUERY문인 경우 Dynamic SQL문 작성 후 “PREPARE..

[ORACLE] PL/SQL (FUNCTION, PROCEDURE, PACKAGE, TRIGGER)

1. PL/SQL 개념 : Oracle's Procedural Language extension to SQL의 약자 -SQL문장에서 변수정의, 조건처리(IF), 반복처리(LOOP,WHILE, FOR)등을 지원하며 -오라클 자체에 내장되어 있는 절차적 언어로 SQL의 단점을 보완 - PL/SQL 프로그램의 종류는 크게 Procedure, Function, Trigger로 나뉘어 진다. 1.2 PL/SQL 기능 1) 변수 선언 2) 비교 연산 처리 3) 반복 실행 1.3 PL/SQL 구조 : 기본 구조 Block [DECLARE 선언문] --변수, 상수, 커서, 프로시저, 함수 등 선언 BEGIN 실행부 [EXCEPTION 예외 처리문] END; / Error 발생 시 실행을 중단하고 EXCEPTION절로 ..

[ORACLE] 테이블 관리

1. 테이블 생성 CREATE TABLE [테이블 명] ( 컬럼명 데이터타입 조건, … 컬럼명 데이터타입 조건 ); 데이터 타입 제약 조건 2. 기본적인 SQL문 CRUD 2.1 INSERT INSERT INTO 테이블명 VALUES(데이터) 2.2 SELECT SELECT 필요한 컬럼 FROM 테이블명 WHERE 조건 2.3 UPDATE UPDATE 테이블명 SET 수정할컬럼=수정할값 WHERE 조건문 2.4 DELETE DELETE FROM 테이블명 WHERE 조건문

[ORACLE] 계정 관리 및 권한

1. 계정 생성 CREATE USER [유저명] IDENTIFIED BY [암호] 2. 현재 사용자 확인 SHOW USER 3. 계정 접속 CONN ID/PASSWD 3.1. 관리자 계정으로 접속 sqlplus '/as sysdba' 4. 권한 부여 GRANT [권한명] TO [유저명] [WITH GRANT OPTION] 사용자에게 시스템 권한을 부여하는 명령어 [계정]자리에 PUBLIC을 기술하면 모든 사용자에게 해당 시스템 권한이 부여 - WITH GRANT OPTION: 이 옵션을 사용하면 TO 절의 대상도 자신이 받은 권한을 다른 유저에게 부여할 수 있다. 5. 권한 회수 REVOKE [권한명] FROM [계정] [CASCADE CONSTRAINTS] 사용자에게 부여한 객체 권한을 데이터베이스 관..

[PRO*C] PRO*C 개념, 사용이유, 프로그램 개발 과정

Pro*C 란? - 오라클에서 제공하는 전처리 컴파일러 : Pre-Compiler > C프로그램에 포함된 SQL 문장 -> C함수 호출로 변환한다. - 오라클 Pro*C의 특징 > 전처리 컴파일러 > C 프로그램 코드 안에 "SQL 명령어"의 사용을 가능하게 한다. > Pro*C로 작성된 프로그램의 확장자 : .pc > .pc 프로그램의 기본 문법은 C언어 문법을 따른다. Pro*C를 사용하는 이유 > 비교적 쉽게 데이터베이스 연동 프로그램의 작성이 가능하다. > SQL과 가장 가까운 형태의 코드를 사용하여 프로그램이 가능하다. > C를 이용하여 데이터 베이스 기능을 "직접" 호출하는 것 보다 쉽다. Pro*C 를 이용한 프로그램 개발 과정 ① .pc 소스 코드 작성 : C언어 + SQL 명령어 ② Pr..

[PRO*C] PLS-S-00201 ' ' 식별자가 정의되어야 합니다. (오류해결)

PRO*C 개발 도중에 PLS-S-00201 ' ' 식별자가 정의되어야 합니다. 라는 오류가 확인되었다. DML은 SQL언어이므로 구문 검사 시 문제가 안되지만 프로시저는 SQL지정 구문이 아니기 때문에 인식 불가 오류가 발생한다. SQLCHECK를 SEMANTICS로 설정하고 USERID/PASSWD를 입력하여 PRO*C를 실행해주면 된다. [oracle@oracle ~]$ proc iname=sherpa.pc SQLCHECK=SEMANTICS userid=[ID]/[PW] 이후에 make all을 통해 정상적으로 작동

LINUX) .bash_profile PATH 재 설정 (경로 오류 해결)

리눅스를 재부팅하고 나서 경로가 제대로 잡히지 않았는지 sqlplus나 pro*c 명령어 자체가 정의되지 않거나 접근할 수 없다는 오류가 발생했다. 발생된 오류 들 sqlplus 실행시 >> rlwrap: error: Cannot execute sqlplus: Permission denied , bash: sqlplus: 명령을 찾을 수 없습니다... pro*c make 실행시 >> make: execvp: proc: 허가 거부 make: *** [p_select.c] 오류 127 이 오류들은 명령어들의 PATH가 제대로 잡혀있지 않아서 생기는 오류임을 확인했다. 사용자 계정에서 vi ~/.bash_profile 수정 전: PATH=$PATH:$HOME/bin 수정 후: PATH=$PATH:$HOME/b..

LINUX) 리눅스 오라클 설치 및 환경 설정 (3) -리스너,DB생성,실행

이전 설치 내용 https://jeongdev55.tistory.com/73 LINUX) 리눅스 오라클 설치 및 환경 설정 (1) - 환경변수 설정,설치경로 1. 의존 라이브러리 설치 (root 계정으로 설치) 2. oracle-database-preinstall 설치 및 환경설정 확인 3. oracle user 생성 4. selinux 설정 - vi /etc/selinux/config 로 열어 설정 변경하기 * Enforcing :.. jeongdev55.tistory.com https://jeongdev55.tistory.com/74 LINUX) 리눅스 오라클 설치 및 환경 설정 (2) -Xming, Xshell, 엔진설치 이전에 리눅스 환경 설정 및 오라클 압출풀기 까지 진행했습니다. https:/..