Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

asignar PCTFREE y PCTUSED a una tabla

Estas en el tema de asignar PCTFREE y PCTUSED a una tabla en el foro de Oracle en Foros del Web. Buenas tardes, necesito asignar estos parametros a una tabla, Digamos a la tabla empleado asignarle un PCTFREE de un 20% y un PCT de 40%, ...
  #1 (permalink)  
Antiguo 05/05/2010, 11:11
 
Fecha de Ingreso: febrero-2010
Ubicación: medellin colombia
Mensajes: 37
Antigüedad: 14 años, 9 meses
Puntos: 1
asignar PCTFREE y PCTUSED a una tabla

Buenas tardes, necesito asignar estos parametros a una tabla,

Digamos a la tabla empleado asignarle un PCTFREE de un 20% y un PCT de 40%, entiendo para que son estos parametros pero no se como asignarlos en oracle, les agradezco la ayuda!
  #2 (permalink)  
Antiguo 05/05/2010, 11:18
Avatar de 8vio  
Fecha de Ingreso: marzo-2008
Ubicación: Detras del monitor
Mensajes: 168
Antigüedad: 16 años, 8 meses
Puntos: 6
Respuesta: asignar PCTFREE y PCTUSED a una tabla

Hola que tal,

Asi:

ALTER TABLE table PCTFREE 10;
ALTER TABLE table PCTUSED 40;

Saludos,
  #3 (permalink)  
Antiguo 05/05/2010, 11:21
Avatar de 8vio  
Fecha de Ingreso: marzo-2008
Ubicación: Detras del monitor
Mensajes: 168
Antigüedad: 16 años, 8 meses
Puntos: 6
Respuesta: asignar PCTFREE y PCTUSED a una tabla

Otra cosa en la dba_tables y la dba_indexes puedes ver dichos porcentajes.

Saludos y espero que te haya servido.
  #4 (permalink)  
Antiguo 05/05/2010, 12:11
 
Fecha de Ingreso: febrero-2010
Ubicación: medellin colombia
Mensajes: 37
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: asignar PCTFREE y PCTUSED a una tabla

hola 8vio, gracias por la respuesta...
Esta pregunta si es teorica, para que sirve el storage? y como lo deberia configurar? dependiendo de que?
  #5 (permalink)  
Antiguo 05/05/2010, 13:13
Avatar de 8vio  
Fecha de Ingreso: marzo-2008
Ubicación: Detras del monitor
Mensajes: 168
Antigüedad: 16 años, 8 meses
Puntos: 6
Respuesta: asignar PCTFREE y PCTUSED a una tabla

Ok,

El storage es esa serie de parametros de almacenamiento que sirven para controlar como la extensiones se asignan a un segmento, no es un solo parametro en si sino mas bien una clausula. De hecho cuando tu cambias los parametros aplica solo a los extents que no estan asignados (allocate). igualmente si para la tabla no especificas el storage toma el del tablespace , se que hay unos parametros que no cumplen esta reglas pero ahorita no recuerdo cual es.


storage (
initial xxx
next xxx
minextents x
maxextents xxxx
pctincrease xxx
freelists xxx
freelist groups xxxx
optimal xxxk
buffer_pool default
)

Ahora la parametrizacion de los extents depende de cada negocio

aqui hay un enlace donde lo explican muy bien los parametros que antes te mencione:

http://www.programacion.com/articulo...de_oracle_89/5

El asunto del storage es de como crece la tabla a medida que se vaya copando, a parte de ser un asunto de almacenamiento, tambien es un asunto con encadenamientos, aqui entra: "el pctfree" y "el pctused" ya que se podria decir que son parametros de storage, aqui lo que sucede es que justamente cuando tienes por ejemplo una fila o un conjunto de valores que ocupan el porcentanje exacto de uso de la tabla y por casualidad esa fila tenia un campo null que fue actualizado, pues ese update no se va a guardar en el mismo bloque sino que lo va a meter en otro bloque y va a realizar como una especie de puntero que dice: "el resto de la info esta en el bloque tal y tal" por asi decirlo, cuando sucede esto trae costos a la hora de consultas, y sobre todo en estos parametros dependiendo de la tabla y del negocio es cuando debes pensar como administrar estas variables.

En los cursos de oracle hay un ejemplo grafico muy bueno de como es el funcionamiento de estos parametros, si puedo monto la imagen para que lo entiendas mejor.

Pero en fin, este tema tiene mucha tela que cortar y no tengo todo fresco, solo que como configures los parametros depende mucho del tipo de uso que se le de a la tabla. Si es una tabla con pocos inserts por ejem y que tiende a tener muchos updates, seria muy bueno colocarle un PTCFREE alto para que no genere encadenamientos. Pero esto es un analisis muy dedicado que deberian realizar los arquitectos al momento de crear una tabla.

Por ejem hay muchas empresas que tienen tablespaces segun el tamaño de las tablas que van a almacenar en el, ejem tablesspacelarge con extents, bloques grandes, para tablas grandes, si la tabla tiene mucha info a medida que crece la idea es crear extents grandes, de ser tablas pequeñas le vas creando extents segun lo que requiera la tabla y asi no se exagera (tamaño me refiero a la cantidad de columnas y la cantidad de data que llevan los campos), por ende al crear la tabla alli agarra el storage default del tablespace, etc.... pero cada negocio es un mundo.

Aqui hay algo de burleson acerca de optimizar estos parametros pero esta en ingles:

http://www.praetoriate.com/t_%20tuning_storage_parameters.htm

Espero haberte dado una idea y disculpa lo enredado solo que escribia las ideas al momento.

Saludos,

Última edición por 8vio; 05/05/2010 a las 13:23
  #6 (permalink)  
Antiguo 19/05/2010, 13:44
 
Fecha de Ingreso: febrero-2010
Ubicación: medellin colombia
Mensajes: 37
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: asignar PCTFREE y PCTUSED a una tabla

la verdad no habia entrado hace dias al foro, pero me quedo claro el concepto.
muchas gracias Octavio por tu aclaracion.

Etiquetas: asignar, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:21.