Está en la página 1de 9

-----------------------------------------------------------------------------------------clase de 12 de junio de 2009 (viernes) -----------------------------------------------------------------------------------------instalacion de Oracle usuario: seminarioBD o sys contrasea:oracle10g teneren cuenta la direccion que nos

propone el equipo para guardar el oracle D:\oracle\product\10.1.0\Db_1 esta url la vamos a utilizar para llegar al enterprise maneger por medio del ser vidor de web. el enterprise manger se utiliza para manejar toda la parte de administracion la direccion URL de enterprise manager es http://413PC8:5500/em -----------------------------------------------------------------------------------------clase de 13 de junio de 2009 (sabado) -----------------------------------------------------------------------------------------para entrar al cliente le doy: usuario: sys contrasea: oracle10g cadena de host: seminarioBD as sysDBA conectarce a sql por medio del DOS: c:/>tnsping seminari // le estoy haciendo ping a mi base de datos c:/> sqlplus/nolog // que me deje ingresar sin logearme sql> show user // que me muestre el usuario que esta logeado sql>conn /as sysdba // sirve para que se conecte como DBA sql> select status from v$instance; // sirve para ver el estado de la instancia STATUS -----OPEN // ESTE ES EL RESULTADO QUE ME DEBE MOSTRAR, que la base de datos esta a bierta sql> desc v$instance; // me muestra lo que tiene esa vista sql> select instance_name, status from v$instance; // sirve para sacar el nom bre a esa instancia el resultado es que me permite conocer el nombre de la instancia y su estado, as i: INSTANCE_NAME ------------seminari STATUS -------OPEN

sql> shutdown immediate // sirve para decirle que apague la base de datos inme diatamente el resultado debe ser: database closed database dismounted ORACLE instance shut down

sql> startup // cabe resaltar que si le doy solo startup, el sistema me sube la instancia y me la deja abierta pasos para subir la instancia: sql>startup nomount; // para iniciar la instancia pero sin dejarla abierta y si verificamos el el estado me debe salir (STARTED) sql> select * from v$process where background is not null; // sirve para ident ificar los procesos que se estan ejecutando en la instancia sql> select * from v$sga; // sirve para que me muestre los valores de la sga (osea lo que ocupa de memoria) sql> show parameter shared_pool_size; // cuanto es el area del tamao de la sga sql> show parameter db_block_size; // es el tamao de los b loques, que por estandar es de 8K (Kilobytes) y crecera de 8K en 8K " INIT.ORA ES EL ARCHIVO FISICO QUE SE CARGA PARA LA CONFIGURACION O LOS PARAMET ROS DE LA BASE DE DATOS " COMPROBACION DE LOS ARCHIVOS FISICOS: select select select select * * * * from from from from v$datafile; v$tempfile; v$logfile; v$controlfile;

select file#, name, status, block_size from v$tempfile; // sirve para que me s eleccione el numero de archivo, nombre, tamao de block y estado del tempfile COMPROBACION DE ARCHIVOS LOGICOS: (IDENTIFICACION DE LA ESTRUCTURA LOGICA) select * from dba_tablespaces; select tablespace_name from dba_tablespaces order by tablespace_name; // sirve para saber nombres de los tablespaces que tengo en la base de datos select tablespace_name, segment_type, count(*) segmentos from dba_segments group by tablespace_name, segment_type; // sirve para que me muestre los segmentos de cada tablespace break on tablespace_name on report compute sum of segmentos on tablespace // esta dos lineas me permite sumar el nuemro de segmentos por tablespace y que me los muestre al final de cada tablesp ace select select select select * * * * from from from from dba_data_files; dba_temp_files; dba_segments; dba_extents;

select sql_text from V$sqlarea; // nos va a proporcionar todas las sente ncias que se hayan ejecutado y que estan em la shared (memoria)

set timing on

// muestra el tiempo de ejecucion de una sentencia

cuando le de el comando shutdown y no baje la base de datos (se queda pegada), e ntonces:

