启动和关闭数据库实例
数据库启动3级别
1 nomount级别
2 mount级别
3 open级别
查看数据库当前运行级别:
Select status from v$instance
Startup nomount启动到nomount状态
读取初始化参数文件初始化SGA(spfile),启动后台进程,创建一个oracle实例,此时尚为读取数据库相关文件,数据库尚未打开
任务:
1创建控制文件,若控制文件丢失或损坏,可以在此状态重建:
先对控制文件做一个备份:
Alter database backup controlfile to trace; (备份到最新的跟踪文件中,默认路径/u01/app/oracle/oradata/ora10/udump/)
重建:create controlfile database ora10 noresetlogs
指出日志文件和数据文件存放地址:
Logfilegroup1 ‘/u01/app/oracle/oradata/ora10/redo01.log’
group2 ‘/u01/app/oracle/oradata/ora10/redo01.log’,
group3‘/u01/app/oracle/oradata/ora10/redo01.log’
Datafile ‘/u01/app/oracle/oradata/ora10/system01.dbf’,
‘/u01/app/oracle/oradata/ora10/sysaux01.dbf’,
‘/u01/app/oracle/oradata/ora10/undotbs01.dbf’,
‘/u01/app/oracle/oradata/ora10/users01.dbf’,
‘/u01/app/oracle/oradata/ora10/example01.dbf’(创建了示例数据库才有)
--------------------用户自己建的数据文件-----------------
字符集:character set zhs16gbk;
2创建数据库,使用dbca或者手工创建一个新的数据库
Startup mount启动到mount状态
在nomount的基础上,根据参数文件中的设置读入数据库控制文件(controlfile)和口令文件(pwfile_users),以便进一步获取所有数据文件和日志文件的位置
修改数据文件名:
mv example01.dbfexample02.dbf必须先在OS下重命名
alter database ora10 rename file‘/u01/app/oracle/oradata/ora10/example01.dbf’ to ‘/u01/app/oracle/oradata/ora10/example02.dbf’
执行完全恢复
执行不完全恢复
改变日志操作模式时:
Archive log list查看当前日志模式
Alter database archivelog切换到归档模式
Alter database open启动到打开状态
根据控制文件中的信息读入数据库的数据文件及日志文件,并打开数据库以供使用。
若因某个参数设置错误导致数据库无法启动,可以pfile文件启动
1 Strings spfileora10.ora>aaa.ora ,在aaa文件中把错误参数手动修改
Sql>Startup pfile=$ORACLE_HOME/dbs/aaa.ora
2.提前做好备份:sql>create pfile from spfile生成的pfile在:
$oracle_home/dbs/initora10.ora修改后以此文件启动
3.Copy一份spfile保存下来,若数据库启动不了,再用备份的spfile覆盖当前spfile;
数据库关闭:
Shutdown normal:默认的关闭方式,不常用,需要所有会话,所有事务都结束才会写盘关闭数据库。不需要实例恢复
Shutdown transaction:一致性关闭数据库,需等待当前事务结束,才会关闭数据库,不需实例恢复;
Shutdown immediate:立即关闭数据库立即结束会话,不需要实例恢复,但是,如果此时正进行一项大事务,则回滚将需要很长时间;
Shutdown abort强制关闭数据库。相当于断电。需要进行实例恢复,若此时正进行一项大项目,则下次启动时将需要大量时间来进行重做记录和回滚撤销操作!