2016-10-12 4 views
-1

xml 파일을 사용하여 데이터 소스를 추가하는 대신 콘솔을 통해 수동으로 추가하는 대신 weblogic에 데이터 소스를 추가 할 수 있습니까? 이 같은 뭔가 : 나는 데이터 소스를 추가 할 때weblogic에 데이터 소스 추가 12c

<Resource name="DS_WFMT_DATA" auth="Container" 
     type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver" 
     url="jdbc:oracle:thin:@10.81.34.8:1526:wfmtswvu" 
     username="wfmt_data" password="sa1dview" 
     maxActive="150" maxIdle="20" maxWait="10000" 
     removeAbandoned="true" removeAbandonedTimeout="300" logAbandoned="true" /> 

     <Resource name="DS_DIRECTSTAFFWARE" auth="Container" 
     type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver" 
     url="jdbc:oracle:thin:@10.81.34.8:1526:wfmtswvu" 
     username="swpro" password="staffpro1" 
     maxActive="150" maxIdle="20" maxWait="10000" logAbandoned="true"/> 

     <Resource name="DS_NIMS" auth="Container" 
     type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver" 
     url="jdbc:oracle:thin:@10.75.105.167:1521:nimsc" 
     username="nims" password="nims123" 
     maxActive="20" maxIdle="10" maxWait="10000" 
     removeAbandoned="true" removeAbandonedTimeout="120" logAbandoned="true"/> 

내가 아는이 경로에 각각의 영역에서 생성 된 XML 파일 도메인을 \ BASE_DOMAIN \ 설정 \ JDBC 존재하지만 암호화 된 암호를 포함하는 발생합니다. 따라서 데이터 소스를 수동으로 추가하여 생성 된 xml 파일을 사용하여 새 데이터 소스를 추가하려고하면 추가 할 수 없습니다. 어떤 도움을 주시면 감사하겠습니다.

답변

1

TESTDB-1234-jdbc.xml 형식의 고유 한 파일 이름을 사용하여 domains \ base_domain \ config \ jdbc 폴더에 새 데이터 소스 구성 파일을 만듭니다. 일반적으로 MYDS는 데이터 소스 이름입니다.

TESTDB-1234-jdbc.xml 파일을 열고 아래와 같이 편집하십시오. 생성 된 파일은 암호화 된 암호가 누락

<?xml version='1.0' encoding='UTF-8'?> 
<jdbc-data-source xmlns="http://xmlns.oracle.com/weblogic/jdbc-data-source" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/jdbc-data-source http://xmlns.oracle.com/weblogic/jdbc-data-source/1.2/jdbc-data-source.xsd"> 
    <name>TESTDB</name> 
    <jdbc-driver-params> 
    <url>jdbc:oracle:thin:@host:port:db</url> 
    <driver-name>oracle.jdbc.OracleDriver</driver-name> 
    <properties> 
     <property> 
     <name>user</name> 
     <value>user</value> 
     </property> 
    </properties> 
    <password-encrypted></password-encrypted> 
     </jdbc-driver-params> 
     <jdbc-connection-pool-params> 
     <max-capacity>40</max-capacity> 
     <connection-creation-retry-frequency-seconds>120</connection-creation-retry-frequency-seconds> 
     <test-connections-on-reserve>true</test-connections-on-reserve> 
     <test-table-name>SQL SELECT 1 FROM DUAL</test-table-name> 
     <init-sql>SQL SELECT 1 FROM DUAL</init-sql> 
     </jdbc-connection-pool-params> 
    <jdbc-data-source-params> 
    <jndi-name>TESTDB</jndi-name> 
    <global-transactions-protocol>OnePhaseCommit</global-transactions-protocol> 
    </jdbc-data-source-params> 
</jdbc-data-source> 

을 (당신의 설정에 맞게 아래의 값을 변경하는 것을 잊지 마십시오). weblogic.security.Encrypt 유틸리티를 사용하여 데이터베이스 암호를 다음과 같이 암호화 할 수 있습니다. 먼저 웹 로직 환경

source ./setDomainEnv.sh 

이제 도메인으로 갈 수있는 폴더를 BASE_DOMAIN \ 다음 명령을 도메인 \ BASE_DOMAIN의 \ bin 폴더로 가서 실행하여 설정되어 있도록 설정으로 weblogic.security.Encrypt 유틸리티를 실행해야합니다

java weblogic.security.Encrypt dbpassword 

base_domain 폴더에 있어야합니다. 당신이 다른 폴더에 실행하는 경우에는 암호화 서비스를 초기화 할 수

수 없습니다 예외를 얻을 것이다, 당신은 도메인 디렉토리에 있거나

하면 -Dweblogic.RootDirectory

