数据库实例与启动和关闭

oracle实例由一系列后台进程和内存结构组成。为了能够访问数据库,必须先启动实例。启动实例时,oracle会先分配一片叫系统全局区的内存区域(SGA),并启动后台进程。SGA用于存放数据库信息,这些信息被后台进程所共享。

而数据库是物理存储。一个数据库可以被一个实例驱动,也可以被多个实例驱动。多个实例同时驱动一个数据库,叫集群(RAC)).

内存是实例的组成部分,oracle的内存有PGA和SGA组成,PGA是程序全局区,其中包括服务器的信息和控制信息,它不被共享。当多个用户同时访问一个实例时,SGA对所有用户是共享的。

启动数据库分为3个过程:
1.启动实例(NOMOUNT状态);
2.装载数据库(MOUNT状态);
3.打开数据库(OPEN状态);

关闭数据库也分为3个阶段:
1.关闭数据库;
2.卸载数据库(unmount状态);
3.关闭实例;

启动、关闭数据库都必须有sysdba权限


1.数据库处于不同状态,打开数据库的方法也不一样
如果数据库是关闭的,直接使用startup命令,则打开到open状态;
如果数据库是nomount状态,则使用alter database mount,然后再使用alter database open,
才能打开数据库;

2.startup mount带参数,则把数据库自动到mount状态;

3.如何知道当前数据库处于什么状态?
select status from v$instance;

是started时,为nomount状态;
是mounted时,为mount状态;
是open时,为open状态;


4.重新启动数据库
以sysdba身份登录数据库,执行startup force命令,选项force表示重新启动数据库。
在启动数据库时,不仅要有sysdba权限,而且还要以sysdba身份登录。

5.ORACLE_SID 是系统变量,用来设置要连接到的实例。linxu、xp系统都用这个变量来代表默认登陆的数据库实例名;

6.判断数据库是否启动,2种方法
1).通过sqlplus以sysdba身份登录,如果出现idle instance表明没有启动;

2).ps -ef | grep ora 看有没有实例的后台进程

7.关闭数据库

shutdown immediate是最安全的方式关闭数据
1).新的用户不能注册;
2).未提交的事务将回滚;
3).oracle不会等待所有用户退出;

instance_name参数是ORACLE数据库的参数,此参数可以在参数文件中查询到,而ORACLE_SID参数则是操作系统环境变量。 操作系统环境变量ORACLE_SID用于和操作系统交互。也就是说,在操作系统中要想得到实例名,就必须使用ORACLE_SID.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值