XML 데이터 저장 법 - XML (Korean)

XML데이터를 저장하는 방법은 CLOB으로 넣는 것 말고도 W3C의 표준방식을 따라서 RDBMS에 XML을 분리 시켜서 데이터를 넣을 수 있다고 알고 있습니다.
IBM DB2에서는 지원되는데, 오라클에서도 지원이 되나요? 

XML데이터를 저장하는 방법은 CLOB으로 넣는 것 말고도 W3C의 표준방식을 따라서
RDBMS에 XML을 분리 시켜서 데이터를 넣을 수 있다고 알고 있습니다.
IBM DB2에서는 지원되는데, 오라클에서도 지원이 되나요?Oracle9i 에서부터 XML을 지원합니다. XML을 DB에 저장하는 방법은 2가지가 있습니다. 하나는 XML파일은 통째로 집어넣는 방법이 있고, 다른 하나는 XML 속성들을 하나의 테이블 칼럼들로 정의하여 Value를 Inset하는 방식으로 지원합니다.
또한, 이런 XML 테이블을 조회하면 XML 타입으로 결과값을 얻어낼 수도 있구요..
Oracle XML 예제 URL을 알려드릴테니 한번 테스트해보시기 바랍니다.
http://www.oracle.com/global/kr/magazine/webcolumns/2001/o61xml.html

Related

한국에서의 EBS전망이 어떤지 궁금합니다.

일본에서 EBS관련된 일을 일년 남짓하고 있습니다.
하지만 밑에서 그냥 인터넷의 구석진 자료들과 가지고 있는 매뉴얼로
근근히 일을 해나가고 있지만 요즘 조금 고민스러운 점이 오라클 교육센터에서 FI쪽 교육을 받는 게 어떠할 지에 대한 것입니다.
물론 지금처럼 독학수준으로 데이터를 만지는 것도 분명히 한계가 있을것이라고 생각되어지고 그리고 같은 현장에서 일하는 시는 분들 중에서도 EBS에 대해서는 정확한 대답을 혹은 어깨 넘어 배울 만한 분이 않계시는 관계로 혼자만의 판단으로 쉽게 갈 수있는 길을 어렵게 가고 있는 것 같은 생각이 많이 들고 있습니다.
그래서 더더욱 교육을 받고 싶다는 생각이 간절한지도 모르겠습니다.
엉뚱하지만 , 서슴없이 몇가지 질문을 드리겠습니다.
오라클 교육 센터에서 교육을 받았을 때의 느낌이나 인상을 이야기 좀 해주시겠습니까?
그리고 한국에서의 EBS를 사용하는 프로젝트들의 전망이라든지 그 현장의 느낌을 전해 주실 수 있을실까요?
EBS에 대한 정보들을 서로 교환하실 분 않 계신가요?
미력하나마 제가 가지고 있는 지식도 나누어 드리고 싶습니다.
그럼 좋은 하루 되십시요.

8i에서 XMLType을 사용할 수 있는 방법은 없나요?

9i 말고 8i에서 CLOB 타입이 아니라 XMLType의 데이터를 사용하고자 할때, xdk를 설치하고나서 테이블 생성시 데이터유형이 부적합하다는 오류가 발생하는 경우입니다.
8i에서 9i의 XMLType을 사용할 수 있는 방법은 없습니까? 
9i 말고 8i에서 CLOB 타입이 아니라 XMLType의 데이터를 사용하고자 할때, xdk를
설치하고나서 테이블 생성시 데이터유형이 부적합하다는 오류가 발생하는 경우입니다.
8i에서 9i의 XMLType을 사용할 수 있는 방법은 없습니까?오라클은 8i 버전부터 XML을 지원하기 시작했습니다.
8i라고 해서 XML기능 지원이 9i에 비해 잘 안되는 것은 아니구요..
그렇다고, DB에서 지원을 못하는 기능은 프로그램으로 보강할 수도 있는 부분이구요.. 테이블 생성시 데이터 유형이 부적합하다는 오류는 테이블의 칼럼 타입에 문제가 있다는 뜻이서 구체적으로 어떤 테이블을 어떻게 생성하시는 건지에 대한 정보가 필요할 것 같네요..

DataBase Adapter 성능향상문제...

