Arquivo

Archive for março \31\UTC 2014

Renomear Domínio Weblogic

Algumas vezes é necessário mudar o nome do domínio ou simplesmente duplicar o domínio para dividir a console de administração que esteja lenta por estar com uma grande quantidade de servidores.

  1. Faca uma cópia do diretório do domínio:
    # cp -rp /var/Oracle/domains/meuDominio meuNovoDominio
  2. Execute um grep para ver todos arquivos que contém o nome do domínio: Veja a Saida de todos arquivos que precisam serem alterados. Principalmente as tags do Config.xml, startScript.xml e o arquivo tokenValue.properties o restante e basicamente caminhos físicos.
    # grep -r * meuNovoDominio --exclude-dir={temp,logs,data,domain_bak} 
    
    meuDominio/bin/setDomainEnv.sh:DOMAIN_HOME="/var/Oracle/domains/meuDominio"
    
    meuDominio/bin/setDomainEnv.sh:LONG_DOMAIN_HOME="/var/Oracle/domains/meuDominio"
    
    meuDominio/bin/startManagedWebLogic.sh:DOMAIN_NAME="meuDominio"
    
    meuDominio/bin/startManagedWebLogic.sh:DOMAIN_HOME="/var/Oracle/domains/meuDominio"
    
    meuDominio/bin/startWebLogic.sh:DOMAIN_HOME="/var/Oracle/domains/meuDominio"
    
    meuDominio/bin/stopManagedWebLogic.sh:DOMAIN_HOME="/var/Oracle/domains/meuDominio"
    
    meuDominio/bin/stopWebLogic.sh:DOMAIN_HOME="/var/Oracle/domains/meuDominio"
    
    meuDominio/config/config.xml: meuDominio
    
    meuDominio/config/config.xml: meuDominio
    
    meuDominio/config/config.xml: meuDominio
    
    meuDominio/init-info/startscript.xml:  /var/Oracle/domains/meuDominio
    
    meuDominio/init-info/startscript.xml:  /var/Oracle/domains/meuDominio
    
    meuDominio/init-info/startscript.xml:  /var/Oracle/domains/meuDominio
    
    meuDominio/init-info/startscript.xml:  meuDominio
    
    meuDominio/init-info/startscript.xml:  /var/Oracle/domains/meuDominio
    
    meuDominio/init-info/startscript.xml:  /var/Oracle/domains/meuDominio
    
    meuDominio/init-info/startscript.xml:  /var/Oracle/domains/meuDominio
    
    meuDominio/init-info/startscript.xml:  /var/Oracle/domains/meuDominio
    
    meuDominio/init-info/tokenValue.properties:@DOMAIN_HOME=/var/Oracle/domains/meuDominio
    
    meuDominio/init-info/tokenValue.properties:@DOMAIN_NAME=meuDominio
    
    meuDominio/init-info/tokenValue.properties:@USERDOMAIN_HOME=/var/Oracle/domains/meuDominio
    
    meuDominio/startWebLogic.sh:DOMAIN_HOME="/var/Oracle/domains/meuDominio"
    
  3. Execute o script Perl para renomear tudo que estive no novo diretório meuNovoDominio, onde encontrar a string “meuDominio” trocar para “meuNovoDominio”.
    # find/var/Oracle/domains/meuNovoDominio -type f -exec perl -pi -e 's/meuDominio/meuNovoDominio/g' '{}' \;
  4. Vá para a pasta do AdminServer e delete as pastas cache, data e tmp, não exclua a pasta data caso tenha usuários criados para o weblogic, eles todos serão ecluídos.
    Caso já tenha outros servers pode deletar todas as pastar dos servers, quando for reinciado o weblogic recriar toda estrutura de pastas dos servidores.

    # cd /var/Oracle/domains/meuNovoDomain/servers/AdminServer# 
    
    rm -rf cach/ data/ tmp
  5. Agora é só reiniciar seu domínio renomeado.
    #cd  /var/Oracle/domains/meuNovoDomain/
    nohup ./startWebLogic.sh &
    


  6. Ok ! Seu novo domínio renomeado está pronto para ser usado.

    AdminServer

Anúncios
Categorias:weblogic Tags:

Pesquisar String em Arquivos

