<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Manual_Oracle_9i</id>
	<title>Manual Oracle 9i - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Manual_Oracle_9i"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Manual_Oracle_9i&amp;action=history"/>
	<updated>2026-08-30T09:28:38Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=Manual_Oracle_9i&amp;diff=3930&amp;oldid=prev</id>
		<title>85.192.112.45: /* format de la sortida amb sqlplus */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Manual_Oracle_9i&amp;diff=3930&amp;oldid=prev"/>
		<updated>2009-11-10T09:39:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;format de la sortida amb sqlplus&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Imatge:Manual Completo Oracle Español Spanish by Silex.pdf]]&lt;br /&gt;
&lt;br /&gt;
Un alumne de 2n ASI (Alfredo) ha trobat un manual d'Oracle 9i que està força bé. Una petita introducció a l'arquitectura, i la part de SQL i Pl/SQL està bastant ben desenvolupada. Pot ser un bon suport a les assignatures de ASGBD i EC. A més, jo he trobat una sèrie d'informació que vull destacar:&lt;br /&gt;
&lt;br /&gt;
===accedir a informació de la instància===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SQL&amp;gt; select instance_name from v$instance;&lt;br /&gt;
INSTANCE_NAME&lt;br /&gt;
----------------&lt;br /&gt;
BBDD&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; select name from v$database;&lt;br /&gt;
NAME&lt;br /&gt;
---------&lt;br /&gt;
BBDD&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; select * from v$sga;&lt;br /&gt;
&lt;br /&gt;
NAME			  VALUE&lt;br /&gt;
-------------------- ----------&lt;br /&gt;
Fixed Size		1298836&lt;br /&gt;
Variable Size	      155192940&lt;br /&gt;
Database Buffers       33554432&lt;br /&gt;
Redo Buffers		6635520&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dues maneres de trobar els tablespaces:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from v$tablespace order by 1;&lt;br /&gt;
o bé&lt;br /&gt;
SQL&amp;gt; select tablespace_name from dba_tablespaces order by 1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===format de la sortida amb sqlplus===&lt;br /&gt;
http://www.adp-gmbh.ch/ora/sqlplus/column.html&lt;br /&gt;
&lt;br /&gt;
El format de sortida d'una consulta a vegades és bastant desagradable. Es pot arreglar amb la instrucció del sqlplus ''column format'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SQL&amp;gt; column file_name format a40&lt;br /&gt;
SQL&amp;gt; select tablespace_name, file_name from dba_data_files order by 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el tutorial hi ha un diagrama de l'esquema relacional de la BD de HR&lt;br /&gt;
&lt;br /&gt;
===compte HR===&lt;br /&gt;
Això també és vàlid en Oracle 11g??&lt;br /&gt;
&lt;br /&gt;
La cuenta de usuario HR por defecto está bloqueada, así que lo primero que debemos hacer es&lt;br /&gt;
desbloquearla, el script es el siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    SQL&amp;gt; connect system/manager&lt;br /&gt;
    Connected.&lt;br /&gt;
    SQL&amp;gt; alter user hr&lt;br /&gt;
       2 identified by hr&lt;br /&gt;
       3 account unlock;&lt;br /&gt;
    User altered.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; connect hr/hr&lt;br /&gt;
