mega for descargar 11g oracle oracle11g oracle11gr2

for - oracle 11g linux



Diferencia en el orĂ¡culo 11.2.0.1.0 y el orĂ¡culo 11.2.0.2.0 al insertar un valor en la tabla utilizando la secuencia (1)

El problema puede deberse al hecho de que NOORDER es el valor predeterminado con Oracle Sequences, especialmente si está ejecutando un entorno RAC.

http://docs.oracle.com/cd/B12037_01/server.101/b10759/statements_6014.htm

He aprendido que con Sequences, si deseo garantizar que sean secuenciales, generalmente tengo que agregar las siguientes palabras clave al crear la secuencia:

CREATE SEQUENCE m1_id_sq ORDER NOCACHE;

Editar para hacer referencia a los comentarios anteriores:

Como señaló Alex Poole en los comentarios anteriores:

"Esto realmente no debería importar de todos modos, tendrás lagunas en las secuencias por otras razones, así que no debes confiar en que comience con 1"

El NOORDER es el predeterminado para las secuencias explica este problema.

Alex Poole también notó un problema conocido: Oracle Note 1050193.1 (requiere una cuenta de Oracle Support) relacionado con un problema con deferred_segment_creation=TRUE

ThinkJet también se refiere a los siguientes artículos:

En Oracle 11.2.0.1.0:

1) Creé una mesa.

create table m1(id number(5,2), version number(5,2), primary key (id));

2) Creé una secuencia.

CREATE SEQUENCE m1_id_sq;

3) inserté valores en la tabla.

insert into m1(id, version) values (m1_id_sq.nextval, 1);

4) salida.

version id

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

2 1

* Entiendo que la razón para id = 2 se debe a la característica decreación de segmento diferido introducida desde 11.2.0.1.0 en adelante.

* Creé una instancia de usuario en Oracle y ejecuté los tres comandos anteriores. No como un maestro.

Ahora sigo los mismos pasos

en Oracle 11.2.0.2.0,

pero la salida que obtuve es,

version id

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

1 1

Por favor explique por qué el id = 1 en el oráculo 11.2.0.2.0 mientras que id = 2 en el oráculo 11.2.0.1.0. ¡Muchas gracias!