Pesquisar uma string qualquer em todos arquivos de um diretório.
Mostra quais arquivos contém a string a ser pesquisada.

  1. Exemplo utilizando a string JAVA_HOME
    find . -type f -exec grep -l JAVA_HOME {} \;
    
  2. Saída do comando.
    ./weblogic/utils/clone/clone.sh
    ./weblogic/utils/clone/restore.sh
    ./weblogic/utils/uninstall/uninstall.sh
    ./weblogic/utils/quickstart/quickstart.sh
    ./weblogic/utils/ccr/bin/emocmrsp
    ./weblogic/utils/ccr/bin/emSnapshotEnv
    ./weblogic/utils/ccr/bin/deployPackages
    
Categorias:weblogic Tags:,

Trocar JVM do Weblogic

or trabalhar por muito tempo com servidores de aplicação logo de cara fiquei muito fã ao conhecer o Jrockit, na época ainda era da BEA. Depois da Oracle ter comprado a BEA cada dia mais ela tem direcionado as featuresdo Jrockit para a HotSpot a fim de fazer um merge e ficar apenas com uma versão.

A Oracle ja tem inclusive direciona para em Solaris usar HotSpot e em Linux/x86 utilizar o JRockit.
Para mudar a versão da jvm no weblogic é simples.

Nesse exemplo vou apenas migrar de versão

  • De:  jrockit-jdk1.6.0_24-R28.1.3-4.0.1
  • Para: jrockit-jdk1.6.0_45-R28.2.7-4.1.0
    1. Instalar a jvm no diretório de sua escolha, eu uso um padrão pois instalo todas versões de jvm dentro do seguinte diretório EX:
      /opt/jvm
      /opt/jvm/hotspot
      /opt/jvm/jrmc
      /opt/jvm/jrmc/jrockit-jdk1.6.0_24-R28.1.3-4.0.1
      /opt/jvm/jrmc/jrockit-jdk1.6.0_45-R28.2.7-4.1.0
    2. Para o domínio weblogic reconhecer a nova jvm é necessário editar os seguintes arquivo: setDomainsEnv.sh e commEnv.sh
        vi /opt/Oracle/domains/seuDominio/common/bin/setDomainsEnv.sh
        vi /opt/Oracle/Middleware/wlserver_10.3/common/bin/commEnv.sh
      

      Mudar as entradas JAVA_HOME para a nova instalação da JVM:

      JAVA_HOME="/opt/jvm/jrmc/jrockit-jdk1.6.0_45-R28.2.7-4.1.0"
      
    3. Pare o AdminConsole, nodemanager e todos Managed Beans, renicie cada um e verifique no log do seu servidor no inicio do start se aparece a nova versão da jvm sendo utilizada.
      ***************************************************
      *  To start WebLogic Server, use a username and   *
      *  password assigned to an admin-level user.  For *
      *  server administration, use the WebLogic Server *
      *  console at http://hostname:port/console        *
      ***************************************************
      starting weblogic with Java version:
      java version "1.6.0_45"
      Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
      Oracle JRockit(R) (build R28.2.7-7-155314-1.6.0_45-20130329-0642-solaris-sparcv9, compiled mode)
      Starting WLS with line: /opt/Oracle/jrockit-jdk1.6.0_45-R28.2.7-4.1.0/bin/java -jrockit ....
      

    Observação: Caso tenha configurado nos servidores na aba “Server Start” o Java Home para a JVM que está utilizando e necessário fazer a mudança em cada server para que ele posso utilizar a nova jvm.

 

Categorias:weblogic Tags:

Criar Usuarios no Weblogic com WLST

