Alguien puede ayudarme ?

kasperuza
04 de Enero del 2006
Hace muy poquito que empece con Oracle y tengo que crear tablas, procedures y demas cosillas por medio de unos scripts que ya estan generados los cuales contienen la estructura para insertar en dicha base nueva.
Ahora, tengo el siguiente problema.
Dentro del primer script que se ejecuta a traves de un archivo BAT tengo que llenar las siguientes cosas y no estoy seguro de todas, sobretodo de la ultima. Esto es lo que no entiendo del script:

ACCEPT SPOOLFILENAME PROMPT 'Please enter filename to spool: '
ACCEPT OBJECTOWNER PROMPT 'Enter the name of the owner for these objects: '
ACCEPT TABLESPACE_FOR_DATA PROMPT 'Enter the tablespace for Data: '
ACCEPT TABLESPACE_FOR_INDEXES PROMPT 'Enter the tablespace for Indexes: '

Ya se que el SPOOLFILENAME es solamente el nombre del archivo donde se va a generar el log de la transaccion, tambien se que el OBJECTOWNER es simplemente un nombre para cada una de las tablas por ejemplo puede ser DBO.NombredeTabla, donde DBO es el OBJECTOWNER. Lo que no se es que es el TABLESPACE_FOR_DATA y el TABLESPACE_FOR_INDEXES. Porque si le pongo cualquier nombre en la linea del script que genera una tabla (por ejemplo) me da este error con respecto a TABLESPACE_FOR_INDEXES: Yo le puse como nombre a TABLESPACE_FOR_INDEXES asi: "insitetrs_data_1m" y me dio error. Podes contestarme ? Muchas Gracias

old 27: TABLESPACE &&TABLESPACE_FOR_DATA
new 27: TABLESPACE insitetrs_data_1m
TABLESPACE insitetrs_data_1m
*
ERROR at line 27:
ORA-00959: tablespace 'INSITETRS_DATA_1M' does not exist

Rodolfo Reyes
04 de Enero del 2006
Cuando se crea un usuario, se le asigna un tabla Space por dafault. Considero que lo que tendrias que poner el nombre de este table space.

Para esto puedes ejecutar el siguiente query:

select USERNAME,DEFAULT_TABLESPACE
from dba_users
where usuario = 'DBO'
/

Asumiendo que DBO es el nombre del usuario que es el dueño de tus objetos.