Archivado como BD, DBA, Oracle, Query, Script por josepcoves | 0 comments
Para compilar los objetos inválidos del usuario de BD actual podemos ejecutar el siguiente script:
1
2
3
4
5
6
7
8
| SELECT 'ALTER '
||decode(object_type,'PACKAGE BODY','PACKAGE',object_type)
||' '
||object_name
||decode(object_type,'PACKAGE BODY', ' COMPILE BODY;',' COMPILE;')
FROM user_objects
WHERE STATUS = 'INVALID'
AND object_type IN ('PACKAGE','PACKAGE BODY','FUNCTION','PROCEDURE'); |
Esto nos generará una serie de alters para poder recompilar los objetos inválidos.
Archivado como BD, DBA, Oracle, Script por josepcoves | 0 comments
Un ejemplo de script para hacer un drop de todos los objetos del usuario seria el siguiente:
1
2
3
4
5
6
7
8
9
| SELECT 'drop sequence ' || sequence_name || ';' FROM user_sequences
UNION
SELECT 'drop trigger ' || trigger_name || ';' FROM user_triggers
UNION
SELECT 'drop view ' || view_name || ';' FROM user_views
UNION
SELECT 'drop index ' || index_name || ';' FROM user_indexes
UNION
SELECT 'drop table ' || table_name || ';' FROM user_tables; |
De momento solamente hace drops de triggers, vistas, índices y tablas pero se puede añadir unions para generar el drop de lo que queramos.
Una vez ejecutada la consulta, copiar el resultado en una hoja de SQL y ejecutarla. Es posible que nos den errores por dependencias y no se borren todos los objetos, en ese caso lo que hago es ejecutar el script varias veces hasta que se borren todos los objetos (se debería hacer una nueva versión que calcule las dependencias pero eso ya seria demasiado tiempo…)
Archivado como BD, DBA, Oracle por josepcoves | 0 comments
Para descubrir la versión de Base de Datos Oracle con la que estamos trabajando podemos ejecutar la siguiente sentencia SQL:
SELECT * FROM SYS.V_$VERSION;
Archivado como BD, DBA, Oracle por josepcoves | 0 comments
ALTER database datafile
'/oracle/oradata/tablespace.dbf'
autoextend ON;
Archivado como BD, DBA, Oracle por josepcoves | 0 comments
Para crear un esquema de BD primero tendremos que crear un tablespace asociado y posteriormente crear el usuario. Aquí tenemos un ejemplo, suponiendo que queremos crear el usuario xx_schema con password xx_schema:
sqlplus /nolog
sql> CONNECT / AS sysdba
sql> CREATE tablespace xx_schema datafile '/oracle/oradata/xx_schema.dbf' size 500 M AUTOEXTEND ON MAXSIZE 1800M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;
sql> CREATE USER xx_schema identified BY XX_SCHEMA DEFAULT tablespace xx_schema;
sql> Grant CONNECT,Resource TO xx_schema;
Archivado como BD, DBA, Oracle, Oracle Applications, UNIX, linux por josepcoves | 0 comments
Hay un fichero que contiene todas la inicialización de todas las variables. Se puede encontrar en $ORACLE_HOME ([instancia]/product/[version])
si hacemos un:
ls *env*
veremos el listado de ficheros de incialización de entorno. Para ejecutarlos (supongamos un fichero llamado entorno.env):
. ./entorno.env
Una vez cargado el entorno podríamos entrar en el sqlplus, por ejemplo.
Archivado como DBA, UNIX, linux por josepcoves | 0 comments
En unix tenemos la posibilidad de usar el comando unix nohup que nos permite ejecutar en background un proceso. Esto quiere decir que si por cualquier motivo nuestra sesión se cerrase el proceso seguiría ejecución dejando un log informando del resultado de dicha ejecución.
Ejemplo:
nohup sqlplus SCHEMA/PASS @inserts.SQL
Archivado como BD, DBA por josepcoves | 0 comments
Comando para EXPORT:
EXP userid=schema/password owner=schema file=file.dmp direct=Y rows=Y LOG= file.LOG
Comando para IMPORT:
imp userid=system/manager FROMUSER=schema TOUSER= file= file.dmp LOG=file.LOG
Archivado como DBA por josepcoves | 0 comments
Con la siguiente instrucción ejecutada desde un esquema que tenga los privilegios adecuados sobre el esquema destino, podemos cambiar el password de un esquema que pasará a identificarse como: esquema/esquema:
ALTER USER esquema IDENTIFIED BY esquema
Archivado como BD, DBA, Oracle, Oracle Applications por josepcoves | 2 comments
pbrun impdba password-manager instancia