" Abro otra ventana en DOS y le me conecto como sysdba y despues de estar conect ado le doy shutdown abort y en caso de bajar la base de datos con abort, me toca subirla con startup force y despues le doy shutdown " shutdown abort shutdown shutdown immediate // bajar la base de datos abortandola // baja la base de datos normal // baja la base de datos sin desmontarla

startup nomount; // todavia no sea subido la base de datos, pero si esta inicada (no esta montada y esta disponible para que el dba la cambie de estado) alter database mount; // permite cambiar la base de datos de estado, es decir, de iniciada a montada (esta montada y disponible solo para el dba) alter database open; // permite cambiar la base de datos de estado, es decir, d e montada a disponible( esta montada y disponible para todo el mundo)

crear un tablespace: create tablespace users datfile '.../ruta_del_SO/user01.dbf' size 1M autoextend on next 1M maxsize 4M;

la vista en la que me doy cuenta que usuarios hay es: select username, ACCOUNT_STATUS,CREATED from dba_users; select rpad(username,14) usuario, rpad(osuser,10) user_so, rpad(machine,15) // muestra el usuario, el usuari o del sistema operativo, el programa en la que trabaja y el puerto de conexion rpad(program,27) programa from v$session where username is not null order by username; alter user scott account unlock; t // sirve para desbloquear al usuario scot

select username, account_status from dba_users where username='scott'; // sirve para consultar el estado del usuario scott startup restrict; // sirve para subir la base de datos pero con restriccione s alter system disable restricted session; // sirve para quitar la restriccion so bre la session CREAR LOS TABLESPACE PARA TABLAS E INDEX: create tablespace t_datos datafile 'D:\esquema/datafile/datos.dbf' size 10M;

create tablespace t_index datafile 'D:\esquema/datafile/index.dbf' size 5M; PARA SACAR CUALES SON LAS TABLAS QUE HAY EN EL TABLESPACES DE DATOS select table_name from dba_tables where tablespace_name = 'T_DATOS'; select table_name from dba_tables where tablespace_name = upper('T_DATOS'); select table_name from dba_indexes where tablespace_name='T_INDEX'; select table_name from dba_indexes where tablespace_name = upper('T_INDEX'); COMO SE SELECCIONA UN INDICE select index_name,index_type,table_name from dba_indexes where owner='acme' and table_name='products';

-----------------------------------------------------------------------------------------clase de 19 de junio de 2009 (viernes) -----------------------------------------------------------------------------------------conn sysdba/oracle10g@seminari as sysdba // sirve para conectarce

crear un usuario y asignarcelo a un teblespace dandole una quota de espacio sobr e ese tablespace create user administrador identified by admin default tablespace users temporary tablespace temp quota 500k on users; select username, account_status // SIRVE PARA SELECCIONAR CONSULTAR EL ESTADO D EL USUARIO AMINISTRADOR from dba_users where username='ADMINISTRADOR';

ESTAMOS CONSULTANDO QUE TIENE ASIGNADO EL USER ADMINISTRADOR EN CUANTO A PRIVILE GIOS: SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE='ADMINISTRADOR'; SELECT * FROM DBA_TAB_PRIVS

WHERE GRANTEE='ADMINISTRADOR'; SELECT * FROM DBA_SYS_PRIVS TIENE EL USER ADMINISTRADOR WHERE GRANTEE='ADMINISTRADOR'; OTORGAMOS EL PRIVILEGIO DE CREAR SESSION GRANT CREATE SESSION TO ADMINISTRADOR; OTORGAMOS EL PRIVILEGIO DE CREAR USER GRANT CREATE USER TO ADMINISTRADOR; CERRAR SESSION DISC CONSULTAR CUANTOS USUARIOS HAY CREADOS CREADOS EN DETERMINADA FECHA: SELECT COUNT(*) FROM DBA_USERS WHERE TRUNC(CREATED)=TO_CHAR(SYSDATE,'DD/MM/YYYY'); CONSULTAR CUAL ES EL NOMBRE DE LOS USUARIOS CREADOS EN DETERMINADA FECHA: SELECT USERNAME FROM DBA_USERS WHERE TRUNC(CREATED)=TO_CHAR(SYSDATE,'DD/MM/YYYY'); CONSULTAMOS LOS USUARIOS QUE TIENE EL PRIVILEGIO DE CREAR USUARIOS: SELECT * FROM DBA_SYS_PRIVS WHERE PRIVILEGE='CREATE USER' CREAR UN ROL AL USER ADMINISTRADOR CREATE ROLE R_ADMINISTRADOR; BORRAR UN ROL: DROP ROLE R_ADMINISTRADOR; BORRAR UN USER: DROP USER PRUEBAX; VAMOS A OTORGARLE UN ROL (R_ADMIN) A ADMINISTRADOR GRANT GRANT GRANT GRANT DOR CREATE SESSION TO R_ADMIN; CREATE USER TO R_ADMIN; CREATE ROLE TO R_ADMIN; R_ADMIN TO ADMINISTRADOR; // ACA ES DONDE LE OTORGAMOS EL ROL A ADMINISTRA // SIRVE PARA MIRAR LOS PRIVILEGIOS QUE

