본문 바로가기

DB

(98)
[Tibero] Driver(ODBC, OLE DB, JDBC, ESQL)연결 가이드 ODBC, OLE DB, JDBC, ESQL와 같은 다양한 인터페이스를 통해 Tibero로 연결하기 위한 각 Driver 연동 방법을 소개한다. 제1장 ODBC 연결 본 장에서는 ODBC에 대한 개념과 Tibero ODBC의 설치 및 구성에 대해서 설명한다. 1.1. ODBC 개념 ODBC(Open DataBase Connectivity)는 모든 DBMS에 독립적인 데이터베이스 애플리케이션을 작성하기 위한 API의 집합으로 특정 DBMS 사용자가 ODBC 드라이버를 통해 다른 DBMS를 사용할 수 있게 한다. 따라서 DBMS에 연결하기 위해 ODBC 드라이버 관리자를 호출하여 사용하려는 드라이버를 호출하고 그 드라이버는 SQL을 사용하여 DBMS와 교신한다. 즉, ODBC는 사용자와 각 데이터베이스 엔진..
[Tibero] PHP, ODBC 연동 가이드 1. 개요 본 문서에서는Linux 홖경에서 PHP와 ODBC를 연동하는 방법에 대해 기술합니다. 2. 설명 PHP를 설치하고 Tibero에서 제공하는 ODBC 라이브러리를 통해 PHP에서 Tibero에 접속하는 방법입니다. (아파치 설정 제외) 2.1 OS User 설정 Tibero에 연결하기 위해서는 Tibero에서 제공되는 ODBC 라이브러리가 필요하기 때문에 Tibero 설치 또는 Tibero Client가 필요합니다. Tibero 설치 또는 TiberoClinet 설치는 다른 자료가 많이 있으므로 생략합니다. Tibero에서 제공되는 ODBC 라이브러리를 사용하기 위해서는 PHP를 설치하는 OS User의 profile에 다음의 환경변수 를 설정해야 합니다. export TB_HOME=/home/..
[Tibero] RawDevice + TAC 설치 하는법 Hostname 설정 NODE 1 -- root 수행 hostnamectl set-hostname tibero21 su NODE 2 hostnamectl set-hostname tibero22 su TIBERO Group, User 생성 NODE1, 2 -- root 수행 groupadd -g 1024 dba useradd -g dba -u 1024 tibero passwd tibero 방화벽 확인 NODE 1, 2 -- root 수행 systemctl status firewalld 방화벽이 켜져있다면 꺼주기 systemctl stop firewalld 공유 Disk 세팅 및 RAW 디바이스 생성 NODE1, 2 -- root 수행 ls -al /dev/sd* fdisk /dev/sde n p 1 w l..
[Tibero] tbexport & tbimport (우리 회사 데이터베이스를 티베로로 변경하기) 발췌본 가. 개요 tbExport 유틸리티는 특정 오브젝트들을 추출(export)하여 운영체제의 파일 형식으로 저장하는 기능을 제공하며, 저장된 파일은 다른(혹은 동일한) 티베로 데이터베이스에서 언제든지 다시 불러들여(import) 사용할 수 있다 따라서 사용자는 해당 유틸리티를 통해 주요 오브젝트들을 손쉽게 이동할 수 있으며 별도의 저장매체에 복사하여 안전하게 백업할 수도 있다. 다만 tbExport 수행 자체가 많은 운영체제/데이터베이스 자원을 사용하므로 데이터베이스 부하가 적은 시간에 작업하는것이 바람직하다. 또한 손쉽게 많은 데이터를 추출할 수 있는 만큼 해당 유틸리티를 사용할 수 있는 사용자를 철저히 통제하여 보안사고가 발생하지 않도록 주의를 기울여..
[Tibero] tbExport/tbImport 주로 Tibero to Tibero 이관 작업을 할떄 사용하며, 두 데이터베이스의 캐릭터셋이 동일해야만 한다. tbExport/tbImport Tibero를 설치하면 $TB_HOME/client/bin 경로에 기본적으로 포함된 유틸리티로, tbExport는 Tibero 데이터베이스 객체의 전체나 일부를 파일로 추출하며, 추출된 덤프 파일과 tbImport를 이용해서 Tibero에 데이터를 다시 생성할 수 있다 tbExport 모드 전체 데이터베이스 모드 Tibero 데이터베이스 전체를 덤프하는 모드로 아래 파라미터 지정으로 설정할 수 있다. FULL=Y 사용자 모드 지정된 사용자의 모든 객체를 덤프하는 모드로 아래와 같이 userlist를 지정해서 설정할 수 있다. USER=TIBERO,TIBERO1,S..
[Oracle] 바인드 변수의 부작용과 해법 바인드 변수의 부작용과 해법 1. 커서란 바인드변수 SQL 수행절차 - 최초 수행시 최적화 - 실행계획 라이브러리 캐시 적재 - 실행시 바인딩 최초 수행할 때 최적화를 거친 실행계획을 라이브러리 캐시에 적재하고, 실행시점에는 그것을 그대로 가져와 값만 다르게 바인딩하여서 반복 재사용 SQL의 최적화시점에서는 조건절 컬럼의 데이터 분포도를 활용하지 못하는 문제점을 가짐 바인드 변수를 사용할 때는 평균 분포를 가정한 실행계획을 생성 아래의 기준으로 선택도를 구하게 된다. 1 번호 > : NO 5 번호 between :NO and :NO 2 번호 :NO and 번호 = : NO 7 번호 >= :NO and 번호 < :NO2 4 번호 :NO and 번호 < :NO2 1~4번은 선택도 5..
[Oracle] ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다. 에러 해결 오래간만에 개인 PC에 오라클을 설치하고 계정을 만들려고 하니 오류메시지가 하나 출력되었습니다. ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다. 이라는 오류 메시지인데요. 오라클 12c부터는 공통계정앞에 c##을 붙이도록 네이밍 규칙이 바뀌었더군요. C## 키워드가 붙는 이유는 12c 버전부터 등장하는 CDB, PDB 개념 때문이라고 합니다. 11g까지만 사용해봤었던 저로써는 오늘도 하나 배워갑니다. ㅎㅎ; C##을 붙여주니 정상적으로 계정이 만들어집니다. 권한을 줄때도 앞에 C##을 붙여주어야 합니다. 토드나 sql developer 같은 sql 개발툴에 접속할때도 꼭 앞에 C##을 붙여주셔야 합니다. 그렇지 않으면 위와같이 사용자명/비밀번호가 부적합, 로그온할 수 없습니다. 라는 오류 ..
[Oracle] Chapter 11. 백그라운드 프로세스의 동작과 역활 11.1 백그라운드 프로세스를 왜 배워야 하는가? 현실 사회에서도 전면에 나서는 일과 뒤에서 지원하는 일이 있다. 밖에서 보면 전면에 나서서 일하는 사람만 눈에 띄지만, 실제로는 뒤에서 지원하는 업무 체계가 잘 잡힌 회사나 가게가 대단한 경우가 오히려 많다. 지원 스태프가 일을 제대로 하지 못하면 장애가 발생하기도 하며, 전면에 나서서 일하는 직원들에게 폐를 끼칠 수도 있다. 오라클도 잘 작동하고 있을 때는 상관이 없지만, 일단 장애가 발생하고 나면 백그라운드 프로세스의 동작과 관련된 지식이 필요할 때가 많다. 또한, 지원 스태프들의 일을 제대로 이해하지 않으면 업무 전체를 이해했다고도 할 수 없으므로 눈에 잘 띄는 서버 프로세스뿐만 아니라 백그라운드 프로세스도 잘 배워야 한다. -------------..