Acedendo remotamente a máquinas Solaris é necessário por vezes reencaminhar a parte gráfica para a máquina onde estamos (pois é o único monitor a que temos acesso). Usando o Xming e o PUTTY isto é relativamente fácil.
Contudo por vezes temos outra necessidade. Entrando numa máquina remota, usamos essa para aceder a outra. Como fazer para obter o ambiente gráfico desta segunda máquina?
É simples. Tendo tudo montado para receber os gráficos da primeira máquina basta iniciar a sessão na segunda máquina do seguinte modo:
ssh -X user@maquina.xpto.pt
quarta-feira, 19 de outubro de 2011
terça-feira, 18 de outubro de 2011
Configuração two-way SSL no Apache
Para se obter uma configuração two-way SSL (comunicação SSL duas vias entre Cliente e Servidor) no Apache com certificados auto-assinados (self-signed) efectuar os passos seguintes (é uma das maneiras. eventualmente há melhores maneiras):
Na location, a linha SSLRequire %{SSL_CLIENT_S_DN_CN} eq "Teste" indica que só os certificados de cliente que tenham o CN=Teste é que serão aceites. É possível efectuar outras configurações. Para mais detalhes ver: httpd.apache.org/docs/2.2/mod/mod_ssl.htm
- Parte-se do principio que o Apache já está configurado para SSL
- Em cima desta configuração:
- No ficheiro ssl.conf
- Descomentar a linha
SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt
- Dentro da tag <virtualhost> ...,</virtualhost> incluir uma linha do género
Include /etc/apache2/vhost.d/*.conf
que é o local ou o ficheiro que contém as configurações SSL mais específicas que irão ser efectuada - Supondo, por exemplo, que se quer proteger uma location com two-way SSL
- <location />
SSLVerifyClient optional
SSLUserName SSL_CLIENT_S_DN_CN
SSLRequire %{SSL_CLIENT_S_DN_CN} eq "Teste"
</location> - Se não existir criar o ficheiro /etc/apache2/ssl.crt/ca-bundle.crt
- Tendo o certificado cliente basta efectuar: cat client.crt > ca-bundle.crt
- Restart do apache e tem-se comunicação 2 way SSL
Na location, a linha SSLRequire %{SSL_CLIENT_S_DN_CN} eq "Teste" indica que só os certificados de cliente que tenham o CN=Teste é que serão aceites. É possível efectuar outras configurações. Para mais detalhes ver: httpd.apache.org/docs/2.2/mod/mod_ssl.htm
Configuração two-way SSL no SoapUi
Para configurar two-way SSL (SSL duas vias) no SoapUI, é necessário antes de mais ter a versão 4 ou superior. Existem problemas com a versão 3.6.1 por isso o melhor mesmo é actualizar para a versão mais recente.
A configuração two-way SSL implica que existam dois certificados, um de Cliente e um de Servidor.
Para o cliente basta criar um ficheiro p12 com a chave publica e privada, e de lá exportar o certificado de cliente para adicionar ao servidor.
Caso o certificado do servidor seja auto-assinado, é necessário adicionar esse mesmo certificado ao ficheiro p12 do cliente.
No SoapUi:
File -> Preferences
SSL Settings
Na KeyStore indicar o ficheiro p12 criado para o cliente.
Na KeyStore Password indicar a password para o ficheiro p12.
Criar o ficheiro de cliente p12 e respectivo certificado
Instalar, por exemplo, o programa KeyStore Explorer.
A configuração two-way SSL implica que existam dois certificados, um de Cliente e um de Servidor.
Para o cliente basta criar um ficheiro p12 com a chave publica e privada, e de lá exportar o certificado de cliente para adicionar ao servidor.
Caso o certificado do servidor seja auto-assinado, é necessário adicionar esse mesmo certificado ao ficheiro p12 do cliente.
No SoapUi:
File -> Preferences
SSL Settings
Na KeyStore indicar o ficheiro p12 criado para o cliente.
Na KeyStore Password indicar a password para o ficheiro p12.
Criar o ficheiro de cliente p12 e respectivo certificado
Instalar, por exemplo, o programa KeyStore Explorer.
- Create a new KeyStore
- JKS
- Tools
- Generate Key Pair
- Ok
- Carregar no botão "Edit Name"
- Preencher os campos (pelo menos o CN deverá ser preenchido)
- Escolher um alias
- OK
- Escolher e confirmar a password privada
- Ok
- Ok
- Com o botão da direita carregar em cima da nova chave (vai-se exportar o certificado a importar no servidor)
- Escolher formato e nome de ficheiro
- Export
- Ok
- Salvar a keystore
- File -> Save
- Introduzir a password para a keystore
- Ok
quinta-feira, 13 de outubro de 2011
Axis2 e Weblogic
Devido a problemas de compatibilidade, (um WSDL em RPC) foi necessário criar um webservice em Axis2 e fazer deploy do mesmo em Weblogic 11g.
Para simplificar, usou-se o axis2.war para ser o container dos serviços.
Para a coisa funcionar em Weblogic 11g, o war do Axis2 tem de ser deployed exploded.
Para fazer isto basta, por exemplo, descomprimir o war para a directoria .../AdminServer/upload/axis2.
Depois instalar da maneira normal escolhendo a directoria axis2.
E tudo irá funcionar.
Para simplificar, usou-se o axis2.war para ser o container dos serviços.
Para a coisa funcionar em Weblogic 11g, o war do Axis2 tem de ser deployed exploded.
Para fazer isto basta, por exemplo, descomprimir o war para a directoria .../AdminServer/upload/axis2.
Depois instalar da maneira normal escolhendo a directoria axis2.
E tudo irá funcionar.
quarta-feira, 12 de outubro de 2011
Colocar Liferay em HTTPS com Apache Reverse Proxy
Tendo o Liferay instalado (versão 6.0.6) numa máquina e o Apache HTTP Server (versão 2.0) noutra máquina diferente a servir de Reverse Proxy, são necessários alguns passos para disponibilizar o Liferay em HTTPS.
No restante texto explica-se como fazer esta configuração em Solaris 10.
1. Criar um certificado auto-assinado
Instruções detalhadas em http://www.akadia.com/services/ssh_test_certificate.html
1.1 Gerar uma RSA Private Key
Numa shell Solaris:
# /usr/sfw/bin/openssl
Introduzir o comando:
genrsa -des3 -out liferay.key 2048
Escolher uma pass phrase.
Irá gerar o ficheiro liferay.key.
1.2 Gerar um Certificate Signing Request
Numa shell Solaris:
#/usr/sfw/bin/openssl
Introduzir o comando:
req -new -key liferay.key -out liferay.csr
Introduzir a pass phrase escolhida para a chave privada (RSA Private Key).
Introduzir informação nos campos seguintes (exemplo):
Country Name (2 letter code) [US]:PT
State or Province Name (full name) [Some-State]:Lisboa
Locality Name (eg, city) []:Lisboa
Organization Name (eg, company) [Unconfigured OpenSSL Installation]:CFB
Organizational Unit Name (eg, section) []:FUTEBOL
Common Name (eg, YOUR name) []:LIFERAY
Email Address []:
--
A challenge password []:
An optional company name []:
Irá gerar o ficheiro liferay.csr.
1.3 Remoção da pass phrase da chave
Criar uma cópia da chave liferay.key e renomeá-la para liferay.key.futebol
De seguida executar numa shell Solaris:
#/usr/sfw/bin/openssl
Introduzir o comando:
rsa -in liferay.key.futebol -out liferay.key
Introduzir a pass phrase escolhida para a chave privada (RSA Private Key).
1.4 Gerar um certificado auto-assinado
Numa shell Solaris:
#/usr/sfw/bin/openssl
Introduzir o comando:
x509 -req -days 3650 -in liferay.csr -signkey liferay.key -out liferay.crt
Irá gerar o ficheiro liferay.crt.
2. Copiar a chave e o certificado para o Apache
De seguida executar numa shell Solaris:
# mkdir /etc/apache2/ssl.crt
# mkdir /etc/apache2/ssl.key
# cp liferay.crt /etc/apache2/ssl.crt/ssl.crt
# cp liferay.key /etc/apache2/ssl.key/ssl.key
3. Configurar SSL no Apache
No ficheiro /etc/apache2/ssl.conf
Comentar:
#SSLRandomSeed startup builtin
#SSLRandomSeed connect builtin
Descomentar:
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect file:/dev/urandom 512
Alterar
SSLCertificateFile /etc/apache2/ssl.crt/server.crt
para
SSLCertificateFile /etc/apache2/ssl.crt/ssl.crt
Alterar
SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
para
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/ssl.key
Alterar
<VirtualHost _default_:443>
para
<VirtualHost *:443>
4. Activar o SSL no Solaris
Verificar se o SSL está activo
Nnuma shell Solaris:
# svcprop -p httpd/ssl svc:network/http:apache2
Se false:
# svccfg -s http:apache2 setprop httpd/ssl=true
# svcadm refresh http:apache2
# svcprop -p httpd/ssl svc:network/http:apache2
Deverá agora dar true.
5. Restart Apache
Testar
https://apache.reverse.proxy
Onde apache.reverse.proxy é o endereço da máquina onde está instalado o Apache.
6. Configuração do Reverse Proxy no Apache
No ficheiro http.conf ou noutro que seja incluído:
<Location / >
ProxyPass http://liferay.location:8080/
ProxyPassReverse http:// liferay.location:8080/
<Location />
Onde liferay.location é o endereço da máquina onde está instalado o Liferay.
Restart ao Apache
7. Configuração do Reverse Proxy no Liferay
Editar o ficheiro ~/liferay-portal-6.0.6/tomcat-6.0.29/webapps/ROOT/WEB-INF/classes/portal-ext.properties
Acrescentar:
web.server.http.port=80
web.server.host=apache.reverse.proxy
web.server.https.port=443
web.server.protocol=https
redirect.url.security.mode=ip
redirect.url.domains.allowed=
redirect.url.ips.allowed=127.0.0.1,LIFERAY_IP_MACHINE,APACHE_REVERSE_PROXY_IP_MACHINE
# Para não criar o esquema de demonstração
schema.run.enabled=true
schema.run.minimal=false
Restart ao Liferay.
Testar.
http://apache.reverse.proxy
Deverá abrir a página do Liferay.
8. Configuração do Reverse Proxy com SSL no Apache
<Location / >
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
ProxyPass http://liferay.location:8080/
ProxyPassReverse http://liferay.location:8080/
<Location />
Restart ao Apache.
Testar.
https://apache.reverse.proxy
Deverá aparecer a página do Liferay em HTTPS.
Escrevendo http://apache.reverse.proxy dever-se-á ser redireccionado para https://apache.reverse.proxy
No restante texto explica-se como fazer esta configuração em Solaris 10.
1. Criar um certificado auto-assinado
Instruções detalhadas em http://www.akadia.com/services/ssh_test_certificate.html
1.1 Gerar uma RSA Private Key
Numa shell Solaris:
# /usr/sfw/bin/openssl
Introduzir o comando:
genrsa -des3 -out liferay.key 2048
Escolher uma pass phrase.
Irá gerar o ficheiro liferay.key.
1.2 Gerar um Certificate Signing Request
Numa shell Solaris:
#/usr/sfw/bin/openssl
Introduzir o comando:
req -new -key liferay.key -out liferay.csr
Introduzir a pass phrase escolhida para a chave privada (RSA Private Key).
Introduzir informação nos campos seguintes (exemplo):
Country Name (2 letter code) [US]:PT
State or Province Name (full name) [Some-State]:Lisboa
Locality Name (eg, city) []:Lisboa
Organization Name (eg, company) [Unconfigured OpenSSL Installation]:CFB
Organizational Unit Name (eg, section) []:FUTEBOL
Common Name (eg, YOUR name) []:LIFERAY
Email Address []:
--
A challenge password []:
An optional company name []:
Irá gerar o ficheiro liferay.csr.
1.3 Remoção da pass phrase da chave
Criar uma cópia da chave liferay.key e renomeá-la para liferay.key.futebol
De seguida executar numa shell Solaris:
#/usr/sfw/bin/openssl
Introduzir o comando:
rsa -in liferay.key.futebol -out liferay.key
Introduzir a pass phrase escolhida para a chave privada (RSA Private Key).
1.4 Gerar um certificado auto-assinado
Numa shell Solaris:
#/usr/sfw/bin/openssl
Introduzir o comando:
x509 -req -days 3650 -in liferay.csr -signkey liferay.key -out liferay.crt
Irá gerar o ficheiro liferay.crt.
2. Copiar a chave e o certificado para o Apache
De seguida executar numa shell Solaris:
# mkdir /etc/apache2/ssl.crt
# mkdir /etc/apache2/ssl.key
# cp liferay.crt /etc/apache2/ssl.crt/ssl.crt
# cp liferay.key /etc/apache2/ssl.key/ssl.key
3. Configurar SSL no Apache
No ficheiro /etc/apache2/ssl.conf
Comentar:
#SSLRandomSeed startup builtin
#SSLRandomSeed connect builtin
Descomentar:
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect file:/dev/urandom 512
Alterar
para
SSLCertificateFile /etc/apache2/ssl.crt/ssl.crt
Alterar
SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
para
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/ssl.key
Alterar
<VirtualHost _default_:443>
para
<VirtualHost *:443>
4. Activar o SSL no Solaris
Verificar se o SSL está activo
Nnuma shell Solaris:
# svcprop -p httpd/ssl svc:network/http:apache2
Se false:
# svccfg -s http:apache2 setprop httpd/ssl=true
# svcadm refresh http:apache2
# svcprop -p httpd/ssl svc:network/http:apache2
Deverá agora dar true.
5. Restart Apache
Testar
https://apache.reverse.proxy
Onde apache.reverse.proxy é o endereço da máquina onde está instalado o Apache.
6. Configuração do Reverse Proxy no Apache
No ficheiro http.conf ou noutro que seja incluído:
ProxyPass http://liferay.location:8080/
ProxyPassReverse http://
<Location />
Onde liferay.location é o endereço da máquina onde está instalado o Liferay.
Restart ao Apache
7. Configuração do Reverse Proxy no Liferay
Editar o ficheiro ~/liferay-portal-6.0.6/tomcat-6.0.29/webapps/ROOT/WEB-INF/classes/portal-ext.properties
Acrescentar:
web.server.http.port=80
web.server.host=apache.reverse.proxy
web.server.https.port=443
web.server.protocol=https
redirect.url.security.mode=ip
redirect.url.domains.allowed=
redirect.url.ips.allowed=127.0.0.1,LIFERAY_IP_MACHINE,APACHE_REVERSE_PROXY_IP_MACHINE
# Para não criar o esquema de demonstração
schema.run.enabled=true
schema.run.minimal=false
Restart ao Liferay.
Testar.
http://apache.reverse.proxy
Deverá abrir a página do Liferay.
8. Configuração do Reverse Proxy com SSL no Apache
<Location / >
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
ProxyPass http://liferay.location:8080/
ProxyPassReverse http://liferay.location:8080/
<Location />
Restart ao Apache.
Testar.
https://apache.reverse.proxy
Deverá aparecer a página do Liferay em HTTPS.
Escrevendo http://apache.reverse.proxy dever-se-á ser redireccionado para https://apache.reverse.proxy
sexta-feira, 7 de outubro de 2011
Importação de WSDLs no Oracle Service Bus
A melhor maneira de evitar problemas na importação de WSDLs (problemas do género classes duplicadas, etc) no OSB é colocar os WSDLs e respectivos XSDs num só zip e usar a ferramenta de Bulk -> Zipped Resources.
Oracle Service Bus - Gerando correctamente WSDLs
Quando o OSB (versão 11.1.1.5.0) não está acessível directamente aos clientes (por detrás de um Reverse Proxy por exemplo), os WSDLs não são gerados correctamente, ficando o endpoint com o hostname da máquina onde está deployed o OSB.
Isto é uma situação que se deve evitar, pois está-se a expor nomes internos que não devem ser conhecidos fora.
Esta situação só ocorre se o OSB não estiver em Cluster.
Para corrigir o problema efectuar os seguintes passos:
Agora a geração já será feita como deve ser.
Edição manual do ficheiro config.xml
Esta edição apenas é necessária se não se quiser recriar o domínio de raiz.
Isto é uma situação que se deve evitar, pois está-se a expor nomes internos que não devem ser conhecidos fora.
Esta situação só ocorre se o OSB não estiver em Cluster.
Para corrigir o problema efectuar os seguintes passos:
- Criar um cluster
- Adicionar o servidor do OSB ao cluster
- No cluster, na tab HTTP configurar os campos Frontend Host e Frontend HTTP Port para os valores do Reverse Proxy por exemplo
- Parar o AdminServer e o servidor do OSB
- Editar o ficheiro config.xml conforme indicado a seguir
- Restart do Admin Server
- Restart do servidor OSB
- Verificar a geração de WSDLs
Agora a geração já será feita como deve ser.
Edição manual do ficheiro config.xml
Esta edição apenas é necessária se não se quiser recriar o domínio de raiz.
- Substituir o nome do servidor do OSB pelo nome do cluster excepto nos casos seguintes:
- <server>
- <name>.....
- <jta-migratable-target><user-preferred-server>....
- <server-diagnostic-config><name>....
- <virtual-machine-name>NOME_DO_DOMINIO_.....</virtual-machine-name>
- </server>
- Todos os valores nos vários <jms-server>
- Todos os valores em <migratable-target>
- Todos os valores nos vários <file-store>
- Todos os valores nos vários <jms-system-resource>
- Todos os valores nos vários <saf-agent>
terça-feira, 4 de outubro de 2011
Teclas Home, End, etc a funcionar na linha de comandos (bash) em Solaris
As teclas home, end em Solaris 10 na shell bash escrevem caracteres esquisitos (~) em fez de executarem a sua função espectável.
Para corrigir este problema executar os passos seguintes:
Para corrigir este problema executar os passos seguintes:
- Editar o ficheiro .profile
- Adicionar a linha: export INPUTRC=inputrc
- Salvar e fechar o ficheiro
- Criar o ficheiro inputrc
- Adicionar o conteúdo:
set meta-flag on set input-meta on set convert-meta off set output-meta on "\e[1~": beginning-of-line "\e[4~": end-of-line "\e[5~": beginning-of-history "\e[6~": end-of-history "\e[3~": delete-char "\e[2~": quoted-insert "\e[5C": forward-word "\e[5D": backward-word
- Salvar e fechar o ficheiro
- Fazer logout e login
Colocar as teclas de cursor a funcionar no vi em Solaris
Em Solaris 10, o vi vem com uma funcionalidade muito irritante que é a de não ter a funcionar nem o backspace nem o delete nem as teclas de cursor no modo de edição. As teclas de cursor por exemplo trocam minúsculas por maiúsculas e vice-versa.
A solução do problema não é difícil, bastando criar um ficheiro e colocar alguns mapeamentos que solucionam o problema.
Assim, criar na home do utilizador o ficheiro .exrc.
Dentro desse ficheiro colocar os mapeamentos pretendidos.
O conteúdo tem de ser escrito à mão e NÃO PODE SER COPIADO. Caso contrário não irá funcionar.
Os mapeamentos não podem ter espaços no final, nem pode haver linhas em branco no ficheiro.
Exemplo de ficheiro .exrc (NÃO COPIAR. Escrever no ficheiro o conteúdo, conforme instruções mais abaixo):
:map! ^[OA ^[ka
:map! ^[OB ^[ja
:map! ^[OC ^[la
:map! ^[OD ^[ha
:map! ^[[3~ ^[xa
:map! ^? ^[Xa
Para escrever o conteúdo usar os seguintes comandos (são comandos de controlo, por isso não podem ser copiados):
^[OA = CTRL-V + Seta-para-cima
^[ka = CTRL-V + ESCAPE + k + a
^[OB = CTRL-V + Seta-para-baixo
^[ja = CTRL-V + ESCAPE + j + a
^[OC = CTRL-V + Seta-para-direita
^[la = CTRL-V + ESCAPE + l + a
^[OD = CTRL-V + Seta-para-esquerda
^[ha = CTRL-V + ESCAPE + h + a
^[[3~ = CTRL-V + DELETE
^[xa = CTRL-V + ESCAPE + x + a
^H = CTRL-V + BACKSPACE
^[Xa = CTRL-V + ESCAPE + x + a
Explicação dos mapeamentos:
:map! ^[OA ^[ka -> Coloca a seta para cima a funcionar em modo de edição
:map! ^[OB ^[ja-> Coloca a seta para baixo a funcionar em modo de edição
:map! ^[OC ^[la-> Coloca a seta para a direita a funcionar em modo de edição
:map! ^[OD ^[ha-> Coloca a seta para a esquerda a funcionar em modo de edição
:map! ^[[3~ ^[xa-> Coloca o delete a funcionar em modo de edição, apagando o carácter seleccionado pelo cursor
:map! ^? ^[Xa-> Coloca o backspace a funcionar em modo de edição, apagando o carácter à esquerda do cursor
Esta foi uma configuração que escolhi.
Pode-se adaptar esta configuração usando outros comandos do vi, e acrescentando mais mapeamentos se necessário.
Documentação vi: http://hea-www.harvard.edu/~fine/Tech/vi.html
Onde encontrei a solução: http://www.jonathanlaliberte.com/2009/12/01/fix-arrow-keys-in-vi-on-solaris/comment-page-1/#comment-3548
A solução do problema não é difícil, bastando criar um ficheiro e colocar alguns mapeamentos que solucionam o problema.
Assim, criar na home do utilizador o ficheiro .exrc.
Dentro desse ficheiro colocar os mapeamentos pretendidos.
O conteúdo tem de ser escrito à mão e NÃO PODE SER COPIADO. Caso contrário não irá funcionar.
Os mapeamentos não podem ter espaços no final, nem pode haver linhas em branco no ficheiro.
Exemplo de ficheiro .exrc (NÃO COPIAR. Escrever no ficheiro o conteúdo, conforme instruções mais abaixo):
:map! ^[OA ^[ka
:map! ^[OB ^[ja
:map! ^[OC ^[la
:map! ^[OD ^[ha
:map! ^[[3~ ^[xa
:map! ^? ^[Xa
Para escrever o conteúdo usar os seguintes comandos (são comandos de controlo, por isso não podem ser copiados):
^[OA = CTRL-V + Seta-para-cima
^[ka = CTRL-V + ESCAPE + k + a
^[OB = CTRL-V + Seta-para-baixo
^[ja = CTRL-V + ESCAPE + j + a
^[OC = CTRL-V + Seta-para-direita
^[la = CTRL-V + ESCAPE + l + a
^[OD = CTRL-V + Seta-para-esquerda
^[ha = CTRL-V + ESCAPE + h + a
^[[3~ = CTRL-V + DELETE
^[xa = CTRL-V + ESCAPE + x + a
^H = CTRL-V + BACKSPACE
^[Xa = CTRL-V + ESCAPE + x + a
Explicação dos mapeamentos:
:map! ^[OA ^[ka -> Coloca a seta para cima a funcionar em modo de edição
:map! ^[OB ^[ja-> Coloca a seta para baixo a funcionar em modo de edição
:map! ^[OC ^[la-> Coloca a seta para a direita a funcionar em modo de edição
:map! ^[OD ^[ha-> Coloca a seta para a esquerda a funcionar em modo de edição
:map! ^[[3~ ^[xa-> Coloca o delete a funcionar em modo de edição, apagando o carácter seleccionado pelo cursor
:map! ^? ^[Xa-> Coloca o backspace a funcionar em modo de edição, apagando o carácter à esquerda do cursor
Esta foi uma configuração que escolhi.
Pode-se adaptar esta configuração usando outros comandos do vi, e acrescentando mais mapeamentos se necessário.
Documentação vi: http://hea-www.harvard.edu/~fine/Tech/vi.html
Onde encontrei a solução: http://www.jonathanlaliberte.com/2009/12/01/fix-arrow-keys-in-vi-on-solaris/comment-page-1/#comment-3548
segunda-feira, 3 de outubro de 2011
./dbstart: test: argument expected
Ao executar o comando dbstart para levantar uma base de dados Oracle se ocorrer o erro:
então, por incrível que pareça, o problema está no início do script.
Substiruir
#!/bin/sh
por:
#!/bin/bash
Fazer o mesmo no dbshut.
dbstart: test: argument expected
então, por incrível que pareça, o problema está no início do script.
Substiruir
#!/bin/sh
por:
#!/bin/bash
Fazer o mesmo no dbshut.
Pós-instalação de Base de Dados Oracle 11g em Solaris
Depois de instalada a base de dados em Solaris, é necessário configurar o ambiente para se poder aceder à base de dados em condições.
Assim como utilizador que vai correr a base de dados (neste caso oracle):
Editar o ficheiro .profile (caso se use bash)
Sair e voltar a entrar para assumir as alterações no perfil.
Executar:
Fora do SQLPLUS, na linha de comandos executar:
Editar o ficheiro /var/opt/oracle/oratab
Verificar se o conteúdo termina com Y. Se terminar com N então a base de dados não arranca automaticamente.
Ex:
Para a base de dados arrancar e terminar automaticamente a cada reboot do servidor, criar como root o ficheiro /etc/init.d/dbora com o conteúdo seguinte:
Depois de criado o ficheiro executar:
Mais detalhes aqui e aqui.
Assim como utilizador que vai correr a base de dados (neste caso oracle):
Editar o ficheiro .profile (caso se use bash)
ORACLE_SID=SID_BASE_DADOS
export ORACLE_SID
export ORACLE_SID
ORACLE_HOME=RAIZ_DO_PRODUTO(por defeito: /u01/app/oracle/product/11.2.0/dbhome_1)
export ORACLE_HOME
ORAENV_ASK=NO
export ORAENV_ASK
export PATH=$PATH:/usr/local/bin
. /usr/local/bin/oraenv
export ORACLE_HOME
ORAENV_ASK=NO
export ORAENV_ASK
export PATH=$PATH:/usr/local/bin
. /usr/local/bin/oraenv
Sair e voltar a entrar para assumir as alterações no perfil.
Executar:
sqlplus / AS SYSDBA
@?/rdbms/admin/utlrp.sql
Fora do SQLPLUS, na linha de comandos executar:
$ORACLE_HOME/bin/genclntst
Editar o ficheiro /var/opt/oracle/oratab
Verificar se o conteúdo termina com Y. Se terminar com N então a base de dados não arranca automaticamente.
Ex:
oracle_sid:/u01/app/oracle/product/11.2.0/dbhome_1:Y
Para a base de dados arrancar e terminar automaticamente a cada reboot do servidor, criar como root o ficheiro /etc/init.d/dbora com o conteúdo seguinte:
#! /bin/sh -x # # Change the value of ORACLE_HOME to specify the correct Oracle home # directory for your installation. ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1 # # Change the value of ORACLE to the login name of the # oracle owner at your site. # ORACLE=oracle PATH=${PATH}:$ORACLE_HOME/bin HOST=`hostname` PLATFORM=`uname` export ORACLE_HOME PATH case $1 in 'start') su - oracle -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" & ;; 'stop') su - oracle -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME" & ;; *) echo "usage: $0 {start|stop}" exit ;; esac # exit
Dar as seguintes permissões ao ficheiro dbora
chgrp GRUPO_ORACLE dbora chmod 750 dbora
Depois de criado o ficheiro executar:
ln -s /etc/init.d/dbora /etc/rc0.d/K01dbora ln -s /etc/init.d/dbora /etc/rc3.d/S99dbora
Mais detalhes aqui e aqui.
Mudar prompt de root em Solaris 10
Ao contrario do que muitos rumores dizem, já não há problema em mudar a prompt de root em Solaris 10. Antes desta versão a shell que vinha por defeito não era linkada, o que trazia (segundo dizem) segurança acrescida em caso de problemas. Contudo a partir da versão 10 a shell por defeito já é linkada e por isso é indiferente se se muda a shell ou não.
Então os passos para mudar de shell de root:
Então os passos para mudar de shell de root:
- /usr/ucb/vipw -> Alterar a shell para, por exemplo: /bin/bash
- Sair e voltar a entrar da sessão
- Editar o ficheiro .profile e acrescentar uma linha para ter a prompt como se quer. Exemplo: PS1="[\H \w] $ "
Configuração da prompt de uma shell Bash
Para alterar a prompt de uma shell Bash, basta configurar a variável PS1 com um
formato, usando um ou mais caracteres especiais:
\a an ASCII bell character (07)
\d the date in "Weekday Month Date" format
(e.g., "Tue May 26")
\e an ASCII escape character (033)
\h the hostname up to the first `.'
\H the hostname
\j the number of jobs currently managed by the
shell
\l the basename of the shell's terminal device
name
\n newline
\r carriage return
\s the name of the shell, the basename of $0
(the portion following the final slash)
\t the current time in 24-hour HH:MM:SS format
\T the current time in 12-hour HH:MM:SS format
\@ the current time in 12-hour am/pm format
\u the username of the current user
\v the version of bash (e.g., 2.00)
\V the release of bash, version + patchlevel
(e.g., 2.00.0)
\w the current working directory
\W the basename of the current working direc
tory
\! the history number of this command
\# the command number of this command
\$ if the effective UID is 0, a #, otherwise a
$
\nnn the character corresponding to the octal
number nnn
\\ a backslash
\[ begin a sequence of non-printing characters,
which could be used to embed a terminal con
trol sequence into the prompt
\] end a sequence of non-printing characters
Exemplo: PS1="[\H \w] $"
Mais detalhes em aqui.
Subscrever:
Mensagens (Atom)