Criando usuários no Weblogic via script wlst no modo online.
O Script é composto de dois arquivos, um script.py e um arquivo.properties, o arquivo de properties é usado para definir as configurações do servidor e dos usuários a serem criados.

  1. criarUsuarios.properties
    #==================CRIAR USUARIOS ==================
    # Os tipos de GROUP_USER padrão do Weblogic são:
    # Monitors, Deployers, Administrators, AppTesters,
    # CrossDomainConnectors, AdminChannelUsers.
    #
    # @autor Herivelto Gabriel
    # em Fevereiro 2013
    #==================================================
    
    #Dados do Servidor
    DOMAIN_NAME=1033
    ADMIN_URL=t3://172.16.145.162:7001
    ADMIN_USERNAME=weblogic
    ADMIN_PASSWORD=weblogic11
    
    # Realm default do Weblogic
    SECURITY_REALM_NAME=myrealm
    
    #Para cada Usuario repetir esse bloco
    USER_1=deployer
    PASSWORD_USER_1=deploy
    DESCRIPTION_USER_1=Usuario deploy
    GROUP_USER_1=Deployers
    
    USER_2=Monitor
    PASSWORD_USER_2=Monitor
    DESCRIPTION_USER_2=Usuario Monitoracao
    GROUP_USER_2=Monitors
    #====================================================
  2. criarUsuarios.py

    #====================================================
    # Criar Usuarios no weblogic com configuracoes definidas em
    # criarUsuario.properties'
    #
    # @autor : Herivelto Gabriel
    # Fevereiro/2013
    #====================================================
    #imports
    from java.util import Properties
    from java.io import FileInputStream
    from java.io import File
    from java.util import Enumeration
    from string import split
    
    #=====================================================
    # CARREGA DADOS ARQUIVO PROPRIEDADES
    #=====================================================
    #arquivo de propriedades a ser carregado
    localizacaoArquivoPropriedadesConfiguracao = 'criarUsuario.properties'
    
    myProps = Properties()
    
    #carrega arquivo de propriedades
    myProps.load(FileInputStream(File(localizacaoArquivoPropriedadesConfiguracao)))
    
    #======================================================
    # SEPARA ELEMENTOS SERVIDOR DA LISTA DE PROPRIEDADES
    #======================================================
    
    usuarios = []
    propertyNames = myProps.propertyNames()
    
    while propertyNames.hasMoreElements():
    chave = propertyNames.nextElement()
    elemento = split(chave, '_')
    if elemento[0] == 'USER':
    usuarios.append(chave)
    
    print 'Os seguintes usuarios serao criado(s) aguarde....'
    
    for a in usuarios:
    print 'Nome do User ==>> ' + myProps.get(a)
    
    #======================================================
    #Connecta com o adminServer
    #======================================================
    def connection():
    
    print'\n========> START CONNECTING <==========' username = myProps.get('ADMIN_USERNAME') password = myProps.get('ADMIN_PASSWORD') url = myProps.get('ADMIN_URL') print 'Connecting as ', username ,' To WebLogic URL ', url ,'...' try: print'Connecting .......' connect(username, password, url) except WLSTException: print '==> Error Connecting to The URL ', url
    CancelEdit('y')
    exit()
    
    #=======================================================
    #Criando Usuarios
    #=======================================================
    
    domainName = myProps.get('DOMAIN_NAME')
    realmName = myProps.get("SECURITY_REALM_NAME")
    
    connection()
    serverConfig()
    
    for user in usuarios:
    userName = myProps.get(user)
    userPassword = myProps.get('PASSWORD_'+user)
    userDescription = myProps.get('DESCRIPTION_'+user)
    userGroupName = myProps.get('GROUP_'+user)
    #userGroup = myProps.get('GROUP_' + usuario)
    authenticatorPath= '/SecurityConfiguration/' + domainName + '/Realms/' + realmName + '/AuthenticationProviders/DefaultAuthenticator'
    cd(authenticatorPath)
    
    #CRIANDO USUARIO
    print '-------------------------------------'
    try:
    cmo.createUser(userName , userPassword , userDescription)
    print '- User Created : ',userName
    except WLSTException:
    print '* Check If the User With the Name : ' , userName ,' already Exists...'
    
    #ADICIONANDO USUARIO AO GRUPO
    try:
    cmo.addMemberToGroup(userGroupName,userName)
    print '- User Add in group : ',userGroupName
    except WLSTException:
    print '* Erro add user in group !: ',userGroupName
    
    print '-------------------------------------'
    
    #save()
    #activate(block="true")
    print ' '
    disconnect()
    print ' '
    
    #====================================================
    print '==> Finished ... Reloud and Check from AdminConsole...'
    #====================================================
  3. Executando o Script
../Oracle/Middleware/wlserver_10.3/common/bin/wlst.sh criarUsuario.py
Categorias:weblogic, wlst Tags:,