¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Guia para a Redefinição Baseada em Edições no Oracle 11G e posteriores: Dicas e Exemplos de Uso do PD

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 2 Vistas
0
Cargando...

Definição: A redefinição baseada em edições permite ter múltiplas versões de objetos PL/SQL, visualizações e sinônimos em um único esquema, possibilitando atualizações de aplicativos de banco de dados sem tempo de inatividade.

Estou procurando qualquer pista ou conselho sobre como usar PD para modelar a Redefinição Baseada em Edições no Oracle 11G r2 e posteriores.

Como você está gerenciando as edições no modelo? Em nossa situação, mantemos ramificações para cada edição. A primeira ramificação contém a edição básica. Esta edição contém gatilhos. As edições subsequentes são criadas a partir da edição básica.

Tim Graham mantém visualizações com o mesmo nome, mas o código difere de edição para edição. Como você lida com isso? Essas visualizações usam diferentes nomes de colunas, tabelas, etc.

O que você faz com os gatilhos entre as edições?

Como você lida com os modelos PD para Edições?

Exemplos sobre Edições:

CREATE EDITION e1

CREATE OR REPLACE PROCEDURE hello IS

BEGIN

DBMS_OUTPUT.PUT_LINE( 'Olá, edição 1.' );

END hello;

/

Se quisermos usar a EDIÇÃO "e1"

ALTER SESSION SET EDITION = e1;

Invocar procedimento na edição pai:

BEGIN hello(); END; / 

Resultado:

Olá, edição 1.  Procedimento PL/SQL concluído com sucesso. 

**********************************************

CREATE EDITION e2

CREATE OR REPLACE PROCEDURE hello IS

BEGIN

DBMS_OUTPUT.PUT_LINE(' Olá, edição 2 .');

END hello;

/

se quisermos usar a EDIÇÃO "e2"

ALTER SESSION SET EDITION = e2;

Invocar procedimento:

BEGIN hello(); END; / 

O filho invoca sua própria cópia, o procedimento real:

Olá, edição 2.  Procedimento PL/SQL concluído com sucesso. 

************************************

No exemplo a seguir, adicionamos uma nova coluna a uma tabela base EMPLOYEE. A tabela base tem a coluna NOME e contém PRIMEIRO NOME e SOBRENOME como conteúdo.

Para mudar para a edição "release_v2" e testar.

Observação: A definição da tabela employees tem apenas a coluna NOME.

ALTER SESSION SET EDITION = release_v2;

SELECT * FROM employees;

EMPLOYEE_ID NOME DATA_DE_NASCIMENTO CÓDIGO_POSTAL

----------- ------------------------- --------- ----------

2 Peter Parker 01-JAN-10

Mudamos para a edição "release_v3" e testamos.

Observação: A definição da tabela employees tem as colunas PRIMEIRO_NOME e SOBRENOME.

SELECT * FROM employees;

EMPLOYEE_ID PRIMEIRO_NOME SOBRENOME DATA_DE_NASCIMENTO CÓDIGO_POSTAL

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

2 Respuestas

0
Cargando...

Olá,

Minha sugestão

A redefinição baseada em edições permite ter várias versões de objetos PL/SQL, visualizações e sinônimos em um único esquema, o que torna possível realizar atualizações de aplicativos de banco de dados sem tempo de inatividade.

A redefinição baseada em edições permite redefinir os objetos copiados de forma isolada. As alterações não afetam os usuários do aplicativo. Um banco de dados deve ter pelo menos uma edição.

Regras

Um Oracle Database criado ou atualizado começa com uma edição chamada ora$base. O pai da primeira edição criada com uma declaração CREATE EDITION é ora$base. A declaração CREATE EDITION e2 cria a edição e2 como filha de ora$base.

Um objeto com edição é um objeto de esquema que possui um tipo editável e um proprietário habilitado para edições. Uma edição pode ter sua própria cópia de um objeto com edição, caso em que apenas a cópia é visível para a edição. Todos os objetos são editáveis.

  • SINÔNIMO - Exceção SINÔNIMO é um tipo editável, um sinônimo público é um objeto não editável.
  • VISÃO

Todos os tipos de objetos PL/SQL:

  • FUNÇÃO
  • BIBLIOTECA
  • PACOTE e CORPO DO PACOTE
  • PROCEDIMENTO
  • ACIONADOR
  • TIPO e CORPO DO TIPO

Um objeto não editável é um objeto de esquema que possui um tipo não editável. Uma edição não pode ter sua própria cópia de um objeto não editável. Um objeto não editável é idêntico em todas as edições e visível para todas as edições.

Exemplo: Tabela

Seria natural adicionar um novo campo no nível do modelo. Eu chamaria essa nova propriedade de "Edição". Esta propriedade conteria uma Lista de Valores (nomes de edições). Deveria ser possível selecionar uma das edições já existentes ou criar uma nova.

Dependendo da edição escolhida por padrão no nível do modelo, teríamos acesso aos objetos desta edição e a todos os objetos ora$base - não editados - e a todos os objetos que possuem um tipo não editável - como Tabela.

Ao criar um novo objeto de edição, deveria ser possível realizar uma importação ou copiar/colar de um objeto de uma edição anterior. O objeto importado deve servir como modelo, inspiração e origem.

Por fim, deveria ser possível tomar conhecimento dos objetos editáveis anteriores selecionando uma propriedade LOV no nível do objeto.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Isto é um pouco complicado....

Hoje em dia, acredito que a melhor maneira de lidar com isso é através de ramos, cada ramo representando a nova edição. À medida que são feitas alterações nas edições "inferiores", elas podem ser integradas nas edições "superiores", enquanto as diferenças feitas nessas outras edições podem ser mantidas como instâncias separadas.

No entanto, um suporte nativo para "edições" no SAP PowerDesigner pode ser interessante. Embora não esteja planejado no momento, estou interessado em saber o que os outros pensam sobre essa capacidade e como a estão utilizando atualmente, para ver que tipo de capacidade poderíamos considerar para uma futura versão.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?