에 대한 올바른 값을 지정했는지 확인 당신은 당신의 OS 기록에 데이터베이스 암호가 보이기를 원하지 않는다. 명령을 실행할 때 빠져 나가면 암호를 입력하라는 메시지가 나타날 것이다. 생성 된 암호는 다음과 같은 형식이됩니다

{AES} H8B3Lp73h/9XghMXUmtq5f3CRSpqAzQ0gwoOm5NHYXg =

복사합니다 TESTDB-123-jdbc.xml 구성 파일의 암호로 암호화 된 태그로이 값 때문에 태그는 지금이

<password-encrypted>{AES}H8B3Lp73h/9XghMXUmtq5f3CRSpqAzQ0gwoOm5NHYXg=</password-encrypted> 

처럼 당신은 성공적으로 XML을 사용하여 데이터 소스를 만든하지만 지금은 당신이 웹 로직 인스턴스에 연결해야 보인다. domains \ base_domain \ config 폴더로 이동하여 config.xml 파일을 편집하십시오. domain 태그가 닫히기 직전에 새로 구성된 jdbc 시스템 자원을 추가하십시오. 다음은 스 니펫입니다.

<jdbc-system-resource> 
    <name>TESTDB</name> 
    <target>AdminServer</target> 
    <descriptor-file-name>jdbc/TESTDB-1234-jdbc.xml</descriptor-file-name> 
    </jdbc-system-resource> 

응용 프로그램 서버에 적용되는 값을 사용해야합니다. 일단 데이터 소스가 아직 활성화되지 않았지만 성공적으로 데이터 소스를 Weblogic 인스턴스에 연결했습니다. 데이터 소스가 활성화되도록 웹 로직 인스턴스를 다시 시작하십시오. 연결 풀은 당신 것입니다 존재하고 활성화되어있는 경우 연결 풀의 존재 여부를 테스트 할 수 있습니다 다시 시작 및 활성화 이전과 웹 로직 환경을 설정하여 웹 로직 관리 유틸리티를 사용하여 다음

java weblogic.Admin -username weblogic -password password -url t3://localhost:port EXISTS_POOL TESTDB 

아래의 명령을 실행 한 후 그렇지 않으면 당신은 아래의 예외를 얻을 것이다

TESTDB

라는 이름의 수영장이 이미 있습니다

를 얻을 수

,536,913,632 10

풀 TESTDB가 없습니다. 연결이 정상이라면

당신은 또한 당신이 얻을 것이다 이전과 웹 로직 환경을 설정하고

java weblogic.Admin -username weblogic -password password -url t3://localhost:port TEST_POOL TESTDB 

아래의 명령을 실행하여 데이터 소스에 연결 테스트를 할 수

연결 풀 "TESTDB"에 대한 JDBC 연결 테스트가 성공했습니다.

연결을 성공적으로 테스트 할 수 없다고해서 데이터 소스가 Weblogic에 추가되지 않았다는 것을 의미하지는 않습니다. 데이터베이스가 실행되고 있지 않을 수 있으므로 적절하게 문제를 해결해야 할 수도 있습니다. Weblogic Admin 유틸리티를 직접 사용하여 데이터 소스를 만들 수도 있습니다. 위와 같이 Weblogic Admin 유틸리티를 사용하면 기록에 웹 로직 비밀번호가 표시됩니다. 이것은 XML 파일에서 데이터 소스를 만드는 방법입니다. 그러나 Weblogic 콘솔을 사용하는 것이 훨씬 쉽습니다.

+0

안녕하세요, 감사합니다. 그렇습니다. 콘솔을 통해 데이터 소스를 만드는 것이 훨씬 쉽습니다. 한 가지 더 질문 : 데이터 소스를 만들고 이에 해당하는 jdbc 파일이 생성되었다고 가정 해 보겠습니다. 다른 사람에게 파일을 제공하면 수동으로 데이터 소스를 추가 할 필요가 없습니다. 그럴 거니? 당신이 원한다면 또한 내 질문을 upvote 수 있습니다. –

+0

더 나은 방법은 WLST 스크립트를 사용하여 데이터 소스를 만들어 도메인에 타겟팅하는 것입니다. 도메인의 구성 파일을 수동으로 업데이트하는 것은 권장 방법이 아니며 조금 위험합니다. –

+0

예. 실제로 생성 된 파일을 다른 사람에게 제공 할 수 있습니다. 암호로 암호화 된 값을 Weblogic 인스턴스에서 생성 한 값으로 대체해야합니다. 또한 위의 단계에 따라 새로 복사되고 업데이트 된 데이터 소스 파일을 Weblogic 인스턴스에 연결해야합니다. @EmmanuelCollin은 약간의 위험이 있으며 WLST 스크립트를 사용하는 것이 좋은 방법 중 하나입니다. –

관련 문제