일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- patch
- RHEL4
- bash
- oracle install
- mariaDB
- MySQL
- Unix
- memory
- fdisk
- rac
- prompt
- 연산자
- perl string
- sqlplus
- php5
- command & perl
- solaris
- grid
- Oracle RAC
- perl + 정규표현식
- dba
- Network
- PERL
- Linux
- oracle
- solaris network
- cygwin
- 오라클
- SQL
- perl one-liner
- Today
- Total
목록전체 글 보기 (154)
DATA 전문가로 가는 길
데이터베이스 이관(마이그레이션)할 때 정상적으로 이관 되었는지 확인 할 때 사용하는 쿼리를 작성했습니다.운영하는 DB에 따라서 다를 수 있지만, 기본적으로 아래와 같습니다. 운영서버 MINUS 신규운영서버 UNION ALL 신규운영서버 MINUS 운영서버 대부분 운영서버에서 신규운영서버로 이관하게 되지만, 경우에 따라서 양쪽 다 비교해야 하는 경우가 생깁니다. 쿼리를 수행해서 타 시스템의 데이터를 한 번에 비교해 볼 수 있습니다. 대용량 데이터의 경우는 특정 일자 패턴을 잡아서 전일자부터 현재까지만 비교할 수 있도록 개선하였습니다. SELECT A.TABLE_NAME ,'SELECT ''NEW_DATA''' || ' AS DATA_TP, A.* FROM (' || A.NEW_DB_SQL || ' MINU..
오라클 넷에서 사용하는 tnsnames.ora 파일의 세부 속성입니다. TESTDB = // 서비스 이름 (DESCRIPTION = // 접속하고자 하는 대상 데이터베이스정보 (ADDRESS_LIST = // ADDRESS들의 모임 // ADDRESS : 접속하고자 하는 데이터베이스 서버의 리스너를 호출하기 위한 주소 정보 // Protocol, Hostname, Port를 지정할 수 있습니다. (ADDRESS = (PROTOCOL = TCP)(HOST = estenpark.com)(PORT = 1521)) ) (CONNECT_DATA = // SERVICE_NAME 옵션을 이용하여 접속할 리스너프로세스가 사용 // 하는 서비스 이름을 지정하거나또는 SID 옵션을 이용 // 데이터베이스의 SID 명을 지..
오라클 데이터베이스에 특정 사용자에 접속해서 테이블 정보를 조회해야 하는 경우가 생기는데 USER_TAB_COLUMNS, USER_TAB_COMMENTS, USER_CONSTRAINTS 딕셔너리를 이용하여 테이블 레이아웃 형태와 같이 뽑을 수 있습니다. SELECT X.TABLE_NAME ,X.TABLE_COMMENTS ,X.COLUMN_NAME ,X.COLUMN_COMMENTS ,X.PK_FLAG ,X.FK_FLAG ,X.NULL_FLAG ,X.DATA_TYPE || X.DATA_LENGTH as COLUMN_DATA_TYPE FROM (SELECT A1.TABLE_NAME TABLE_NAME ,A1.TABLE_COMMENTS TABLE_COMMENTS ,A1.COLUMN_NAME COLUMN_NAME..
보통 인터페이스에서 수신받은 데이터를 일괄적으로 테이블에 쌓는 작업을 많이 하게 되는데 그때 필요한 작업이 SQL Loader, 자바, C에서 로딩하는 여러 가지 방식이 있을 수 있습니다. 그러나 소스코딩이 많아서 업로딩 할 때 시간이 많이 들기 때문에 Oracle에서 추천하는 External Table을 이용하여 파일을 빠르게 로딩할 수 있습니다. 대량의 데이터를 업로딩 해보지 않았지만 500MB 파일을 로딩하는 데 큰 문제는 없었습니다. 다만, External Table -> 일반 적재 테이블 -> 서비스될 테이블 순으로 변경 절차가 많아진다는 단점은 보입니다. 그러나 DB 설계 시 표준화 작업을 제대로 했다면 위와 같은 일괄작업을 손쉽게 할 수 있습니다. 그럼 External Table(익스터널 테..
오라클 패키지를 분석하다보면 사용하고 있는 테이블이 무엇인지 알고 싶을 때가 많습니다. dba_dependencies 딕셔너리를 이용해서 확인 하셔도 되지만, 더 나아가서 패키지 안에 프로시저별로 테이블을 뽑고 싶을 때 사용하시면 됩니다. [ 쿼리 ]SELECT X.OWNER, X.NAME, X.TYPE, X.PROCEDURE_NAME, X.TABLE_NAME, X.LINE || ' ~ ' || X.LINE_NEXT AS LINE, X.TEXT AS ORG_PROCEDURE_NAME FROM (SELECT A.*, Trim(Regexp_substr(A.TEXT, '(PROCEDURE\s+)(.+)(\()', --> subexpressions ? ??? ??? 1, --> ???? 1, --> ???? '..
오라클에서 누적 곱을 구하는 방법을 아래와 같이 정리했습니다. 첫번 째 : NULL 존재할 경우 무조건 누적 값을 계산 한다. 두번 째 : NULL 존재할 경우 누적 곱을 새로이 계산 한다. LN : LN 함수는 입력값의 자연 로그 값으로 반환하며, 0보다 큰 값이 나타낸다. SUM : 함계를 계산한다. EXP : 누적 곱을 계산한다. 1. NULL 존재할 경우 무조건 누적 값을 계산 WITH T AS (SELECT '20130503' TRD_DT,1 RT FROM DUAL UNION ALL SELECT '20130504' TRD_DT,NULL RT FROM DUAL UNION ALL SELECT '20130505' TRD_DT,1 RT FROM DUAL UNION ALL SELECT '20130506'..
Pro*c, SQL, C, JAVA에서 쿼리가 존재한다면 해당 테이블만 추출할 수 있는 명령어이다. 1. 주석은 제외한다. 2. 조회(SELECT)부분만 추출한다. 3. 데이터를 조작(DML)부분만 추출한다. 4. 소스안에 프로시저가 있을 경우 해당 프로시저를 추출한다. 기본적으로 4개를 원칙으로 명령어를 만들었다. 회사에 유능한 대리님이 계셔서 도움을 받았다. 아쉬운 점은 각각 개발자 마다 SQL 포메팅이 달라서 모든 쿼리에 만족할 수 없다. 개인적으로는 아래와 같은 포메팅을 추천한다. SELECT * FROM FAN_ACCOUNT A ,FAN_DATA B WHERE A.ACC_ID = B.ACC_ID ; 명령어 # 테이블 명명규칙 (예 : FAN_ ) # 프로시저 명명규칙(예: USP_ ) # SEL..
1. 연결재무재표란? 지배회사가 자신과 종속회사를 하나의 경제적 실체로 보아 작성하는 반면 개별재무제표는 회사별로 작성하게 됩니다. 한국금융연구원 > IFRS도입에 따라 연결재무제표가 주재무제표가 되었습니다. IFRS가 도입되기 이전, GAAP에서도 각 기업들은 결산 시에 연결재무제표를 작성하여 공시하였습니다. 그러나 IFRS에서는 분, 반기의 재무제표도 연결재무제표로 작성, 공시해야 하는 의무가 생겼습니다. 투자자입장에서는 기업마다 연결재무제표를 공시하는 빈도가 늘어났을 뿐 달라지는 것은 없어 보입니다. FnGuide > 과거 GAAP에서는 연결대상이 있는 종속회사를 보유한 기업들은 두가지 종류의 재무제표를 공시해야 했습니다. 연결재무제표와 개별재무제표가 대표적이라고 할 수 있습니다. 즉, 연결재무제표..