Database (29)

CentOS7에서 MySQL5.7 설치 후 ROOT 패쓰워드 변경하는 방법

CentOS7 리눅스에서 MySQL5.7 버전을 설치하는 방법은 간단하다. rpm 파일을 다운로드 받은 뒤 yum 명령어로 설치만 해주면 된다. 본 포스팅에서는 그 과정까지만 간략하게 담아보도록 한다. 01. wget 툴 설치 [root@localhost ~]# yum -y install wget 02. yum Repository Package 다운로드 [root@localhost ~]# wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm 03. Package 설치 [root@localhost ~]# yum -y localinstall mysql57-community-release-el7-7.noarch.rpm 04. MySQ..

Database/MySQL | 2018. 5. 6. 00:30

[Mysql] 사용자 권한 설정: Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this Mysql server

MySQL을 기반으로한 데이터베이스들은 처음 설치하면 기본값으로 외부에서 접속이 불가능하도록 막혀있다. 따라서, 설치한 서버의 localhost 영역에서만 접근이 가능하므로 외부 접근을 풀어줘야 한다. 외부 접근을 관리하는 기준은 User, Database, Client IP 기준으로 관리된다. 따라서 어떤 유저의 접근을 어떤 아이피에서 풀어줄 것인지 세세하게 정의되어야 한다. 접속을 허용하지 않은 클라이언트에서 접속을 시도하면 아래와 같은 에러 메시지가 출력된다. [ Error: Unable to connect to MySQL. Debugging errno: 1045 Debugging error: Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using pass..

Database/MySQL | 2018. 4. 12. 00:30

오라클(Oracle) 11g 삭제 방법: Windows 운영체제에서

오라클은 기타 다른 프로그램과는 다르게 설치당시 하드영역, 레지스트리, 서비스영역 모두를 사용하는 복잡한 프로그램이다. 그렇기 때문에 삭제를 하는 절차 또한 여러가지 신경을 써줘야 깔끔한 삭제가 이루어진다. 삭제하는 절차는 생각보다 어려운 작업은 아니며 아래와 같이 쉽게 따라할 수 있다. 01. 제어판의 관리도구를 실행한다. 02. 서비스를 클릭한다. 03. 팝업되는 서비스 목록에서 Oracle과 관련된 모든 항목을 중지 시킨다. 중지시키는 방법은 마우스 우클릭 또는 왼쪽에서 '중지' 버튼을 클릭하면 된다. 04. 시작프로그램에서 Oracle 항목 중 'Universal Installer'를 찾아서 실행한다. 혹시, 해당 경로나 프로그램이 보인다면 걱정할 필요 없다. 단지, 삭제 프로그램의 위치를 파악하..

Database/Oracle | 2018. 3. 8. 01:01

오라클 테이블스페이스(Oracle Tablespace) 삭제

오라클 테이블 스페이스는 SQL 쿼리문을 통해서 간단하게 삭제가 가능하다. 아래와 같은 명령어로 테이블 스페이스를 삭제하거나 이름을 변경할 수 있다. # 테이블 스페이스 삭제 DROP TABLESPACE [Tablespace Name] INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS; # 테이블 스페이스 이름 변경 ALTER TABLESPACE [Tablespace Old Name] RENAME TO [Tablespace New Name]; DB 툴에서 테이블스페이스가 정상적으로 지워졌는지 아래와 같은 SQL 쿼리문으로 확인할 수 있다. SELECT * FROM DBA_DATA_FILES; [조회 결과]

Database/Oracle | 2018. 1. 24. 14:47

오라클 CONCAT 함수: 문자열 합치기

오라클에서는 문자열을 합칠 수 있는 함수가 존재한다. 단순히 연결 연산자(||)와 동일한 기능을 한다. 오라클 관점에서는 연결 연산자를 통한 쿼리보다 조금더 안정적인 가독성을 제공한다. 오라클 11g 교제에는 아래와 같이 함수를 설명하고 있다. # CONCAT(column1|expression1, column2|expression2) -. 첫번째 문자 값을 두번째 문자 값과 연결합니다. 연결연산자(||)와 같은 기능입니다. 사용법에 대한 특별한 설명은 필요없이 몇번 조작해보면 금방 익힐 수 있다. 단순하게 expression1과 expression2를 연결해주는 역할이 전부다. 오라클에서 기본으로 제공되는 EMP 테이블로 예제는 아래와 같다. SELECT CONCAT(JOB, SAL) FROM EMP; ..

Database/Oracle | 2017. 12. 7. 22:37

오라클(Oracle) 언피봇(Unpivot) 사용 방법

오라클 함수인 Pivot 및 Unpivot 기능은 Oracle 11g 버전부터 제공하는 강력한 함수이다. 피봇함수는 행을 열로 뒤집는 함수지만, 언피봇함수는 열을 행으로 뒤집는 함수다. 이러한 강력한 함수가 지원되기 이전에는 decode, case문을 이용해서 행 또는 열을 뒤집어야 했다. 언피봇 함수는 약간의 제약사항과 룰만 지켜주면 훌륭한 함수로 사용할 수 있다. 본 포스팅에서 주의하길 바라는 키워드는 컬럼명, 데이터 영역이다. 각 용어들에 대해서 반복적으로 자주 사용할 것이다. 오라클(Oracle) 피봇(Pivot) 사용 방법 그룹핑 개념으로: http://wookoa.tistory.com/240 설명에 사용할 예시 데이터는 오라클에서 교육용으로 제공해주는 EMP 테이블이며, 자세한 데이터는 아래와..

Database/Oracle | 2017. 11. 10. 00:30

오라클(Oracle) 피봇(Pivot) 사용 방법: 그룹핑 개념으로

오라클 함수인 Pivot 및 Unpivot 기능은 Oracle 11g 버전부터 제공하는 강력한 함수이다. 피봇함수가 지원되기 이전에는 decode, case문을 이용해서 행과 열을 뒤집어야 했지만, 피봇함수가 지원되면서 행과 열을 간결하게 뒤집을 수 있다. 피봇 함수를 사용한다해도 피봇할 컬럼들은 미리 정의를 해놓아야 하지만, 조금 더 간결하게 코딩할 수 있어서 좋다. 지금부터 오라클 11g Pivot 함수에 대해서 GROUP BY 절과 연관지어서 자세히 설명하도록 한다. 오라클(Oracle) 언피봇(Unpivot) 사용 방법: http://wookoa.tistory.com/241 설명에 사용할 예시 데이터는 오라클에서 교육용으로 제공해주는 EMP 테이블이며, 자세한 데이터는 아래와 같다. EMP 테이블..

Database/Oracle | 2017. 11. 9. 01:13

[Oracle 12c] ORA-28040: No matching authentication protocol

오라클의 서버와 클라이언트 버전이 일치하지 않아서 발생하는 에러이다. 일반적으로 Oracle 12c에서 발생하는 에러이며, 데이터베이스 서버는 12c 버전인데 클라이언트가 하위 버전일 경우 발생한다. 오라클 서버의 SQLNET.ORA 파일을 수정하는 것으로 해결이 가능하다. 파일명: SQLNET.ORA 파일의 경로: C:\app\dp\product\11.2.0\dbhome_1\NETWORK\ADMIN\SQLNET.ORA 파라미터: SQLNET.ALLOWED_LOGON_VERSION = 9 파라미터 값 9의 의미는 10G, 11G 버전의 클라이언트 접속을 허용한다는 의미다. 오라클에서 제공해준 자세한 내용은 아래와 같다. Allowed Values • 12 for the critical patch upda..

Database/Oracle | 2017. 11. 7. 04:00

[Oracle 12c] ORA-65096: invalid common user or role name 오류

전체적인 구조를 변경해서일까 Oracle 12c를 사용하면서 여러가지 오류에 직면하게 된다. 사용자 생성 방법이나 규칙이 조금 변했다. 일반적인 사용자 생성 스크립트로는 에러에 직면한다. ORA-65096: invalid common user or role name 위의 에러를 해결하기 위한 방법은 두가지가 존재한다. 첫번째는 생성할 계정명 앞에 'C##' 키워드를 붙여주는 것이며, 두번째는 예전의 스크립트 방식 그대로 생성이 가능하도록 설정을 변경하는 방법이다. 딱히 자신의 환경이 연습용이거나 12c의 클라우드 계정을 염두해서 사용할 것이 아니라면 후자를 추천한다. 추가로, C## 키워드가 붙는 이유는 12c 버전에 등장하는 CDB, PDB 개념 때문이다. -. 계정명 앞에 C## 키워드 추가 CREA..

Database/Oracle | 2017. 11. 6. 21:49

Preventing user to connect / as sysdba 접근 방지

오라클을 처음 셋팅하면 관리자 유저로 접속하기 위한 방법 중 하나가 바로 '/ as sysdba'이다. 이러한 접근 방법은 관리자의 편의성 및 SYS 및 SYSTEM 계정의 암호 분실시 간편한 복구를 위함이다. 하지만 이같은 편리한 접속 방법을 방지하지 않으면 보안에 취약점을 노출하게 된다. 따라서, SQLNET.ORA 파일에 SQLNET.AUTHENTICATION_SERVICES 파라미터를 NONE 으로 설정할 경우, 위에서 언급한 로그인 기능은 방지된다. 따라서, 반드시 관리자 계정의 패스워드를 명시해야만 접근이 가능하다. 일반적으로 파라미터의 기존 값은 NTS로 설정되어 있다. 파일명: SQLNET.ORA 파일의 경로: C:\app\dp\product\11.2.0\dbhome_1\NETWORK\AD..

Database/Oracle | 2017. 11. 5. 22:44