본문 바로가기

Oracle

(8)
[SQL] 문자 함수로 데이터 가지고 놀기 오늘도 열심히 SQL과 달려봅시다! 아직 Select, From, Where 절 사용이 미숙하시다면 아래 글들을 참고해주세요! [SQL] SELECT, FROM 으로 데이터 조회하기 stydent 테이블의 name 컬럼에서 성만 출력 name 컬럼의 1 번째 위치에서 1 개의 문자를 추출하겠다는 의미이죠. select name, substr(name, 1, 1) as 성 from student; => stydent 테이블의 name 컬럼에서 성, 이름을 따로 출력 select name, substr(name,1,1) AS 성, substr(name, 2, 2) as 이름, substr(name, 2) as 이름2 // 끝까지 추출하려면 마지막 인자는 생략 가능 from student; => student..
Tomcat서버를 Root가 아닌 일반사용자로 80포트를 서비스 하는 경우 문제점 Linux(혹은 Unix)에서는 1024번 이하의 포트가 보안상의 이유로 root권한을 가지고 있는 로세스만이 포트를 선점할 수 있다.(root reserved ports) root계정이 아닌 일반계정으로 Tomcat을 서비스 할 때, 정상적으로 Tomcat의 리스너(Listener)가 동작하지 않음을 TOMCAT의 LOG(logs/catalina.out)를 통하여 확인 할 수 있다. 2009. 12. 15 오후 4:14:31 org.apache.coyote.http11.Http11Protocol init 심각: Error initializing endpoint java.net.BindException: Permission denied:80 따라서 일반계정으로 Tomcat을 80번 포트(HTTP ..
리눅스에서 톰캣 일반 계정으로 실행 하기 Tomcat을 root 로 실행할 때의 문제점 root 권한으로 실행을 한다는 건 root 콘솔에서 startup.sh을 통해 톰캣을 실행시킨 것이다. 이때 문제점은 현재 데몬이 root 권한으로 떠있는 것이며, 이상태에서 사용자가 해당 사이트에 접속하면 그 사용자의 접근권한도 root 가 된다... 아파치는 root 로 실행이 가능하고 접속자의 권한은 nobody로 주지만 톰캣은 그렇지 않다. 톰캣은 무조건 데몬을 실행시킨 권한을 접속자에게 동일하게 준다. 문제점 1) 업로드시 폴더에 퍼미션을 걸어놓아도 퍼미션에 영향을 받지 않고 프로그래밍만 되어 있으면 업로드가 된다. 접근 권한이 root 권한이기 때문에... 문제점 2) 업로드 폴더 퍼미션에 실행권한을 빼도 파일업로드시 악의적인 코드를 심어두어 실..
tomcat을 root말고 다른 계정으로 운영하기 +톰캣을 root 계정이 아닌 tomcat 계정으로 실행 하기 우선 tomcat 계정을 생성한다. # useradd -M tomcat 톰캣 계정 설정 확인 계정을 생성하면 home 디렉토리가 /home/tomcat으로 설정 되며, 이를 CATALINA_HOME으로 변경해준다. # grep tomcat /etc/passwd tomcat:x:503:503::/usr/local/tomcat:/bin/bash 실행 스크립트 작성하기 (간략버전) # vi /etc/rc.d/init.d/tomcat 아래 내용을 작성한다. ==> 서비스 재시작(restart)시 문제가 발생할 수 있음!!! 주의! (binding fail.) => 서비스 shutdown이 완전히 완료되었는지 확인하는 작업이 필요함. (아래는 간략 버..
Linux에서 ODBC를 통한 Connetion from Oracle to MSSQL 2부 포스팅에 들어가며 지난 번 포스팅 때 ODBC 관련해서 많은 이론적인 부분과 왜써야하고 어떻게 설치해야하는가에 대해서 이야기를 했다. 이번에는 바로 기술적인 부분으로 들어가도록 하자. 이해하고 한번 설정해보면 크게 어렵지 않지만 한번도 해보지 않았다면 막막할 수 있다. 천천히 따라해보자. 혹시라도 ODBC에 대한 이론적인 부분이라던지 설치에 대한 부분이 궁금하신 분은 아래 포스팅을 참고하고 이번 포스팅을 보면 될 것이다. Step 1. ODBC Manager 정상 설치 확인 # isql --version // ODBC Manager 드라이버 확인 unixODBC 2.3.0 #odbcinst -j // ODBC Manager 정보 확인(버전 역시 확인 가능) unixODBC 2.3.0 DRIVERS......
Linux에서 ODBC를 통한 Connetion from Oracle to MSSQL 1부 긴 휴일을 마췄으니 일에 대한 포스팅을 할 차례인것 같다. 세상에 DBMS는 너무나도 많다. Oracle 외에 대표적으로 많이 쓰이는 것이 MS사의 MS-SQL, Oracle이 먹어버림 My-SQL, 앞서 말씀드린 것보다는 많이 사용하지는 않지만 Maria DB, Mongo DB, Postgres, tibero 등. 물론 필자의 경우는 Oracle에 대해서만 알고 있다. 하지만 세상에 Oracle만 존재하지 않기 때문에 아마 이번 포스팅이 중요할 것 같다. DB 대 DB로만 본다면 같은 DB일 경우에 데이터를 가져오는 것은 너무나 쉽지만 이기종간(HS, Heterogeneous Service) DB connection의 경우에는 조금 문제가 복잡해진다. 이렇게 서로 다른 DB를 연결해주기 위해서 Orac..
[Oracle] TableSpace 용량 확인 및 확장 가이드 Oracle Database의 TableSpace 관리 中 용량 확인 및 확장하는 방법에 대해 정리하여 공유합니다. ■ TableSpace 용량 확인 (MB 단위) SELECT A.TABLESPACE_NAME "TABLESPACE Name", ROUND(MAXBYTES/1048576,2) "최대용량(MB)", ROUND(A.BYTES_ALLOC / 1024 / 1024, 2) "할당용량(MB)", ROUND(NVL(B.BYTES_FREE, 0) / 1024 / 1024, 2) "여유용량(MB)", ROUND((A.BYTES_ALLOC - NVL(B.BYTES_FREE, 0)) / 1024 / 1024, 2) "사용량(MB)", ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_ALLOC..
[Oracle] SQL 실행계획 / 트레이스 방법 목차 1. 상용 툴을 사용해서 실행계획 확인하기 1.1. Orange 를 사용해서 실행계획 확인하기 2. Explain plan for 를 이용하여 실행계획 보는 방법 3. SQL*Plus 의 autotrace 를 통해서 보는 방법 4. SQL trace & TKPROF 5. SQL trace 를 떠서 보는 방법(TKPROF를 이용한 SQL 추적 파일 분석) 6. 실행계획 2가지 ######################################################################## 1. 상용 툴을 사용해서 실행계획 확인하기 상용 툴 : Orange, Tode, SQLGate, SQL Developer 등 1.1. Orange 를 사용해서 실행계획 확인하기 실행계획 보는 단축 키..