ELIMINAR UN PRIVILEGIO:

REVOKE CREATE SESSION FROM ADMINISTRADOR; // REVOCA EL PRIVILEGIO DE CREAR SESS ION REVOKE CREATE USER FROM ADMINISTRADOR; // REVOCA EL PRIVILEGIO DE CREAR USER CONSULTAR EL ROL QUE TIENE ASIGNADO EL USER ADMINISTRADOR: SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE='ADMINISTRADOR'; CONSULTAR QUE USUARIOS TIENEN UN PERFIL: SELECT USERNAME, PROFILE FROM DBA_USERS WHERE PROFILE IN (SELECT PROFILE FROM DBA_PROFILES);

-----------------------------------------------------------------------------------------clase de 20 de junio de 2009 (SABADO)U LTIMO DIA JUJU -----------------------------------------------------------------------------------------CONSULTAR LOS PRIVILEGIOS QUE TIENE ASIGNADO EL ROL R_ADMIN: SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='R_ADMIN'; CREACION DE PERFILES: CREATE PROFILE DESAROLLO LIMIT SESSIONS_PER_USER 2 CPU_PER_SESSION UNLIMITED CPU_PER_CALL 6000 CONNECT_TIME 480 IDLE_TIME 2 FAILED_LOGIN_ATTEMPTS 2; SIRVE PARA ALTERAR UN USUARIO CON UN PERFIL: ALTER USER ACME PROFILE DESAROLLO; DESBLOQUEAR EL USUARIO ACME: ALTER USER ACME ACCOUNT UNLOCK; CONSULTAR QUE USUARIOS SE ENCUENTRAN BLOQUEADOS: SELECT USERNAME FROM DBA_USERS WHERE ACCOUNT_STATUS='LOCKED';

SIRVE PARA CAMBIARLE EL PROMPT Y SABER CON QUE USUARIO ESTOY TARBAJANDO SET SQLPROMPT 'SYSTEM>' O SET SQLPROMPT 'SQL>' EXP_FULL_DATABASE // ESTE COMANDO SIRVE PARA EXPORTAR LA BASE DE DATOS A UN AR CHIVO BINARIO Y SU EXTENCION ES DMP // Y ES MUY UTLIZADO PARA HACER COPIAS DE SEGURIDAD

