2012-07-19 2 views
0

C# 코드에서 oracle의 oradata 폴더를 가져 오거나 추측 할 수 있습니까?C# 코드에서 Oracle oradata 폴더를 가져 옵니까?

D : \ oracle \ product \ 10.2.0 \ oradata

내 목적은 자동으로 테이블 공간을 작성하는 설치 프로그램을 작성하는 것이지만 사용자에게 테이블 공간 위치를 묻는 것이 필요합니다. 그러나 추측이 맞으면 사용자가 아무 것도 할 필요가 없도록 텍스트 필드에 "추측 된"값이 미리 채워질 수 있으면 좋을 것입니다.

답변

0

환경 변수 ORA_HOME은 신뢰할 수 없습니다 (어쨌든 서버에서만 유효합니다).

명확한 가치를 얻을 수있는 유일한 방법은 V $의 PARAMETER 뷰를 통해입니다 :

select value 
from v$parameter 
where name = 'db_create_file_dest'; 

설정해야 할 경우 나는 100 % 아니에요 있지만.

보통 V $ PARAMETER는 일반 사용자가 읽을 수 없습니다. 그러나 테이블 공간을 만들려고 할 때 사용자에게 권한은 문제가되지 않는다고 생각합니다.

그러나 데이터 파일의 디렉토리를 지정하지 않고 테이블 공간을 작성할 수 있습니다. 이 경우 테이블 공간은 db_create_file_dest에 지정된 위치에 작성됩니다. the manual에서

:

파일 이름은 은 경로 접두사를 포함 할 수 있습니다. 이러한 경로 접두어를 지정하지 않으면 데이터베이스는 플랫폼에 따라 기본 저장 영역 위치에 대한 경로 접 두부를 추가합니다.

(강조 광산)

0

당신은 데이터 파일의 위치에 대한 Oracle 데이터 사전을 조회하여이 작업을 수행 할 수 있습니다 -하지만 다른 테이블 스페이스가 다른 위치에 저장 될 수있다. 또한

는 :

데이터베이스가 ASM을 사용하도록 구성 또는 Oracle이 파일이 더 어렵거나 불필요하게 곳 데이터 파일을 생성하는 오라클을 말할 경우에 (내 개인 좋아하는)을 관리 할 수 ​​있다는 것을 잊지 마십시오.

테이블 공간의 사용은 종종 DBA 정책에 의해 관리되기 때문에 설치 프로그램 외부에서 테이블 공간을 작성하는 것이 좋습니다.