Oracle acalma clientes da Sun, mas descontinua Projeto Kenai
Segundo o presidente da Oracle, Charles Phillips, a compra da Sun pela Oracle, que foi concluÃda esta semana e cujo valor foi de US$ 7,4 bilhões, não deve preocupar os clientes da companhia adquirida.
Em evento transmitido ontem para a imprensa mundial via webcast, o executivo afirmou que não haverá demissões em massa, nem perda de produtos em uso, e sim um upgrade das soluções e serviços.
O CEO da Oracle, Larry Ellison, disse ao Wall Street Journal que a ideia da empresa é contratar, nos próximos meses, mais dois mil funcionários, nos setores de vendas e engenharia.
O porém fica por conta do Projeto Kenai, que, de acordo com a Oracle, será descontinuado. Em um FAQ voltado à aquisição da Sun, a Oracle afirmou que continuará utilizando o projeto apenas internamente e vai buscar meios para que seus clientes possam tirar algum proveito disso. O cronograma para que usuários retirem dados e projetos do Kenai será disponibilizado no site do projeto.
Com a tecnologia da Sun, a Oracle lança o Exadata Database Machine 2, uma solução de hardware e software capaz de processar em até dez vezes menos tempo do que os equipamentos tradicionais. O objetivo da Oracle é concorrer em pé de igualdade com concorrentes como IBM e EMC.
Fonte: iMasters
Bancos de dados Gratuitos: Oracle x IBM x Microsoft
As empresas estão cobiçando uma fatia desse mercado gratuito que vem crescendo constantemente para trazer novos adeptos e clientes aos seus produtos, que têm como concorrentes ótimos produtos como MySQL, Firebird e PostGree.
Um dos principais obstáculos encontrados pelas empresas, além de oferecer licenças gratuitas, é como ganhar confiança entre os desenvolvedores Open-Source e produtores independentes de software.
Olhando esse grande problema, a principal tática para conseguir trazer adeptos e futuramente novos clientes, foi utilizar recursos que suas versões pagas utilizam, de forma restrita e limitada, e ao mesmo tempo, usar o peso que o próprio nome da empresa tem no mercado, pois qual produtora de software não gostaria de oferecer seu produto utilizando um banco de dados da Microsoft, Oracle ou IBM?
A primeira empresa a apostar suas fichas foi a Microsoft, trazendo o SQL Server Express, olhando todo esse movimento de marketing em busca de novos clientes do adversário, a Oracle não ficou para trás e lançou o Oracle Express Edition para acompanhar a Microsoft.
A IBM também não queria ficar fora desse jogo, e logo colocou no mercado o IBM Express C, estreitando a fatia de banco de dados Open-Source e aumentando a competição entre as empresas, que já disputam o mercado de licenças pagas.
Com toda essa briga, nos restou saber qual devemos utilizar, já que existem muitas boas opções no mercado, e para conseguir boas soluções em projetos, uma relação dos produtos que possuem versões gratuitas e pagas será comparada a seguir:
Microsoft SQL Server Express
A Microsoft criou SQL Server Express sobre o modelo do seu principal banco de dados, o SQL Server 2005, permitindo uma facilidade de migração para sua versão paga, o SQL Server Express é uma ótima solução para desenvolvedores da plataforma Microsoft, como ASP, Visual Basic e DotNet.
Abaixo seguem alguns recursos que serão encontrados na versão gratuita:
LIMITAÇÃO
Capacidade de Armazenamento: 4GB
Processadores: 1 Processador
Memória: 1 GB
Sistema Operacional: Windows
RECURSOS SUPORTADOS
- Stored Procedures
- SQL Server Configuration Manager
- Views
- Replication *
- Triggers
- Advanced Query Optimizer
- Cursors
- SMO/RMO
- sqlcmd and osql utilities
- Integration with Visual Studio 2005
- Snapshot Isolation Levels
- Service Broker **
- Native XML support, including XQuery and XML Schemas
- SQL CLR
- Transact-SQL language support
- Multiple Active Result Sets (MARS)
- Dedicated Administrator Connection **
- Auto Tuning
- Common Language Runtime and .NET Integration
- Integration with Microsoft Baseline Security Analyzer
* Esse recurso é somente disponÃvel aos usuários que forem assinantes da Microsoft.
** Para utilizar esses recursos há uma limitação, favor consultar a documentação do produto.
Agora, para quem já conhece os recursos do SQL Server, abaixo segue uma relação dos serviços que não são suportados pela versão gratuita:
RECURSOS NÃO SUPORTADOS
- Database mirroring
- SQL Mail
- Online restore
- Fail-over clustering
- Database snapshot
- Distributed partitioned views
- Parallel index operations
- VIA protocol support
- Mirrored media sets
- Log shipping
- Partitioning
- Parallel
- DBCC
- Address Windowing Extensions (AWE)
- Parallel Create Index
- Hot-add memory
- Enhanced Read Ahead and Scan
- Native http SOAP access
- Indexed views (materialized views)
- SQL Mail and Database Mail
- Partitioned views
- Online Index Operations
- SQL Server Agent and SQL Server Agent Service
O problema que a Microsoft pode encontrar para conseguir ganhar espaço nesse mercado é a limitação do seu produto somente em seu próprio sistema operacional Windows, proporcionando custos nos projetos independentes, mas outros pontos positivos podem ser destacados, como:
- Documentação bem elaborada e com exemplos práticos elaborados pelo MSDN.
- Interface gráfica bem fácil de utilizar.
- Administração pelo SQL Server Management Studio Express.
- Integração com a maioria das linguagens de programação do mercado.
Oracle Express Edition
O gigante dos bancos de dados também caprichou na sua versão gratuita, produzindo o Oracle Express Edition (Oracle XE), uma versão que trouxe os recursos mais atualizados encontrados na versão paga do Oracle Database 10G Release 2, a Oracle se destaca por colocar em sua versão gratuita, diversas opções de administração, desempenho, backup e recover, além do Application Express (Apex) um aplicativo de administração de banco de dados desenvolvido para plataforma web, uma customização do seu produto HTMLDB que facilita o gerenciamento do banco de dados e desenvolvimento de pequenos aplicativos para usuários finais, como relatórios e formulários.
Mas, como tudo não é uma maravilha, a Oracle colocou algumas restrições de recursos e limitou seu banco de dados, deixando assim, as produtoras se adaptarem às necessidades do crescimento.
A seguir, estão as limitações e restrições dos recursos que não iremos encontrar no Oracle Express Edition:
LIMITAÇÃO
Capacidade de Armazenamento: 4GB
Processadores: 1 Processador
Memória: 1 GB
Sistema Operacional: Linux ou Windows
Observando as limitações acima, percebe-se que caso sua empresa tenha máquinas poderosas, poderá apenas utilizar os limites impostos, marcando como um ponto negativo, porém outro lado irá lhe recompensar com alguns recursos que somente as versões pagas da Oracle oferecem e outros que somente a versão 10G possui, veja abaixo:
RECURSOS SUPORTADOS
- PL/SQL stored procedures e triggers
- Oracle Developer Tools para Visual Studio.Net
- PL/SQL Server pages
- Active Directory
- PL/SQL native compilation
- DML Triggers
- Drivers JDBC
- Index-organized tables
- Suporte .Net, OLE DB e ODBC
- Temporary table
- Suporte XML
- Objects and Extensibility
- Suporte a LOB (Large Objects)
- Oracle Text
- Function-based index
- SQL Model
- SQL Analytic functions
- Star query transformation
- Globalization support
- Multiple block size support
- Flashback Query
- Online Backup
- Encryption toolkit
- Automatic Memory Management
- External tables
- External procedures
- Distributed transactions
Alguns recursos mais avançados que os profissionais encontram na versão 10G do Oracle não foram disponÃveis, como:
RECURSOS NÃO SUPORTADOS
- Automatic Storage Management
- Virtual Private Database
- Database Resource Manager
- Fine grained auditing
- Flashback Transaction Query
- Fast-Start Selectable Recovery Time
- Block-level media recovery
- Parallel backup and recovery
- Point-in-time tablespace recovery
- Trial recovery
- Flashback Table
- Flashback Database
- Online schema reorganization/redefinition
- Parallel export/import
- Parallel statistics gathering
- Parallel query/DML
- Materialized View Query Rewrite
- Summary Management
- Bitmapped index, bitmapped join index
- Data Compression
- SQLJ
- Database Web services
- Java Server Pages
- Java support in the database
Muitos outros pontos positivos podem ser encontrados quando uma empresa pensar em utilizar o Oracle Express Edition em seus projetos, no quais podemos citar alguns, como:
- Documentação On-line no site da Oracle, desde iniciante ao avançado.
- Integração com diversos aplicativos da Oracle para gerenciamento do banco de dados, como: Oracle Enterprise Manager, Apex, SQL Developer e HTML DB.
- Possibilidade de ajustar o banco de dados e sistema operacional para ganhos de desempenho.
- Drivers compatÃveis para a grande maioria das linguagens de programação.
- Possibilidade de Cold e Hot backup utilizando o RMAN.
IBM DB2 Express C
A IBM desenvolveu a versão gratuita utilizando os recursos de sua versão paga o DB2 UDB Express com uma configuração de pacote menor, uma vantagem que o DB2 Express-C pode lhe oferecer é realizar a migração do seu banco de dados para qualquer outra versão sem a necessidade da paralisar o aplicativo, deixando o aplicativo 100% operante utilizando uma outra tecnologia de banco de dados.
Com o DB2 Express-C você pode encontrar estabilidade e flexibilidade nos diferentes sistemas operacionais e uma gama de aplicativos para gerenciar de modo ágil e fácil todos os banco de dados DB2.
As limitações do DB2 são diferenciadas e mais poderosas como podemos observar abaixo:
LIMITAÇÃO
Capacidade de Armazenamento: Ilimitada
Processadores: 2 Processadores
Memória: 4 GB
Sistema Operacional: Linux ou Windows
O suporte às mais variadas linguagens de programação e as poucas restrições impostas aos seus recursos tornam mais fortes o seu poder de competição no mercado e um objeto de desejo entre os desenvolvedores, abaixo podemos analisar o que o DB2 Express-C pode nos proporcionar:
RECURSOS SUPORTADOS
- Suporte XML
- Suporte .NET
- C/C++
- Java
- PHP
- Suporte a Unix
- Web Services
- ADO e ADO.NET
- SQLJ
- SQL Embutido
- Gerenciamento Autônomo
- WebSphere Studio Application Developer
Alguns profissionais DB2 gostam de dizer que o DB2 Express-C é um pequeno DB2 UDB Express, pelo motivo que quase todos os recursos são encontrados nessa versão, com exceção dos recursos abaixo:
RECURSOS NÃO SUPORTADOS
- Warehouse Manager tools & servers
- Extender support
- DB2 Connect support
- Informix Data Source Replication
- Replication Data Capture
- APPC
- Netbios
- Database Partitioning Feature
- Connection Concentrator
- DB2 Geodetic Extender
- Query Patroller
- Net Search Extender
- pureXML
- DB2 Web tools
- Spatial Extender Client and Samples
- Microsoft Cluster Server support
Outros pontos devem ressaltar quando pensarmos em utilizar o produto em seus projetos, que podem futuramente trazer beneficios ou problemas:
- Pouca documentação sobre o banco de dados.
- Integração com todos os outros aplicativos do fabricante.
- Possibilidade de adquirir recursos extras, conforme a necessidade do aplicativo.
- Estabilidade, confiabilidade e segurança aos desenvolvedores.
Suporte
Para todos os produtos citados, os fabricantes não fornecem suporte técnico, apenas Fórum em seus respectivos sites gerenciados e administrados por profissionais da empresa, exemplo é o suporte oferecido pela Oracle que pode contar com grandes administradores de banco de dados do mercado (DBA), como Thomas Kyte. A Microsoft criou Hot site com fórum de suporte e artigos técnicos no MSDN, o único que trouxe um pouco de dificuldade foi a IBM, que disponibilizou apenas um fórum técnico em seu site que é difÃcil ter retornos e quase nenhum artigo técnico.
Custos
Como não há necessidade de adquirir licenças para os bancos de dados, seu custo fica praticamente zero, é o caso quando se utiliza bancos de dados como MySQL, Firebird e PostGree.
Devemos sempre orientar o profissional que utilizar um Oracle, SQL Server ou DB2, que ele pode, sim, envolver custos e fornecer um crescimento ao seu aplicativo. Esses custos podem estar embutidos na compra de máquinas mais poderosas, mão-de-obra qualificada e aquisição de recursos ou serviços extras fornecidos pelo fabricante.
Portanto, antes de querer implantar algum banco de dados, veja a real necessidade do seu aplicativo e analise todas as funcionalidades que cada versão pode lhe oferecer para não ter arrependimento posteriormente. Eles realmente são capazes de trazer muitas melhorias e total estabilidade ao seu aplicativo, mas sempre com cautela.
Download
Abaixo, estão disponÃveis todos os links úteis para baixar as versões desejadas.
Biblioteca Técnica
Como as versões dos poderosos bancos de dados gratuitos são muito recentes, encontrar e trocar informações sobre os produtos é muito difÃcil, então, abaixo segue uma relação de sites e fórum que possuem dicas, artigos técnicos e troca de experiências entre os profissionais.
Microsoft SQL Server Express
Linha de Código
http://www.linhadecodigo.com.br/artigos.asp?id_ac=947&pag=1
MSDN SQL Server Express
http://www.microsoft.com/express/sql/download/
Oracle Express Edition
OTN
http://www.oracle.com/technology/products/database/xe/index.html
Oracle Express Edition Tutorial
http://st-curriculum.oracle.com/tutorial/DBXETutorial/index.htm
Máteria sobre Oracle XE em português
Revista SQL Magazine Edição 35
https://ssl.dominal.com/devmedia/loja/edicoes_anteriores3.asp
IBM DB2 Express-C
Viva o Linux
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4687
DB2 Universal Database
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/welcome.htm
Configurando o PHP para conectar ao Oracle
Tenho visto que muitas vezes, para pessoas que nunca trabalharam com PHP e Oracle, é um tanto quanto difÃcil. Embora seja simples, conexão PHP com Oracle exige um conhecimento a mais do que com os outros bancos.
Tudo começa nas configurações do PHP. Precisamos descomentar as bibliotecas responsáveis pelo conexão com Oracle.
Configurando o PHP
No Windows, vá até o diretório de instalação do Apache.
1 – Edite o arquivo \apache\php.ini
2 – Busque pela linha ;extension=php_oci8.dll descomente-a tirando o ponto e vÃrgula de seu inÃcio.
2 – Busque pela linha ;extension=php_oracle.dll descomente-a tirando o ponto e vÃrgula de seu inÃcio.
3 – Salve o arquivo editado e reinicie o apache.
No Linux, vá até o diretório /etc/phpX*/apache (onde o “X” de phpX é a versão do PHP)
1 – Edite o arquivo /etc/phpX*/apache/php.ini
2 – Busque pela linha ;extension=oci8.so descomente-a tirando o ponto e vÃrgula de seu inÃcio.
3 – Caso ela não exista no arquivo, deverá ser inserida. Pode inseri-la no fim do arquivo mesmo sem problemas.
Criando a conexão com o Oracle via PHP:
<?php
//Nome de usuário do banco de dados, nesse exemplo usei um usuário
//padrão do oracle,
//caso não dê certo é por que ele deve ter sido deletado ou a senha
// alterada após
//a instalação do oracle.
ora_user = "scott";
//Senha do usuário no banco de dados.
ora_senha = "tiger";
//Nesse bloco do código, especificamos as definições do banco de dados,
//como o protocolo
//de comunicação o protocolo utilizado foi o TCP, o ip do servidor onde
//se encontra o banco de dados
//e a porta de conexão , geralmente por padrão a porta utilizada pelo
//Oracle é a porta 1521,
//caso não dê certo com a porta 1521, alguém pode ter alterado-a no
//durante a instalação,
//e por último a instância do banco que aqui utilizamos a instância ORCL.
//Caso não dê certo nessa instância é por que no momento da instalação ela
//foi criada com um nome diferente.
ora_bd = "(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)
(HOST=192.168.0.2)(PORT=1521)
)
)
(CONNECT_DATA=(SERVICE_NAME=ORCL))
)";
//Nesta linha fazemos a conexão com o banco usando os variáveis preenchidas
//anterior mente, logo em seguida fazemos uma verificação, se a conexão ocorreu
//com sucesso, será impresso na tela uma mensagem avisando nos de tal,
//caso não, ele imprimirá na tela uma mensagem avisando que houve um erro
if (ora_conexao = OCILogon(ora_user,ora_senha,ora_bd) )
echo "Conexão bem sucedida. Usuário conectado: ora_user";
else
echo "Erro na conexão com o Oracle.";
?>
Agora é só começar a programar mais!
Cursor e Laços em PL/SQL
Cursores
Quando você executa uma instrução SQL no Oracle, o PL/SQL criou uma área de trabalho privada para a instrução chamada PGA. É onde os dados que são retornados da instrução SQL são armazenados. O nome do cursor é basicamente um apontador para esta área. Agora criaremos um cursor.
CURSOR c_customers is SELECT * from CUSTOMERS;
Podemos abrir o cursor.
OPEN c_customers;
Podemos selecionar dados do cursor.
FETCH c_customers into customers_rec; E podemos fechar o cursor. CLOSE c_customers;
Quando selecionamos dados de um cursor estamos na verdade selecionando dados de uma tabela virtual definida pela definição do cursor.
Cursores ImplÃcitos e ExplÃcitos
Vamos passar por este assunto brevemente. Toda instrução SQL que você execute é um cursor implÃcito. Lembre disto, é uma das favoritas para perguntas a candidatos em entrevistas. Um cursor explÃcito é aquele que criamos acima. Se você dá um nome ao cursor então ele é um cursor explÃcito. Em seu PL/SQL sempre use cursores explÃcitos.
Declarando Cursores
Antes que você possa usar seu cursor explÃcito, você deve primeiro declará-lo. Há três formas diferentes para se declarar cursores explÃcitos.
DECLARE cursor c_customers IS SELECT name, phone FROM customers; DECLARE cursor c_customers(i_cust_id In NUMBER) IS SELECT name, phone FROM customers WHERE cust_id = i_cust_id; DECLARE cursor c_customers RETURN customers%ROWTYPE IS SELECT name, phone FROM customers;
A segunda forma criou o cursor com a variável passada como um argumento. A terceira forma é raramente usada.
Abrindo Cursores
Quando você abre um cursor, o PL/SQL executa a consulta para aquele cursor. A instrução open não retorna qualquer dado, isto é feito pela instrução fetch.
O SGBDR Oracle garante consistência de leitura para o cursor. Todos os dados buscados não são afetados por outras atualizações, inserções ou exclusões efetuadas sobre a(s) tabela(s) no cursor.
Um cursor não pode ser aberto duas vezes, ele deve ser fechado primeiro ou o Oracle retornará um erro. É um bom hábito checar se o cursor está aberto antes de abri-lo. Isto pode ser feito usando o atributo %ISOPEN.
if c_customers%ISOPEN then close c_customers; end if; open c_customers;
Buscando Dados do Cursor
O motivo de declarar um cursor é para buscar, ou retornar, as linhas de dados do cursor e manipular os dados de alguma forma. Você deve trazer os dados para dentro de uma variável do tipo que está sendo trazido. Com o nosso cursor c_customers que abrimos nós precisamos ter duas variáveis para colocar os dados nelas. O formato da instrução fetch é:
FETCH c_customers INTO l_name, l_phone;
O número de variáveis deve ser o mesmo da declaração do cursor. Sempre tome a precaução de usar declarações de variáveis ancoradas. Lembre do capÃtulo 4.
Agora como sabemos quando já trouxemos todas as linhas definidas pelo cursor? Usamos o atributo %NOTFOUND do cursor. Ele é verdadeiro quando não existem mais registros no conjunto ativo.
Fechando Cursores
Quando você tiver terminado o trabalho com o cursor é sempre bom fechá-lo, cada cursor usa memória, então fechá-lo permite que o Oracle recupere esta memória.
Select for Update com Cursores
Quando você efetua uma instrução select no Oracle, nenhum bloqueio é colocado no banco de dados. Contudo haverá ocasiões em que você irá querer bloquear um conjunto de registros antes de alterá-los em seu programa PL/SQL. Isto pode ser feito usando a cláusula FOR UPDATE da instrução SELECT.
declare c_customers is select name,phone from customers for update;
Laços
A capacidade de usar laços é uma das principais diferenças entre SQL e PL/SQL, assim, isto é algo que deve ser muito bem entendido. Existem três construções de laços em PL/SQL que são muito simples e fáceis de entender.
O Laço Simples
O laço simples é também conhecido como laço infinito. A sintaxe para o laço simples é
loop instruções executáveis exit when condição é true end loop;
Vamos tentar um exemplo. Entre com o seguinte na sua sessão do sql*plus.
set serveroutput on declare i number := 1; begin dbms_output.enable(100000); loop dbms_output.put_line(i); i := i + 1; exit when i > 10; end loop; end;
Quando executar o código você deve ver os números de 1 a 10 impressos na tela. O código continua até que a cláusula exit equaciona true. Daà o nome de laço infinito.
As instruções de dbms_output são chamadas a um pacote do banco de dados que exibem saÃda em PL/SQL. Você usa o laço simples quando você não sabe quantas vezes você quer que o laço execute e você quer que o laço execute no mÃnimo uma vez.
Laços Numéricos
O laço numérico executará um certo número de vezes que foi definido no Ãndice do laço. A sintaxe para um laço numérico é:
for loop_index in lower_range .. upper_range loop instruções executáveis end loop; set serveroutput on begin dbms_output.enable(10000); for i in 1 .. 10 loop dbms_output.put_line(i); end loop; end;
O código será executado dez vezes. Isto está demonstrando uma forma diferente de obter o mesmo resultado. Você usa o laço numérico quando você quer executar o laço um número fixo de vezes e você não quer que o laço termine prematuramente.
Também é possÃvel para o laço numérico fazer laços “para trás”. Experimente o próximo exemplo:
set serveroutput on begin dbms_output.enable(10000); for i in reverse 1 .. 10 loop dbms_output.put_line(i); end loop; end;
Este laço decrementará i de 10 até 1. O PL/SQL apenas incrementará ou decrementará o Ãndice de 1.
A razão pela qual usamos laços em PL/SQL é fazer mais do que exibir números, os usamos principalmente para processar linhas de dados trazidas do banco de dados. Podemos usar ou o laço simples ou o laço for para processar dados. Aqui está um exemplo usando o laço simples.
begin declare cursor c_students is select * from students; student_rec c_students%rowtype; begin open c_students; loop fetch c_students into student_rec; exit when c_students%notfound; end loop; close c_students; end; end; /
Aqui está outro exemplo usando o laço for com cursores:
declare cursor c_students is select * from students; begin for c_students_rec in c_students loop null; end loop; end; /
Se a segunda forma é menor por que usar o laço simples? O laço simples é melhor se precisarmos decidir o término do laço baseando-se em valores retornados em um fetch.
O laço WHILE
O laço WHILE é um laço condicional que executará enquanto a condição do teste for avaliada como TRUE. Vamos tentar um exemplo. Entre o seguinte na sua sessão sql*plus.
set serveroutput on declare i number := 0; begin dbms_output.enable(1000); while i < 10 loop i := i + 1; dbms_output.put_line(i); end loop; end; /
Quando usamos o laço WHILE não estamos certos de quantas vezes o laço deve ser executado e você não tem que executar o laço no mÃnimo uma vez. O teste para a execução do laço acontece antes do laço acontecer assim é possÃvel que o laço não seja executado.
Gerenciando log do Oracle através do Linux com Logrotate
Descrevo neste tutorial o passo-a-passo para configurarmos o rotacionamento de log do importante arquivo alert<SID>.log do Oracle.
Este procedimento é muito útil pois evita que o arquivo de log fique grande demais e dificulte nossa pesquisa por informações dentro do mesmo.
Criando e configurando o arquivo de rotação de log
Para que o arquivo de alertas da instância do Oracle não fique grande demais e dificulte as pesquisas, podemos fazer com que este seja rotacionado através do utilitário logrotate do Linux. O mesmo é usado para os principais registros de log do Linux.
Vou exemplificar com o Oracle-XE, mas pode ser realizado com qualquer versão do Oracle ou qualquer outro arquivo de log que queiramos gerenciar com o Logrotate.
Basta para isso criarmos um arquivo chamado oracle-xe (sugestão) dentro da pasta /etc/logrotate.d. Como utilizo Ubuntu/Gnome, costumo chamar o editor da seguinte forma:
$ gksu gedit /etc/logrotate.d/oracle-xe
Mas fique livre para utilizar o editor que quiser, porém lembrando sempre que deve criado o arquivo com direitos de administrador (usuário root).
Dentro do arquivo /etc/logrotate.d/oracle-xe adicione a seguinte informação:
/usr/lib/oracle/xe/app/oracle/admin/XE/bdump/*.log {
weekly
rotate 10
copytruncate
delaycompress
compress
notifempty
missingok
}
Detalhando os parâmetros internos do arquivo:
- /…./admin/XE/bdump/*.log – caminho/nome do arquivo a ser rotacionado;
- weekly – informa que o log deve ser rotacionado semanalmente;
- rotate N – comando para rotacionar os logs até N vezes, após vai descartando o mais antigo;
- copytruncate – copia o log e move o original para outro lugar;
- delaycompress – Atrasa a compressão do log para a próxima rotação;
- compress – comprime os logs rotacionados;
- notifempty – não rotaciona se o log estiver vazio;
- missingok – não envia mensagem de erro se o arquivo de log não existir.
A partir daà os logs serão rotacionados de acordo com as regras estabelecidas no arquivo.
Referências de apoio com o logrotate:
