Documentação, monitoração e gerenciamento
Tire proveito dos novos recursos do Oracle SQL Developer 1.5.,
Postado em Abril 2015
O Oracle SQL Developer 1.5 apresenta uma grande gama de novas funcionalidades. Mesmo recursos que podem parecer menos importantes em princípio podem ajudar no seu trabalho do dia-a-dia significativamente. Esta culuna explora os recursos do Oracle SQL Developer 1.5 que o ajudam a documentar e gerenciar os objetos e esquemas do Banco de Dados Oracle. Você aprenderá a:
- Compartilhar facilmente detalhes dos objetos com outros participantes dos seus projetos
- Usar relatórios instantâneos para obter detalhes sobre as suas sessões do banco de dados e tablespaces, terminar sessões e encerrar o banco de dados
- Tirar proveito de utilitários de cópia e exportação para facilitar o trabalho com vários esquemas
Para começar
Para os exemplos desta culuna, é necessário o Oracle SQL Developer 1.5.1. Se você tiver a versão de produção do Oracle SQL Developer 1.5 instalada, abra-a e use Help -> Check For Updates para atualizar para o Oracle SQL Developer 1.5.1. Caso contrário, baixe a instalação completa do Oracle SQL Developer 1.5.1 da OTN e descompacte em uma pasta nova e vazia. (Não descompacte em uma pasta existente do Oracle SQL Developer.)
Você pode migrar as conexões e preferências do seu banco de dados do Oracle SQL Developer 1.2.x ou 1.5 para o Oracle SQL Developer 1.5.1 durante a instalação. Se não quiser migrar as preferências, ainda poderá importar as conexões do banco de dados de qualquer versão anterior após a instalação. Para importar conexões:
- Inicie a versão anterior do Oracle SQL Developer
- Selecione Connections no Connections Navigator
- Clique com o botão direito do mouse e selecione Export Connections
- Navegue até um local adequado, digite um nome de arquivo como connections.xml e clique em Save
- Encerre a versão anterior e inicie o Oracle SQL Developer 1.5.1
- Selecione Connections no Connections Navigator
- Clique com o botão direito do mouse e selecione Import Connections
- Navegue até o arquivo que você acabou de salvar, clique em Open e em OK
Para essa culuna, você também precisa de acesso aos esquemas HR e OE de amostra em uma instância do Banco de Dados Oracle.
Gerando a documentação do banco de dados
Você pode gerar a documentação sobre seu esquema em formato HTML para sua própria consulta ou para compartilhar com outras pessoas. Siga estas etapas para gerar e ver a documentação do esquema:
- Se ainda não tiver uma conexão ao esquema HR, crie uma e nomeie como HR_ORCL. (Para ver informações detalhadas sobre como criar uma conexão, veja “Creating a Database Connection” em “Próximos passos” e também “Making Database Connections”, na edição de maio/junho de 2008 da Oracle Magazine.)
- Clique com o botão direito do mouse na conexão HR_ORCL e selecione Generate DB Doc.
- Selecione ou crie um local adequado para os arquivos gerados, como \working. Se você planeja compartilhar os arquivos gerados com outras pessoas, use um local em um servidor de arquivos compartilhado. (Também é possível mover ou copiar os arquivos gerados.)
Um arquivo index.html deverá abrir automaticamente em seu browser padrão. Se isso não ocorrer, navegue em um browser até o arquivo \working\index.html e abra-o.
Para ver os detalhes de qualquer objeto de banco de dados na documentação em HTML, selecione o tipo de objeto no painel do esquema, no canto superior esquerdo. Uma lista de todos os objetos desse tipo aparecerá em um painel abaixo do painel do esquema. Selecione um objeto para exibir seus detalhes no painel central. Por exemplo, para exibir detalhes da tabela EMPLOYEES, selecione Tables no painel superior e EMPLOYEES no painel inferior (veja a Figura 1).
Monitorando e gerenciando com relatórios
A função View -> Reports do Oracle SQL Developer permite selecionar diversos relatórios padrão do sistema para ver detalhes sobre seu banco de dados e esquemas. Dois relatórios também estão disponíveis no menu Touls e Connections Navigator, respectivamente, para fácil acesso. Ambos são adequados para usuários privilegiados como SYSTEM ou SYS. (Você também pode executá-los como usuário não-privilegiado, como HR, com algumas limitações.)
O relatório Sessions mostra detalhes sobre as sessões atuais que estão ativas e inativas. Siga estas etapas para exibir o relatório Sessions:
- Crie uma nova conexão chamada SYSTEM_ORCL para o usuário SYSTEM.
- Selecione Touls -> Monitor Sessions.
- Selecione SYSTEM_ORCL na caixa de diálogo Select Connection e clique em OK para abrir o relatório.
Usuários privilegiados podem terminar uma sessão a partir do relatório Sessions – por exemplo, quando a sessão de um usuário não tiver sido fechada adequadamente. (O esquema HR padrão não pode terminar sessões.) Se a conexão HR ainda estiver ativa do exercício anterior, por exemplo, selecione a sessão HR no relatório Sessions que você acabou de gerar, clique com o botão direito do mouse, selecione Kill Session e clique em Apply.
O outro relatório disponível neste nível é o Manage Database. Clique com o botão direito do mouse na conexão SYSTEM_ORCL, no Connections Navigator, e selecione Manage Database. O relatório exibe detalhes sobre os tablespaces em seu banco de dados. Se você executar este relatório de uma conexão SYS, você poderá encerrar e reiniciar o banco de dados de dentro do Oracle SQL Developer. (O botão Shutdown não está disponível para usuários não-privilegiados.)
Copiando objetos para um novo esquema
O trabalho com vários esquemas freqüentemente envulve copiar objetos e seus dados de um esquema para outro. Existem muitas maneiras de fazer isso no Oracle SQL Developer, incluindo as seguintes:
- Copiar objetos passo a passo, primeiro criando e executando a linguagem de definição de dados (DDL) para criar a tabela e depois executando uma série de instruções de inserção para inserir os novos dados.
- Usar Table -> Copy para criar uma cópia de uma tabela com seus dados.
- Usar Touls -> Database Copy para criar uma cópia de um banco de dados.
- Usar o assistente Database Export para criar a DDL e instruções de inserção para várias tabelas e outros objetos de banco de dados.
No exercício a seguir, você usará cada um dos quatro métodos para comparar seus pontos fortes e limitações:
- Crie uma nova conexão de banco de dados chamada OE_ORCL para o esquema OE.
- Selecione a conexão OE_ORCL e expanda o nó Tables.
- Clique com o botão direito do mouse na tabela CATEGORIES e selecione Export DDL -> Save to Worksheet (veja a Figura 2).
A SQL que aparece na planilha SQL inclui o nome do esquema OE, portanto não é apropriada para execução em um novo esquema. (A sintaxe para esta SQL é reunida usando o pacote DBMS_METADATA e é orientada por um conjunto de preferências.) Para gerar novamente a SQL sem o nome do esquema OE, siga estas etapas:
- Selecione Touls -> Preferences, expanda o nó Database na árvore e selecione ObjectViewer Parameters.
- Desmarque as opções Show Storage e Show Schema, e marque Show Constraints as Alter.
- Clique em OK.
- Limpe a planilha SQL (SQL Worksheet) e repita as etapas anteriores: clique com o botão direito do mouse na tabela CATEGORIES e selecione Export DDL -> Save to Worksheet. Observe que o código SQL da planilha SQL não inclui mais o prefixo OE.
Agora copie a tabela CATEGORIES e seus dados para o esquema HR_ORCL, seguindo estas etapas:
- Selecione a conexão HR_ORCL na lista Connections da planilha SQL e clique em Run Script (ou pressione F5) para executar a DDL exibida no esquema HR.
- Expanda o nó HR_ORCL e examine a nova tabela CATEGORIES. Observe que ela não contém nenhum dado.
- Clique com o botão direito do mouse na tabela CATEGORIES da conexão OE_ORCL, no Connections Navigator, e selecione Export Data -> Insert.
- Na caixa de diálogo Export Data, envie o resultado para a área de transferência e clique em Apply.
- Abra uma nova planilha SQL para o usuário HR_ORCL e digite Ctrl-V para cular o conteúdo da área de transferência.
- Clique em Run Script (ou digite F5) para executar a SQL.
- Clique no botão Commit (ou pressione F11) e examine os dados da tabela CATEGORIES na conexão HR_ORCL.
As etapas anteriores copiam apenas uma única tabela e seus dados. Uma alternativa mais rápida para copiar um único objeto e seus dados é o comando Copy do menu de contexto:
- Clique com o botão direito do mouse na tabela INVENTORIES da conexão OE_ORCL e selecione Table -> Copy.
- Na caixa de diálogo Copy, selecione HR como novo proprietário da tabela, digite INVENTORIES como nome da nova tabela e marque Include Data.
- Clique em Apply.
- Atualize o nó Tables da conexão HR_ORCL para ver a nova tabela INVENTORIES.
Para criar o código da DDL para várias tabelas e seus dados, use o assistente Database Export. Para copiar um grupo de tabelas do esquema OE para o esquema HR, siga estas etapas:
- Selecione Touls -> Database Export. Navegue até um local de arquivo adequado e aceite o nome de arquivo padrão export.sql. (Você pode estabelecer um caminho padrão para esse arquivo selecionando Touls -> Preferences, selecionando o nó Database na árvore e definindo a preferência em Select default path to store export in.)
- No assistente de exportação ( Export Wizard), selecione a conexão OE_ORCL e certifique-se de que as opções Storage e Show Schema estejam desmarcadas. Marque Include Drop Statement e Automatically Include Dependent Objects. Clique em Next.
- Na tela Types to Export, desmarque Toggle All e marque Tables e Data. Clique em Next.
- Na tela Specify Objects, na lista OE, clique em Go para preencher a lista de tabelas a serem selecionadas. Transfira apenas a tabela OE.ORDER_ITEMS para o painel à direita. Clique em Next.
- Na tela Specify Data, clique em Go para preencher a lista de tabelas. Transfira apenas a tabela OE.ORDER_ITEMS para o painel à direita e selecione-a para destacar a tabela. Na caixa vazia abaixo, digite order_id < 2355 e clique em Apply Filter (veja a Figura 3). Clique em Next e em Finish.
Observe que o script export.sql que agora aparece na planilha SQL inclui tabelas adicionais. Isso ocorre porque as restrições, não criadas aqui, dependem dessas tabelas. Observe também o conjunto restrito de dados retornados.
Selecione HR_ORCL da lista de conexões da planilha SQL e execute o script. Conclua as alterações e atualize o nó HR_ORCL para ver as tabelas que o assistente Database Export copiou do esquema OE_ORCL.
Por fim, o uso de Database Copy no Oracle SQL Developer é uma maneira extremamente eficiente de copiar objetos para outro esquema. Em vez de produzir um script de instruções de inserção, o Database Copy insere dados na nova tabela em segundo plano. O Database Copy também copia BLOBs e CLOBs para o novo esquema.
Para completar este exercício comparativo, use o Database Copy para copiar um conjunto de objetos para o esquema HR:
- Selecione Touls -> Database Copy. Selecione OE_ORCL como conexão de origem e HR_ORCL como conexão de destino. Note que as únicas opções que você tem aqui são de criar novos objetos, truncar os dados nos objetos existentes (para serem substituídos pelos novos dados) ou descartar (e substituir) os objetos.
- Selecione Truncate Objects e clique em Next. O resumo da cópia ( Copy Summary) indica que todas as tabelas serão truncadas. Não é o que você quer, portanto clique em Back, selecione Create Objects e clique em Next. Isso assegurará que os objetos existentes não sejam descartados ou truncados.
- Clique em Finish.
- Examine as tabelas e os dados criados na conexão HR_ORCL.
Database Export e Database Copy diferem em duas maneiras significativas. Database Export lhe permite selecionar os tipos de objetos a serem exportados e, dentro de cada categoria, restringir cada instância dos objetos. Além disso, com o Database Export, você pode optar por gerar instruções GRANT, incluir instruções DROP e criar instruções INSERT, ganhando assim a capacidade de produzir um script que você pode reexecutar à vontade para esquemas novos ou existentes.
Conclusão
Esta culuna explorou uma seleção dos recursos introduzidos no Oracle SQL Developer 1.5. Você pode melhorar sua produtividade com as novas maneiras de ver e compartilhar detalhes do banco de dados, monitorar e gerenciar sessões, e copiar objetos do banco de dados entre esquemas.
Sue Harper é gerente de produto sênior da Oracle em Londres. Seu blog técnico, sueharper.blogspot.com, trata dos recursos do Oracle SQL Developer.