CONSULTAR CUALES USUARIOS TIENEN PERMISO DE EXPORTAR LA BASE DE DATOS: SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE='EXP_FULL_DATABASE'; ASIGNAMOS AL ROL R_ADMIN EL PRIVILEGIO DE EXPORTAR LA BASE DE DATOS: GRANT EXP_FULL_DATABASE TO R_ADMIN; CONSULTAR EL NOMBRE DE LOS QUE TIENEN PRIVILEGIO DE EXPORTAR LA BASE DE DATOS: SELECT GRANTEE, GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE=('&PRIV'); SIRVE PARA EL NOMBRE DEL USUARIO QUE TIENE PERMISO DE EXO_FULL_DATABASE: SELECT A.GRANTEE, A.GRANTED_ROLE, B.USERNAME FROM DBA_ROLE_PRIVS A, DBA_USERS B WHERE UPPER(A.GRANTEE)=UPPER(B.USERNAME) AND A.GRANTED_ROLE=UPPER('&PRIV'); TRAE EL NOMBRE DEL ROL QUE TIENE EL PERMISO DE EXPORTAR LA BD: SELECT A.* FROM DBA_ROLE_PRIVS A WHERE A.GRANTED_ROLE=UPPER('&PRIV') AND A.GRANTEE=(SELECT ROLE FROM DBA_ROLES WHERE ROLE='R_ADMIN'); SIRVE PARA TRAER EL TIPO Y EL USUARIO DE QUIEN TIENE EL PRIVILEGIO DE EXPORTAR L A BD: SELECT B.USERNAME, TO_CHAR('USUARIO') TIPO FROM DBA_ROLE_PRIVS A, DBA_USERS B WHERE UPPER(A.GRANTEE)=UPPER(B.USERNAME) AND A.GRANTED_ROLE=UPPER('&PRIV') UNION SELECT A.GRANTEE, TO_CHAR('ROLE') TIPO FROM DBA_ROLE_PRIVS A WHERE A.GRANTED_ROLE=UPPER('&&PRIV') AND A.GRANTEE=(SELECT ROLE FROM DBA_ROLES

WHERE ROLE='R_ADMIN'); COMO SE DA LA SENTENCIA PARA PURGAR LA BASE DE DATOS SELECT 'PURGE TABLE '||CHR(34)||TNAME||CHR(34)||';' FROM TAB WHERE TNAME LIKE 'BIN%'; 'PURGETABLE'||CHR(34)||TNAME||CHR(34)||';' --------------------------------------------PURGE TABLE "BIN$4sxlKsyCRJmZoWpLmfLp7g==$0"; PURGE TABLE "BIN$AM4TFwI2TDW+M+NJGStK+w==$0"; PURGE TABLE "BIN$LPqoC+lTTiCFnLDhfgpaJA==$0"; PURGE TABLE "BIN$icOlIgn4R2StE6Cf4EvS6g==$0"; PURGE TABLE "BIN$zuKdpNq4R9KAo5PaTefsGg==$0"; SQL> PURGE TABLE "BIN$4sxlKsyCRJmZoWpLmfLp7g==$0"; Tabla depurada. SQL> PURGE TABLE "BIN$AM4TFwI2TDW+M+NJGStK+w==$0"; Tabla depurada. SQL> PURGE TABLE "BIN$LPqoC+lTTiCFnLDhfgpaJA==$0"; Tabla depurada. SQL> PURGE TABLE "BIN$icOlIgn4R2StE6Cf4EvS6g==$0"; Tabla depurada. SQL> PURGE TABLE "BIN$zuKdpNq4R9KAo5PaTefsGg==$0"; Tabla depurada.'PURGETABLE'||CHR(34)||TNAME||CHR(34)||';' --------------------------------------------PURGE TABLE "BIN$4sxlKsyCRJmZoWpLmfLp7g==$0"; PURGE TABLE "BIN$AM4TFwI2TDW+M+NJGStK+w==$0"; PURGE TABLE "BIN$LPqoC+lTTiCFnLDhfgpaJA==$0"; PURGE TABLE "BIN$icOlIgn4R2StE6Cf4EvS6g==$0"; PURGE TABLE "BIN$zuKdpNq4R9KAo5PaTefsGg==$0"; SQL> PURGE TABLE "BIN$4sxlKsyCRJmZoWpLmfLp7g==$0"; Tabla depurada. SQL> PURGE TABLE "BIN$AM4TFwI2TDW+M+NJGStK+w==$0"; Tabla depurada. SQL> PURGE TABLE "BIN$LPqoC+lTTiCFnLDhfgpaJA==$0"; Tabla depurada. SQL> PURGE TABLE "BIN$icOlIgn4R2StE6Cf4EvS6g==$0"; Tabla depurada.

SQL> PURGE TABLE "BIN$zuKdpNq4R9KAo5PaTefsGg==$0"; Tabla depurada.

También podría gustarte