Database Adapter를 이용해 다량의 Row를 Select해서 다른 Table에 Merge를
해보았습니다.. 10만건을 test했는데 서버가 다운되더군요...
5만건을 테스트했더니 서버가 엄청 버벅되더니 죽지는 않았는데 속도가
상당히 많이 걸립니다... 이런건 해결할수 있는방법이 없나요?
Polling관련 Tutorial을 보면 Performance관련 예제가 있던데 한번 따라해
봤습니다.. Polling은 Wizard에서 MaxRaiseSize나 NumberOfThreads, MaxTransactionSize 같은 부분을 설정해 주는부분이 있습니다...
polling을 사용하지않고 그냥 Custom Excute SQL을 사용해 DB에서 가져올때는
이런 Performance향상을 위한부분이 Oracle BPEL에 있는지 궁금합니다..
(속도및 OutOfMemory관련)
또한 Polling시 MaxRaiseSize, MaxTransactionSize 이런 부분은 속도와 상관이
있는 부분인지 궁금합니다.
그럼 답변 부탁드릴께요.. 감사합니다.. ^^ 
XML 처리에 있어서 가장 문제가 되는 것은 Node의 Depth와 XML 자체 사이즈입니다. BPEL은 기본적으로 XML 연산을 많이 해야되기 때문에 항상 Variable을 Dom Object로 관리하고 특정 값을 구하거나 바꾸거나 하는 작업을 진행합니다. 따라서 DB의 Data를 가져오는데 있어서 중요한 성능 요인은 XML의 크기(Columns 곱하기 Rows)입니다. Column이야 필요한 것은 모두 가져와야 하니 당연히 Rows의 수를 조절하는 방법이 가장 효과적입니다. MaxRaiseSize가 이를 조절하는 Parameter고요 일반적으로 100 근처의 값을 사용합니다. 즉, 1000Rows가 처리되어야 한다고 가정할 때 MaxRaise가 100이면 10개의 BPEL Instance가 동시에 기동되어 처리되는 것입니다. 참고로 저희가 내부적으로 Notebook을 이용하여 DB2DB(Polling > Transformation > Merge) Test를 하면 분당 2만건 정도를 소화하더군요.
한가지 더 DB Adapter 관련 Tip을 말씀드리면 Merge는 Insert보다 훨씬 비싼 Operation입니다. 따라서 단순 Insert의 경우 Merge 보다 Insert를 사용하시는 것이 성능 측면에서 유리합니다.
마지막으로 DB Adapter가 사용하는 DataSource는 반드시 oc4j-ra.xml에 정확히 setting 되어야 하고 되도록이면 다음과 같이 oc4j가 관리하는 DataSource를 사용하시는 것이 DB Connection 사용 측면에서 유리합니다.
usesExternalTransactionController="true"
usesExternalConnectionPooling="true"
dataSourceName="jdbc/<someDataSourceName>"

10GR2에서 ASM을 사용할 경우의 제약/문제점

10G에서 베리타스 Volume Manager 등을 이용할 수도 있고, ASM을 이용해서 스토리지를 구성할 수도 있습니다.
ASM을 이용하면 당연 비용 절감이 될 것인데, 이렇게 할 경우 단점/제약/문제점에는 어떤 것들이 있을까요? 
10g RAC를 구성하기 위해, 종래의 3rd Party Clusterware의 Volume Manager를 이용한 Raw Device나 Cluster file System을 사용하는 경우나, Raw Partition 혹은 Raw Device를 활용한 ASM을 모두 사용할 수 있습니다.
그런데, 기존 방법 : ASM 방법을 놓고 단점/제약/문제점 등을 논하는 것은 좀 무리 있는 게 아닐까 합니다. 각기 자기 사이트에 맞는 걸 선택하는 문제가 배제되 있으니까요.
다만, ASM을 활용하면, 당연히 양쪽 노드에서 볼 수 있는, ASM의 Disk로 활용할 Raw Partition만 있으면 되니 굳이 비싼 돈을 내고 Volumn Manager(Vendor C/W 포함)를 사용할 필요는 없으니 비용면에서 강점으로 작용할 것입니다.
또한, 어떤 플랫폼에서든 사용할 수 있으니 사용의 별다른 제약도 없겠구요.
다만, Oracle EM10g 등과 같이 매니징해 줄 수 있는 툴이 없으면, Command Line상에서 일일히 관리하거나 모니터링해야 하는데, Command등이 생소해서 초기에 관리하는데 다소 생소하다는 문제가 있을 수는 있을 겁니다. 그리고 아직은 많은 레퍼런스가 없다는 것도 단점이라면 단점일 수는 있겠지요...
그냥 개인적인 생각을 참고적으로 말씀 올려 봅니다. 
ASM은 많은 장점을 가지고 있습니다.
기존의 볼륨매니저를 사용하지 않아도 된다는것과 미러링과 스트라이핑까지...
하지만 기존에 운영하시던 dba분들이 새로운부분까지 신경써야 한다는것
백업체계가 기존과는 다르게 바뀌어야 한다는것(hotbackup 의 cp 명령이 안됨,11g부터 사용가능)
결정적으로 윗분 말씀대로 국내에서 레퍼런스가 많이 없다는것까지...
하지만 최근 ASM을 적극적으로 밀고 있으니 차차 사용되는곳이 늘어나지 않을까 합니다.

드롭된 유저에 대한 복구방법을 알고 싶습니다.

실수로 유저가 드롭되면서 테이블들이 같이 날아갔을경우 복구 할수 있는 방법이 있을까요? 참고로 DB 는 아카이브 모드가 아닌 상태였으면 따로 EXPORT해논 파일이 없어서요 혹여 복구할수 있는 방법이 있다면 복구 방법이나 참고 자료를 좀 얻었으면 합니다...

Categories

Resources