LLL的数据库培训—第二部分—Oracle基础知识培训—第2讲—Oracle_11g (11.2.0.4.0) 数据库启停维护
一、 11g读取参数文件的顺序(8i,9i,10g,11g,12c,18c,19c)
1、9i之前,只有静态参数文件pfile文件,文本文件;
打开方式vi
vi $ORACLE_HOME/dbs/init.ora
修改参数时,需要重启数据库。
2、9i开始,引入了动态参数文件spfile文件(二进制文件)。
打开方式:strings
部分的参数可以立即生效,不需要重启数据库。
保留了pfile。
3、默认的查找参数文件的路径:
Windows下是%ORACLE_HOME%\database;
Linux下是$ORACLE_HOME/dbs。
4、9i后,启动数据库参数文件查找顺序
Oracle按照spfileSID.ora、spfile.ora、initSID.ora、Init.ora的顺序查找,
其中SID是服务名,也叫Oracle系统标识符。
后期恢复,也可以手动创建。
5、pfile和spfile之间的转换:
Create pfile from spfile; Create spfile from pfile;
6、启动指定pfile或spfile
Startup pfile=’/oracle/pfileqasorcl.ora’;或startup pfile; Startup spfile;
7、查看pfile还是spfile启动
Show parameter pfile;
二、数据库的四种状态及打开数据库
(查看当前数据库状态:SQL>select open_mode from v$database)
1、SHUTDOWN状态
可以执行——startup nomount;
2、 NOMOUNT 状态
实例启动,包括读初始参数文件(注意初始参数文件的读取顺序)、分配物理内存、启动后台进程。可以执行如下语句:
show parameter sga——查看sga相关信息 select * from v$bgprocess;——查看后台进程 select * from v$instance;——查看实例相关信息 alter database mount;——可以挂载数据库
3、 MOUNT 状态
数据库装载完成,打开控制文件(control file),可以找到database结构信息,但是用户表的内容不可读。可以执行如下语句:
select * from v$controlfile;——查看控制文件有哪些 select * from v$controlfile;—— select * from v$tablespace; select * from v$datafile; select open_mode from v$database; alter database open;
4、OPEN状态
数据库打开并成功加载,可以访问用户表。
SQL> alter database open; SQL> select open_mode from v$database
注:打开和关闭数据库,顺序相反
三、数据库的启动命令的完整格式
1、startup [ nomount | mount | open | force ] [ restrict ] [ pfile=filename ];
其中:
startup force:强制启动,可用于各种模式。
startup restrict:restrict模式会将数据库置于open模式,此时只有 restricted session权限的用户才能访问数据库,用于维护动作。
维护完成后,禁用restricted session权限,以便普通用户的连接。
SQL>alter system disable restricted session 可以将受限状态改变为非受限状态。 SQL>alter system enable restricted session 将非受限状态变为受限状态
2、创建pfile
SQL>create pfile='/data/u01/app/oracle/product/11.2.0/dbhome_1/dbs/pfileorcl.ora' from spfile;
3、从pfile启动
startup pfile='/data/u01/app/oracle/product/11.2.0/dbhome_1/dbs/pfileorcl.ora'
四、spfile参数详解
1、前半部分是实例的内存参数
2、后半部分是数据文件的路径等
五、关闭数据库的四种方式:
SHUTDOWN NORMAL|TRANSACTIONAL|IMMEDIATE|ABORT
1、NORMAL
不允许新用户连接,等待已连接用户自己断开连接;
所有用户进行exit、disconect时(如果应用程序或用户一直连着sql环境,则无法关闭),数据库会关闭,否则会一直等待, 一旦用户exit或disconnect了,就无法再连接上
2、TRANSACTIONAL
不允许新用户连接,等待已连接用户做完所有的事务,然后系统自动断开和他们的连接;
所有用户进行rollback或commit完成后,且不用等待用户exit或disconnect,数据库就会关闭。
一旦用户执行了rollback或commit,会提示:ORA-01089: immediate shutdown in progress - no operations are permitted
3、IMMEDIATE
不允许新用户连接,不等待已连接用户做完所有的事务,回滚掉用户所做的事务,然后系统自动断开和他们的连接;
所有用户的正常操作未提交,回滚未提交的事务后,并关闭数据库
4、ABORT
强制断开和所有用户的连接——慎用,容易数据库起不来。不安全的关闭方式。