본문 바로가기

Database

(11)
[Altibase] 알티베이스 테이블별 메모리 사용량 조회 set linesize 2048;set colsize 30;SELECT a.user_name ,NVL(d.name,'SYS_TBS_MEMORY') AS 'TABLESPACE_NAME' , b.table_name , round((c.fixed_alloc_mem + c.var_alloc_mem)/(1024*1024),2) 'ALLOC(M)' , round((c.fixed_used_mem + c.var_used_mem)/(1024*1024),2) 'USED(M)' , round((c.fixed_used_mem + c.var_used_mem)/(c.fixed_alloc_mem + c.var_alloc_mem)*100,2) 'EFFICIENCY(%)'FROM system_.sys_users_ a , system_..
[Altibase] 알티베이스 PK 없는 테이블 조회 알티베이스 이중화를 하기 위한 조건 중 하나가 테이블에 PK 값이 필수로 들어가야 한다는 제약이 있다. 그래서 혹시나 PK가 설정되지 않는 테이블이 있나 조회가 필요했다. select * from SYSTEM_.SYS_TABLES_ where table_id not in (select table_id from SYSTEM_.SYS_CONSTRAINTS_ where constraint_type = 3) and user_id != 1 and table_type ='T'; contraint_type 등으로 다른 제약도 검색 가능하다.
[Altibase] 알티베이스 lock걸린 트렌잭션 조회 및 삭제 1. v$lock 에서 table 이름과 transaction ID, lock 종류를 확인한다.Select a.table_name, b.trans_id, b.lock_descFrom system_.sys_tables_ a, v$lock bWhere a.table_oid = b.table_oid;​2. 위에서 얻은 trans_id 를 이용하여 session 을 찾는다.Select session_id, execute_flag, total_time, execute_time, rpad(query,400) From v$statementWhere tx_id = 위에서 얻은 trans_id;​3. session_id 를 이용하여 session 정보를 확인한다.Select comm_name, client_app_inf..
[Mongo] 몽고DB 사용자 추가 @기본 명칭 1) TABLE -> COLLECTION (컬렉션)2) ROW -> DOCUMENT (도큐멘트)3) COLUMN -> FIELD (필드)4) PK -> OBJECT_ID Field (오브젝트 ID 필드)5) RELATIONSHIP -> EMBEDDED & LINKING ( 임베디드 & 링킹)​@사용자 추가 [root 계정[ db.createUser({user: "", pwd: "", roles:["root"]})추가 후 리스타트 ​관리계정 추가.use DATABASEdb.createUser({user: "" pwd: "", roles:["dbOwner"]})​몽고 접속mongo -u "" -p ""
[Mongo] 몽고DB 설치 (윈도우) 1. 홈페이지 접속 (MongoDB Download Center)2. Community Server 탭에서 msi 파일을 받는다.3. 설치 진행하다 custom 선택 후 별도에 폴더로 지정해주자.몽고 Compass 는 GUI 버전인데 Robomongo 란걸 많이 쓰는거 같다. 설치 시 패스 4. 환경설정​mongod 라는 실행파일이 있는데 커맨드라인에서 경로를 들어가지않아도 ​바로 실행할 수 있도록 환경변수를 추가해야 한다.​환경변수 추가는 [내컴퓨터] 우클릭 -> [고급시스템설정] -> [환경변수(N)] 으로 들어가면 된다.​하단 시스템변수 리스트 중에서 PATH 를 편집 선택한다음 아래와 같이 MognoDB설치경로\bin 를 추가하면 된다.​환경변수를 추가했다면 이제 커맨드라인 ( Windows키 +..
[오라클] TO_NUMBER 변환후 타입 에러 issue. VIEW 테이블에 VARCHAR 를 TO_NUMBER 로 변환 후 조회시 에러 발생.​view 테이블에는 전부 숫자형 데이터로 확인되지만 실제로는 그러지 않은 데이터가 존재 할 수 있다.​* 확인 방법1. SELECT amt FROM t WHERE TRANSLATE(amt, 'a0123456789', 'a') IS NOT NULL;조회 되는 값이 있다면 해당 데이터 수정해준다.​2.TO_NUMBER(REGEXP_REPLACE(컬럼, '[^0-9]', ''))해당 정규직으로 숫자만 남기고 나머지는 치환한 후 데이터를 넣어준다.​끝.
[오라클] 대소문자 시스템설정 변경 CREATE OR REPLACE TRIGGER case_insensitive_trgAFTER LOGON ON SCHEMABEGIN execute immediate 'alter session set NLS_SORT=BINARY_CI'; execute immediate 'alter session set NLS_COMP=LINGUISTIC';END;/​해당 트리거는 해당 세션이 로그인 된 후에 작동한다. NLS_SORT와 NLS_COMP 를 위와 같이변경하면 대소문자에 영향을 받지 않는다.
[오라클] 전체 테이블 및 시퀀스 삭제 오라클에서 전체 테이블 삭제 와 시퀀스 삭제를 해보자. 테이블 삭제 Beginfor c in (select table_name from user_tables) loopexecute immediate 'drop table '||c.table_name||' cascade constraints';end loop;End; 시퀀스 삭제 Beginfor c in (SELECT * FROM all_sequences WHERE SEQUENCE_OWNER='DBUSER') loopexecute immediate 'drop SEQUENCE '||c.sequence_name;end loop;End;
[MySQL] group concat 을 이용한 세로컬럼을 하나로 표현 mysql 함수 중 group concat을 이용하여 세로컬럼을 하나로 표현해보자.ex) select no , group_concat(no2) from test group by no; no no2 (컬럼명) 1 가나 1 다라 1 마바 1 사아 result : 1 , 가나다라마바사아
[MySQL] 다중 테이블 삭제 Mysql 에서 여러 테이블을 한번에 삭제하고자 할때 사용해보자.SET @tables = NULL;SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @tables FROM information_schema.tables WHERE table_schema = 'DB이름 여기에 입력'AND table_name LIKE '%테이블명%';​SET @tables = CONCAT('DROP TABLE ', @tables); PREPARE stmt FROM @tables; EXECUTE stmt; DEALLOCATE PREPARE stmt;