实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。实际上,准确地讲,实例在其整个生存期中最多能装载和打开一个数据库!
一般来说,我们的一个数据库对应一个实例,但在集群RAC情况下,共享数据库文件时,一个数据库是可以被多个实例同时使用的。
问题二:oracle数据库的实例,其中“实例”是什么意思? 实例指的是内存,数据库指的是物理文件。通过实例指向的数据库,来访问数据库中的数据。
问题三:数据库实例是什么意思 多个 SQL Server 实例 ,Microsoft SQL Server 2000 支持在同一台计算机上同时运行多个 SQL Server 数据库引擎实例。每个 SQL Server 数据库引擎实例各有一套不为其它实例共享的系统及用户数据库。
问题四:数据库实例 问这个问题说明你对数据库的概念还不太了解,这是最基本的概念。
数据库是什么?数据库是一个逻辑上的概念,简单的说就是相互关联的一会数据。而对应到实际的物理概念上,就是磁盘上的一个或者一堆文件,里边包含着数据。但是光有数据不行,数据库有很多功能,比如可以接受用户连接,给用户提供数据,这样就需要有“程序”。所以说关闭状态的数据库,就是磁盘上的程序文件,加上数据文件。
想要使用数据库,就要把它打开,让上边说的“程序”运行起来。实例就是指计算机内存中处于运行状态的数据库程序,以及为这些程序分配的一些内存空间。实例是位于内存中的,只在数据库处于运行状态时才存在。实例负责实现给用户提供网络连接、读写数据文件等等各种功能。
不同的数据库产海有些不同,Oracle中一个实例只能连接一个逻辑上的“数据库”,甚至是不同机器上运行着的不同实例同时连接一个数据库(RAC)。SQL Server和My SQL中的“实例”则比较独立,可以随时打开或者关闭某一个数据库。
问题五:什么是数据库的实例instance 首先说说,数据库是做什么?数据库是用来长久存储数据的,而我们大家都知道内存只能临时存储,磁盘等才能真正存储数据.那你说数据库会放那里呢?肯定是存放在磁盘上,其实数据库就是磁盘上的一个文件。
从上面我们得出结论:数据库==磁盘上的文件.
既然数据库可以看成磁盘上文件,我们怎么使用数据库呢?
如果说我们可以直接使用数据库,那就等价与直接使用磁盘上的文件.我们知道这样的一个常识:必须把磁盘上的文件读入内存才能使用.这就与我们以前所知道的一个常识相违背了.
那正确的流程是不是应该这样呢?把磁盘上文件先读入内存,然后再使用呢.
对了,这个才是使用数据库的正确流程.
数据库如何读入内存呢?
这个时候,就是我们要介绍的instance(实例)了.实例就是内存结构和一组后台进程.
实际上,正常的数据库读入内存的过程是,由实例中一组后台进程从磁盘上将数据文件读入到实例的内存中,然后经过在内存中对数据的 *** 作再从实例的内存中经过一组后台进程写到数据库中.
那实例相对与数据库而言,应该就是数据库的运行环境(随不准确但也很贴切).
我们知道了instance和database的区别后.下面我们做一个Oracle的例子,一块深刻的理解下这两个概念.
在Oracle中打开一个数据库,这个时候我们要使用sqlplus了.sqlplus是oracle的一个连接工具,相当于sql server中的查询分析器.
使用
用户名:system
密码:manger(自己在装Oracle时设定的)
点登录进入sqlplus.
登录sqlplus以后,system这个用户是没有权限启动实例的,所以我们这时要更换登录用户.
使用sys用户连接
的命令如下 :
conn sys as dba
密码:
输入完后.可以再输入如下命令查看当前用户:
show user
一:下面就可以打开数据库了
1.启动实例(instance)
startup nomount
2.将数据库装载到实例(instance)中
alter database mount
3.打开数据库
alter database open
二:关闭数据库:
1.shutdown immediate(包括三个步骤如下所述:)
首先关闭数据库
然后从实例上卸载数据库
最后关闭实例
通过Oracle打开以及关闭一个数据库的例子我们可以清楚的区分.数据库(database)和实例(instance)的概念.
问题六:在数据库中,添加一个用户实例是什么意思,请问用户实例怎么理解? 就是一个用户专用的数据库引擎。
问题七:什么是oracle实例,什么是oracle数据库,二者有什么区别? 这个问题如果回答得形象点就是:
一个数据库可以包含一个或者多个实例
实例的定义:由 *** 作系统后台进程和分配的内存区域构成。说
得简单点就是oracle在nomou骸t状态就分配了内存区域,一个实
例也就差不多快形成了。
问题八:什么是数据库的实例 所谓“数据库实例”,实际上就是数据库服务器引擎。每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。
在一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是一个实例。
有两种类型的 SQL Server 实例:
1)默认实例:默认实例仅由运行该实例的计算机的名称唯一标识,它没有单独的实例名。如果应用程序在请求连接 SQL Server 时只指定了计算机名,则 SQL Server 客户端组件将尝试连接这台计算机上的数据库引擎默认实例。
2)命名实例:除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。应用程序必须提供准备连接的计算机的名称和命名实例的实例名。
计算机名和实例名以格式puter_name\instance_name指定。 一台计算机上可以运行多个命名实例。
问题九:什么是数据库实例? 所谓的“实例”,就是一个 SQL Server 数据库引擎
一个 数据库引擎 下面,又可以建立 多个数据库
例如我的计算机,SQL Server 实例的名字是 SQLEXPRESS
这个实例下面,有好几个数据库。
为什么要命名。就是我机器上,很有可能安装了 SQL Server 2005, 又安装了 SQL Server 2008。 2个服务器, 需要不同的名字来区分。
对于 网络请求来说
如果我要访问一个 SQL 数据库
必须提供 机器名 + 实例的名字,才能访问
例如:
C:\Documents and Settings\wzq>sqlcmd -S localhost\SQLEXPRESS
1>use stock
2>go
已将数据库上下文更改为 'Stock'。
问题十:oracle数据库的实例,其中“实例”是什么意思? 实例指的是内存,数据库指的是物理文件。通过实例指向的数据库,来访问数据库中的数据。
什么是SQL呢SQL就是专门用来做数据库的一门语言
和C语言差不多
(当然功能不紧紧是做数据了
编程啊
都可以.....
这里就不多说了)z这道题用ACCESS
就可以完成了
1
首先
用Access
2000(数据库
)做一个数据库
打开设计器创建表
在点菜单
另存为
名为班级名+自己名字英文简写
最后点保存啦
(每完成系统都是有提示的啦)
第一问
解决
2
打开设计器
上面做的表下面下
创建数据表
名字都是在最后完成时做的
先不用管
然后在输入sID,sName,sSex,sAge,sClass
注意根据后面的要求填写字段
及数据类型
以及
在做其他的问题了将T_Student表的sID字段设置为标识列,种子为1,增量为2。
为T_Student表的sSex(性别)字段设置其默认值为“男”。
为T_Student表的sAge(年龄)字段设置检查约束,规定年龄在0到30岁之间。
为T_KC表的cName(课程名称)字段设置唯一性约束。,规定课程名称不得重复。
生成一个规则t_rule,限制数据的取值范围在(0---100)之间,然后将这个规则绑定到T_CJ表的cj(成绩)字段。
为T_KC表的cName字段创建索引。
最后
当然主键当然是SID了
一定要标好哦~~·先不管作业其他要求
在依次做其他2个表
T_KC(cID,cName,sBianhao,sXuefen)
T_CJ(sID,cID,cj)
注意主键是SID
3.
做好了三个表后退出设计器
在打开以一个个表
在按要求输入(在每个表中添加3-5条记录。)
好了
基本就完成了
当然用SQL
也能完成
这些问题
并且要快
但涉及到TQL语言
编程问题
很难说清楚
就不一一解释了···
查看实例名时可用 1、服务—SQL Server(实例名),默认实例为(MSSQLSERVER)或在连接企业管理时-查看本地实例
2、通过注册表 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/InstalledInstance
3、用命令
sqlcmd/osql sqlcmd -L sqlcmd -Lc osql -L
获取可用实例,以下举一个例子,根据自己情况改
DECLARE @Table TABLE ( instanceName sysname NULL)
insert @Table EXEC sys.xp_cmdshell 'sqlcmd -Lc'
--LEFT(@@serverName,CHARINDEX('/',@@serverName+'/')-1) 替代为本机名就行了 , 根据实例命名规则判断
SELECT * FROM @Table WHERE instanceName LIKE LEFT( @@serverName , CHARINDEX ( '/' , @@serverName + '/' )- 1)+ '%'
二、
--1. SELECT SERVERPROPERTY('InstanceName')
--2 sp_helpserver
--3 select @@SERVERNAME
--4 SELECT * FROM SYS.SYSSERVERS
--5 SELECT * FROM SYS.SERVERS
三、
EXECUTE xp_regread @rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE/Microsoft/Microsoft SQL Server/Instance Names/SQl',
@value_name='MSSQLSERVER'
四、
Select Case When SERVERPROPERTY ('InstanceName') Is Null Then @@SERVERNAME Else SERVERPROPERTY ('InstanceName') End
五、在本地或网络得到所有实例名
1、You can do with registry reading , like my code
using Systemusing Microsoft.Win32
namespace SMOTest { class Program { static void Main() { RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"SOFTWARE/Microsoft/Microsoft SQL Server")String[] instances = (String[])rk.GetValue("InstalledInstances")if (instances.Length >0) {foreach (String element in instances){ if (element == "MSSQLSERVER") Console.WriteLine(System.Environment.MachineName) else Console.WriteLine(System.Environment.MachineName + @"/" + element) } } } } }
2、You can use SQLDMO.dll to retrieve the list of SQL Server instances. The SQLDMO.dll can be found from the "C:/Program Files/Microsoft SQL Server/80/Tools/Bin"
folder. Refer this assembly in your project and the following snippet
would return a List Object containing the sql server instances.
public static List GetSQLServerInstances()
{
NameList sqlNameList = null
Application app = null
var sqlServers = new List()
try
{
app = new ApplicationClass()
sqlNameList = app.ListAvailableSQLServers()
foreach (string sqlServer in sqlNameList)
sqlServers.Add(sqlServer)
}
catch(Exception ex)
{
//play with the exception.
}
finally
{
if (sqlNameList != null)
sqlNameList = null
if (app != null)
app = null
}
return sqlServers
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)