oracle数据库实例,数据库的理解
转自http://www.cnblogs.com/advocate/archive/2010/08/20/1804066.html
加深一下理解
数据库就是一个相片底片
实例就是相纸
一个底片可以冲多个相纸,但一张相纸最多冲一个底片。
tom的一个解释
数据库(database):物理操作系统文件或磁盘( disk)的集合。使用Oracle 10g 的自动存储管理(Automatic Storage Management,ASM)或RAW 分区时,数据库可能不作为操作系统中单独的文件,但定义仍然不变。
实例(instance):一组Oracle 后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。这里可以维护易失的、非持久性内容(有些可以刷新输出到磁盘)。就算没有磁盘存储,数据库实例也能存在。也许实例不能算是世界上最有用的事物,不过你完全可以把它想成是最有用的事物,这有助于对实例和数据库划清界线。
这两个词有时可互换使用,不过二者的概念完全不同。实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。实际上,准确地讲,实例在其整个生存期中最多能装载和打开一个数据库!
补充:
一般来说,我们的一个数据库对应一个实例,但在集群RAC情况下,共享数据库文件时,一个数据库是可以被多个实例同时使用的。
我们向数据库写数据或读数据,则只能通过实例进行。
同一时间,一个实例只能打开一个数据库,也就是一个实例只能操作或管理一个数据库;通常,同一时间,一个数据库只能被一个实例打开,但RAC情况除外。
安装oracle时,通常会安装一个实例——数据库对(当然可以装多对),而且他们的名字相同(也就是实例和数据库名字相同),他们的名字当然可以不同,不管相不相同,他们的联系是通过xxx/pfile/init.ora初始化文件联系的。因为xxx就是实例的名字,而xxx.ora中的db_name,则记录相应数据库的名字。
下面演示启动xxx实例,挂接数据库,打开数据库,关闭数据库、卸载数据库、关闭实例的过程。
1、为了能进行以上操作,oracle的监听必须首先启动,这样,我们才有机会连接到oracle服务器端。可以通过如下命令进行:lsnrctl start;
2、oracle启动,windows下通常在服务里启动oracle,一般情况下同时启动相关实例,但也可以设置启动oracle时,不启动任何指定实例,这样oracle的启动速度相当快。
3、设定我们需要启动的相关实例。在console窗口中,输入 set oracle_sid=xxx (unix环境下用export命令)
4、用/nolog方式,进入sqlplus。 在console窗口中,输入 sqlplus /nolog ,然后回车,则进入sqlplus环境。
5、输入命令 connect sys as sysdba 回车后,提示输入口令,直接回车,则以sysdba的角色连接到oracle的空闲实例。
6、输入命令 startup nomount 回车,则启动了xxx实例,由set oracle_sid=xxx设置。
7、输入命令 alter database mount 回车,则将相应的数据库挂接到xxx实例。
8、输入命令 alter database open 回车,则打开了相应数据库。
9、输入命令 shutdown,则关闭数据库、卸载数据库、关闭实例。
最新文章
- struts2中Ajax校验
- 拜拜了,浮动布局-基于display:inline-block的列表布局
- Flash Builder 4.6 基本设置
- Microsoft Visual Studio 2013 Update 2 离线安装程序
- Android自定义属性时format选项可以取用的值
- ie67 设置最小宽度最小高度
- c# 中的 Trim
- KMP poj
- Angular - - ngIf、ngSwitch、ngHide/ngShow
- evak购物车--课程设计(201521123037邱晓娴)
- js 移动端上拉加载下一页通用方案
- LeetCode专题-Python实现之第7题:Reverse Integer
- 转:Flutter动画一
- 【转】FFmpeg获取DirectShow设备数据(摄像头,录屏)
- .net core json配置相关用法
- 4. Tomcat内存溢出解决
- 常用mysql text 类型,varchar最大长度
- 数据库之redis
- 110. Balanced Binary Tree (Tree; DFS)
- Linux 基础教程 37-进程命令