Connected.&lt;br /&gt;
===ús de CAT i TAB===&lt;br /&gt;
SQL&amp;gt; select * from cat;&lt;br /&gt;
TABLE_NAME                     TABLE_TYPE&lt;br /&gt;
------------------------------ -----------&lt;br /&gt;
COUNTRIES                      TABLE&lt;br /&gt;
DEPARTMENTS                    TABLE&lt;br /&gt;
DEPARTMENTS_SEQ                SEQUENCE&lt;br /&gt;
EMPLOYEES                      TABLE&lt;br /&gt;
EMPLOYEES_SEQ                  SEQUENCE&lt;br /&gt;
EMP_DETAILS_VIEW               VIEW&lt;br /&gt;
JOBS                           TABLE&lt;br /&gt;
JOB_HISTORY                    TABLE&lt;br /&gt;
LOCATIONS                      TABLE&lt;br /&gt;
LOCATIONS_SEQ                  SEQUENCE&lt;br /&gt;
REGIONS                        TABLE&lt;br /&gt;
11 rows selected.&lt;br /&gt;
&lt;br /&gt;
cat=tab??&lt;br /&gt;
Amb cat es veuen més coses, com per exemple les seqüències&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Transaccions===&lt;br /&gt;
M'agrada la definició que es fa de transacció:&lt;br /&gt;
&lt;br /&gt;
Una transacción es un grupo de acciones que hacen transformaciones consistentes en las tablas preservando la consistencia de la base de datos. Una base de datos está en un estado consistente si obedece todas las restricciones de integridad definidas sobre ella. Los cambios de estado ocurren debido a actualizaciones, inserciones, y eliminaciones de información. Por supuesto, se quiere asegurar que la base de datos nunca entre en un estado de inconsistencia. Sin embargo, durante la ejecución de una transacción, la base de datos puede estar temporalmente en un estado inconsistente. El punto importante aquí es asegurar que la base de datos regresa a un estado consistente al fin de la ejecución de una transacción.&lt;br /&gt;
&lt;br /&gt;
Lo que se persigue con el manejo de transacciones es por un lado tener una transparencia adecuada de las acciones concurrentes a una base de datos y por otro lado tener una transparencia adecuada en el manejo de las fallas que se pueden presentar en una base de datos.&lt;br /&gt;
&lt;br /&gt;
Propiedades de una Transacción:&lt;br /&gt;
&lt;br /&gt;
Una transacción debe tener las propiedades '''ACID''', que son las iniciales en inglés de las siguientes características: Atomicity, Consistency, Isolation, Durability.&lt;br /&gt;
&lt;br /&gt;
'''Atomicidad'''&lt;br /&gt;
&lt;br /&gt;
Una transacción constituye una unidad atómica de ejecución y se ejecuta exactamente una vez; o se realiza todo el trabajo o nada de él en absoluto.&lt;br /&gt;
&lt;br /&gt;
'''Coherencia'''&lt;br /&gt;
&lt;br /&gt;
Una transacción mantiene la coherencia de los datos, transformando un estado coherente de datos en otro estado coherente de datos. Los datos enlazados por una transacción deben conservarse semánticamente.&lt;br /&gt;
&lt;br /&gt;
'''Aislamiento'''&lt;br /&gt;
&lt;br /&gt;
Una transacción es una unidad de aislamiento y cada una se produce aislada e independientemente de las transacciones concurrentes. Una transacción nunca debe ver las fases intermedias de otra transacción.&lt;br /&gt;
&lt;br /&gt;
'''Durabilidad'''&lt;br /&gt;
&lt;br /&gt;
Una transacción es una unidad de recuperación. Si una transacción tiene éxito, sus actualizaciones persisten, aun cuando falle el equipo o se apague. Si una transacción no tiene éxito, el sistema permanece en el estado anterior antes de la transacción.&lt;br /&gt;
&lt;br /&gt;
===Rol de resource: no cal assignar DBA als usuaris!===&lt;br /&gt;
No cal assignar DBA als alumnes!! S'ha de fer connect i resource&lt;br /&gt;
&lt;br /&gt;
Asignaremos privilegios al usuario egcc a través del los roles connect y resource, los cuales le otorgan los privilegios necesarios para que pueda crear sus objetos.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
         SQL&amp;gt; grant connect, resource to egcc;&lt;br /&gt;
         Grant succeeded.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Database links===&lt;br /&gt;
&lt;br /&gt;
Enlaces de Base de Datos&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
       Sintaxis&lt;br /&gt;
            create [shared] [public] database link nombre_enlace&lt;br /&gt;
               connect to nombre_usuario identified by contraseña&lt;br /&gt;
               [using cadena_sqlnet];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Crearemos un enlace remoto público para conectarnos como usuario hr, este enlace debe ser creado como usuario sys.&lt;br /&gt;
&amp;lt;pre&amp;gt;            &lt;br /&gt;
SQL&amp;gt; conn / as sysdba&lt;br /&gt;
Connected.&lt;br /&gt;
SQL&amp;gt; create public database link lnk_demo&lt;br /&gt;
2     connect to hr identified by hr&lt;br /&gt;
3     using 'dbegcc';&lt;br /&gt;
Database link created.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahora haremos una consulta al esquema hr.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SQL&amp;gt; conn scott/tiger&lt;br /&gt;
Connected.&lt;br /&gt;
SQL&amp;gt; select employee_id, first_name from employees@lnk_demo where department_id = 30;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D'aquesta manera podria fer consultes amb dades que provinguessin de dues instàncies:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select * from taula1@lnk1 T1, taula2@lnk2 T2 where T1.nom=T2.nom;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
hauria de funcionar (comprovar)&lt;/div&gt;</summary>
		<author><name>85.192.112.45</name></author>
		
	</entry>
</feed>