<?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=Arrencada_i_aturada_d%27una_BD_Oracle</id>
	<title>Arrencada i aturada d'una BD Oracle - 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=Arrencada_i_aturada_d%27una_BD_Oracle"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Arrencada_i_aturada_d%27una_BD_Oracle&amp;action=history"/>
	<updated>2026-08-30T13:28:32Z</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=Arrencada_i_aturada_d%27una_BD_Oracle&amp;diff=3923&amp;oldid=prev</id>
		<title>Joan: /* obrir la base de dades */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Arrencada_i_aturada_d%27una_BD_Oracle&amp;diff=3923&amp;oldid=prev"/>
		<updated>2009-11-10T08:53:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;obrir la base de dades&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;Durant l'arrencada i l'aturada de la BD succeeixen un conjunt d'events que porten a la BD per diferents estats. Per tal que els usuaris puguin accedir a la BD l'administrador ha d'obrir la BD.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SQL&amp;gt; shutdown immediate&lt;br /&gt;
Base de datos cerrada.&lt;br /&gt;
Base de datos desmontada.&lt;br /&gt;
Instancia ORACLE cerrada.&lt;br /&gt;
SQL&amp;gt; startup open BBDD&lt;br /&gt;
Instancia ORACLE iniciada.&lt;br /&gt;
&lt;br /&gt;
Total System Global Area  196681728 bytes&lt;br /&gt;
Fixed Size                  1298836 bytes&lt;br /&gt;
Variable Size             138415724 bytes&lt;br /&gt;
Database Buffers           50331648 bytes&lt;br /&gt;
Redo Buffers                6635520 bytes&lt;br /&gt;
Base de datos montada.&lt;br /&gt;
Base de datos abierta.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arrencar la BD==&lt;br /&gt;
quan s'executa la comanda ''startup open'' la BD passa per tres estats (nomount, mount y open) abans d'estar disponible. El DBA pot arrencar la BD fins a un d'aquests estats amb la comanda startup (startup nomount, startup mount). Anem a descriure cadascun d'aquests estats pels quals passa la BD en el procés d'arrencada.&lt;br /&gt;
===instància no montada===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SQL&amp;gt; startup nomount&lt;br /&gt;
Instancia ORACLE iniciada.&lt;br /&gt;
&lt;br /&gt;
Total System Global Area  196681728 bytes&lt;br /&gt;
Fixed Size                  1298836 bytes&lt;br /&gt;
Variable Size             138415724 bytes&lt;br /&gt;
Database Buffers           50331648 bytes&lt;br /&gt;
Redo Buffers                6635520 bytes&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Oracle llegeix el fitxer init.ora, localitza els fitxers de control, crea i inicialitza la SGA, i finalment arrenca tots els processos Oracle. En asquest estat la BD està arrencada. És necessari portar la BD a l'estat de ''nomount'' quan s'estigui creant una base de dades o quan s'estigui restaurant un fitxer de control després d'haver-lo perdut.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntu-bbdd:/u01/app/oracle$&lt;br /&gt;
./admin/BBDD/scripts/init.ora -&amp;gt; aquest és el que val&lt;br /&gt;
./product/11.1.0/bbdd/srvm/admin/init.ora&lt;br /&gt;
./product/11.1.0/bbdd/dbs/init.ora&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
I en el fitxer init.ora podem visualitzar quins són els fitxers de control:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ joe ./admin/BBDD/scripts/init.ora&lt;br /&gt;
&lt;br /&gt;
control_files=(&amp;quot;/u01/app/oracle/oradata/BBDD/control01.ctl&amp;quot;, &amp;quot;/u01/app/oracle/oradata/BBDD/control02.ctl&amp;quot;, &amp;quot;/u01/app/oracle/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===instància montada===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SQL&amp;gt; alter database mount;&lt;br /&gt;
Base de datos modificada.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Oracle obre els fitxers de control per localitzar els fitxers de dades i els redo log, però no es realitza cap comprovació en ells en aquest moment. La instància de la BD munta la BD i la bloqueja, verificant que cap altra instància ha muntat la mateixa BD.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cat /u01/app/oracle/oradata/BBDD/control01.ctl&lt;br /&gt;
...&lt;br /&gt;
/u01/app/oracle/oradata/BBDD/redo03.log&lt;br /&gt;
...&lt;br /&gt;
/u01/app/oracle/oradata/BBDD/users01.dbf/&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per visualitzar tots els fitxers associats a una base de dades (fitxers de control, fitxers de dades, i fitxers de redo log):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
select * from v$controlfile;&lt;br /&gt;
select * from v$datafile;&lt;br /&gt;
select * from v$logfile;&lt;br /&gt;
&lt;br /&gt;
select group#, status, substr(member,1,60) from v$logfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Aquests fitxers estan físicament a /u01/app/oracle/oradata.&lt;br /&gt;
&lt;br /&gt;
Hi ha vàries raons per voler tenir la BD en l'estat ''mount''. En general, totes les sentències SQL del tipus ''alter database'' es poden executar en aquesta etapa. Algunes de les operacions a realitzar quan la BD està muntada són:&lt;br /&gt;
*efectuar recuperacions&lt;br /&gt;
*posar online/offline un fitxer de dades &lt;br /&gt;
*recol.locar els fitxers de dades i de redo log&lt;br /&gt;
*crear un nou grup o membre de redo log, o esborrar un grup o membre redo log existent&lt;br /&gt;
===obrir la base de dades===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SQL&amp;gt; alter database open;&lt;br /&gt;
Base de datos modificada.&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; SELECT INSTANCE_NAME, VERSION, STATUS FROM V$INSTANCE;&lt;br /&gt;
&lt;br /&gt;
INSTANCE_NAME	 VERSION	   STATUS&lt;br /&gt;
---------------- ----------------- ------------&lt;br /&gt;
BBDD		 11.1.0.6.0	   OPEN&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;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Durant aquesta etapa, la instància obre la BD, bloqueja els datafiles (fitxers de dades), i obre tots els fitxers de redo log. Si la instància obre la BD després d'una finalització anormal, o després d'una caiguda del sistema, s'executarà automàticament el procés de recuperació utilitzant els fitxers de redo log.&lt;br /&gt;
&lt;br /&gt;
Al final d'aquesta etapa la BD està llesta per al seu ús normal.&lt;br /&gt;
&lt;br /&gt;
==Aturar la BD==&lt;br /&gt;
Per aturar la base de dades s'utilitza la comanda ''shutdown'', amb vàries possibilitats: normal, immediate y abort. &lt;br /&gt;
&lt;br /&gt;
===shutdown normal===&lt;br /&gt;
*s'impideix l'accés a la BD, espera que tots els usuaris completin totes les seves peticions i es desconnectin del servidor.&lt;br /&gt;
*purga tots els buffers de dades i caches de redo log, actualitzant els fitxers de dades i de redo log. &lt;br /&gt;
*S'eliminen els bloqueigs de fitxers&lt;br /&gt;
*es completen les transaccions en marxa&lt;br /&gt;
*s'actualitzen les capçaleres del fitxers, s'eliminen els threads&lt;br /&gt;
*s'alliberen els bloquejos de la instància per part de la BD&lt;br /&gt;
*es sincronitzen els fitxers de control i de dades.&lt;br /&gt;
*Resumint, l'opció ''normal'' tanca la BD, desmunta la BD, i atura la instància amb compte. És l'opció recomanada.&lt;br /&gt;
===shutdown immediate===&lt;br /&gt;
En certes ocasions pot ser necessari aturar la BD de mode immediat. Les sentències que s'estan processant s'aturen de forma immediata, qualsevol transacció no confirmada (uncommitted) es tira endarrera (rolled back) i la BD s'atura. No s'espera que els usuaris es desconnectin. Tanmateix, la BD serà consistent i no es necessitarà recuperació en la següent arrencada.&lt;br /&gt;
===shutdown abort===&lt;br /&gt;
En situacions d'emergència, i quan tota la resta falla, s'ha de realitzar un abort. Per exemple, quan un procés de la instància mor i la BD no pot aturar-se de forma normal o immediata. Les sentències SQL s'aturen bruscament, i no es fa un rollback de les transaccions. Si aturem la BD amb abort, la propera vegada que s'arrenca la BD hem de fer una recuperació.&lt;br /&gt;
&lt;br /&gt;
{{Autor}}, novembre 2009&lt;br /&gt;
[[Categoria: Oracle]]&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>