在java中instance的用法【instance】是instanceof还是instance?
instanceof是Java的一个二元操作符,和==,>,<是同一类东东 。由于它是由字母组成的,所以也是Java的保留关键字 。它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据 。举个例子:
String
s
=
"I
AM
an
Object!";
boolean
isObject
=
s
instanceof
Object;
我们声明了一个String对象引用,指向一个String对象,然后用instancof来测试它所指向的对象是否是Object类的一个实例,显然 , 这是真的,所以返回true,也就是isObject的值为True 。
instanceof有一些用处 。比如我们写了一个处理账单的系统 , 其中有这样三个类:
public
class
Bill
{//省略细节}
public
class
PhoneBill
extends
Bill
{//省略细节}
public
class
GasBill
extends
Bill
{//省略细节}
在处理程序里有一个方法,接受一个Bill类型的对象,计算金额 。假设两种账单计算方法不同,而传入的Bill对象可能是两种中的任何一种,所以要用instanceof来判断:
public
double
calculate(Bill
bill)
{
if
(bill
instanceof
PhoneBill)
{
//计算电话账单
}
if
(bill
instanceof
GasBill)
{
//计算燃气账单
}
...
}
这样就可以用一个方法处理两种子类 。
然而 , 这种做法通常被认为是没有好好利用面向对象中的多态性 。其实上面的功能要求用方法重载完全可以实现,这是面向对象变成应有的做法,避免回到结构化编程模式 。只要提供两个名字和返回值都相同 , 接受参数类型不同的方法就可以了:
public
double
calculate(PhoneBill
bill)
{
//计算电话账单
}
public
double
calculate(GasBill
bill)
{
//计算燃气账单
}
所以 , 使用instanceof在绝大多数情况下并不是推荐的做法 , 应当好好利用多态 。
instance的话,不知道
,一般我们定义获取实例的时候
写个
getInstance的方法//
java中Instance的作用什么?这是单例模式,一般用于比较大,复杂的对象,只初始化一次,应该还有一个private的构造函数,使得不能用new来实例化对象,只能调用getInstance方法来得到对象 , 而getInstance保证了每次调用都返回相同的对象
Java中什么是instance,希望有实例说明 。Calendar calendar = Calendar.getInstance();这就是个instance日历
java中,什么是instance method 中文是什么实例方法,要创建对象(即 先要new ) , 才能调用 。
对应的是 static method 静态方法,不需要创建对象就可以调用 , 直接 类名.方法名() 调用 。
java 中 , 什么是实例变量(Instance Variables)实例变量就是实例化该类对象才调用的非静态变量!
class A{
int i;//实例变量
public void mack() {
int m =1;//局部变量
}
}
单你new 一个A的对象的时候!对象就会在内存中为i分配一个内存!你就可以调用该变量!单你调用mack方法时候才会为m分配内存进行调用!
java关于instance的定义
文章插图
java中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例 。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例 。用法: result = object instanceof class 参数: Result:布尔类型 。Object:必选项 。任意对象表达式 。Class:必选项 。任意已定义的对象类 。说明: 如果 object 是 class 的一个实例,则 instanceof 运算符返回 true 。如果 object 不是指定类的一个实例,或者 object 是 null,则返回 false 。但是instanceof在Java的编译状态和运行状态是有区别的:在编译状态中,class可以是object对象的父类,自身类,子类 。在这三种情况下Java编译时不会报错 。在运行转态中 , class可以是object对象的父类,自身类 , 不能是子类 。在前两种情况下result的结果为true,最后一种为false 。但是class为子类时编译不会报错 。运行结果为false 。扩展资料例子:接口Personpublic interface Person {public void eat();}实现类Peoplepublic class People implements Person {private int a=0;@Overridepublic void eat() {System.out.println("======"+a);}}子类xiaoming:public class xiaoming extends People {private String name;@Overridepublic void eat() {System.out.println("+++++++++");}}主函数public static void main(String[] args) {People p=new People();xiaoming x=new xiaoming();System.out.println(p instanceof Person);System.out.println(p instanceof xiaoming); -----2System.out.println(x instanceof Person);System.out.println(x instanceof People);}注意:上面2处的代码在编译时不会报错 。运行结果:truefalsetruetrue参考资料:百度百科:Java百度百科:instance
Java中什么是instance,希望有实例说明 。实例变量就是实例化该类对象才调用的非静态变量!
class
a{
int
i;//实例变量
public
void
mack()
{
int
m
=1;//局部变量
}
}
单你new
一个a的对象的时候!对象就会在内存中为i分配一个内存!你就可以调用该变量!单你调用mack方法时候才会为m分配内存进行调用!
java中instanceof的用法类型不兼容的情况下不能直接使用instanceof来进行判断 , 如果这两个类型是基本数据类型可以使用a.getClass().equals(B.class)(其中a是基本数据类型A的一个变量,相当于你这里的s,B是你想要比较的那个数据类型,这里相当于Boolean);如果这两个类型是你自己创建的普通类 , 则可以让他俩继承一个共同的类,或者实现同一个接口 。你这个属于第一种情况 , 程序如下:public class JudgeType{public static void main(String[] args){String s="true";Boolean b=true;System.out.println(s.getClass().equals(Boolean.class));//输出为false}}再举一个第二种的情况,程序如下:public class Test{public static void main(String[] args){ Person p=new Teacher(); //使用多态boolean b=p instanceof Student; System.out.println(b);//输出为false}}class Person{}class Student extends Person{ }class Teacher extends Person{ }
java中getInstance()的用法getinstance这个方法在单例模式用的甚多 , 为了避免对内存造成浪费,直到需要实例化该类的时候才将其实例化 , 所以用getInstance来获取该对象 , 至于其他时候 , 也就是为了简便而已 , 为了不让程序在实例化对象的时候,不用每次都用new关键字,索性提供一个instance方法,让程序员书写简洁方便!比如下例:private static Control ControlAdapter = null;public static Control getInstance(){if(ControlAdapter == null)ControlAdapter = new ControlAdapter();return ControlAdapter;}
instance20 是什么意思?instance 10 vlan 10-20 (实例10 包括10、20 两个vlan )
instance 20 vlan 30-40(实例20 包括30、40 两个vlan )
exit (退出并保存)
然后按题目要求设置优先级
spanning-tree mst 20(上面设置的实例名称) priority 4096
instance是什么意思instance等于example
含义:例子,范例,实例
for instance 例如
云计算中的instance是什么意思?您好,云计算中的instance通常都是指:虚拟机
instance+name是什么意思instance name
实例名;实例名称;实体名称
例句筛选
1.
However, the instance name must be unique across the system.
但是,在整个系统中实例名必须是惟一的 。
2.
The instance name cannot contain quotation marks, because quotation marks arenot permitted in the name of a Windows service.
实例名称不能包含引号 , 因为Windows服务名称不允许包含引号 。
for instance 和 for example什么区别相同点:他们后面可以接句子也可以放名词,但是通常放句子比较常见,后面放名词的通常也只放一个,这两个短语都可以放在句子的前面,句子的中间,或者句子的后面,在引出的例子前面可以用逗号隔开 。
不同点:for example 和 for instance的区别很小 , 即使外国人也很难说清楚区别,通常看个人的喜好,但是在读书和日常交流的时候 , 会发现 for instance更加书面话和学究话,在严谨的学术上用的更多些 。
for instance 和 for example什么区别
文章插图
1、侧重点不同For example是侧重通过示例(更倾向于项目列表),让受众易于理解,For instance侧重给出一个佐证的案例(一个事件的经过) 。2、使用对象不同for example是列举整体中的一个为例 。如:A few simple precautions can be taken, for example ensuring that desks are the right height.可以采取一些简单的预防措施,比如确保桌子的高度合适 。for instance 主要用于列举表示事例情况的例子 , 后接具体的事物 。如:Ethiopia, for instance uses the equivalent of just twenty kilos of oil per head a year. 比如说,埃塞俄比亚每年的人均消费支出仅相当于20公斤的石油 。3、程度不同for example使用更加日常和广泛,而for instance则更加学术化和正式 。
for instance 和 for example什么区别for instance 和 for example区别如下:
1.for example是列举整体之中的一个为例,在句子中多用作插入语,用逗号与主句隔开,for example之后也有逗号 。for example作插入语,位置可以在句首、句中或句末 。如:
For example , air is invisible and of no smell.
例如,空气是无色无味的物质 。
2.for instance主要用于列举表示事例情况的例子 。有时,相当于like/such as,后接具体的事物 。如:
There are jobs more dangerous than truck driving,for instance,training tigers,fire fighting;
还有比开卡车更危险的工作 , 例如训虎、灭火 。
You Can choose any one of them.for instance,this one on the left.
你可以选择其中任何一个,例如靠左边的这个 。
相同点:他们后面可以接句子也可以放名词 。但是通常放句子比较常见 。后面放名词的通常也只放一个 。这两个短语都可以放在句子的前面,句子的中间,或者句子的后面 。在引出的例子前面可以用逗号隔开 。
不同点:for example 和 for instance的区别很小 。即使外国人也很难说清楚区别,通常看个人的喜好 。但是在读书和日常交流的时候,会发现 for instance更加书面话和学究话 。在严谨的学术上用的更多些 。
for instance 和 for example什么区别相同点:他们后面可以接句子也可以放名词.但是通常放句子比较常见.后面放名词的通常也只放一个.这两个短语都可以放在句子的前面,句子的中间,或者句子的后面.在引出的例子前面可以用逗号隔开.
不同点:for example 和 for instance的区别很小.即使外国人也很难说清楚区别,通常看个人的喜好.但是在读书和日常交流的时候,会发现 for instance更加书面话和学究话.在严谨的学术上用的更多些.
求PHP大神,如图调用getInstance()方法的时候,他是以怎样的形式以$class_name,为键值 , $class_name 是传入的 字符串啊,如代码中的 ‘Mysqldb’和 ‘student’
php问题 。$class = $class::instance($handler['driver']); 这里的instance是什么意思 。静态调用instance方法获取该类的实例
$_SERVER['REQUEST_METHOD'] == 'POST' 在php中是什么意思啊$_SERVER['REQUEST_METHOD'] == 'POST'
是判断提交的数据是否是POST方式传来的
菜鸟一只 , 求PHP批量上传图片的整个代码 。搜索swfupload
菜鸟问题,PHP向数据库写入数据,显示成功,但数据库还是空的,怎么回事?把这几个变量分别echo一下,看看有没有接收值$_POST[user],$_POST[title],$_POST[txt]');把sql也echo一下 。
$sql="INSERT INTO test (user,title,txt) VALUES ('$_POST[user]','$_POST[title]','$_POST[txt]');";
mysql_query($sql);
echo "Success";
改成
$sql="INSERT INTO test (user,title,txt) VALUES ('$_POST[user]','$_POST[title]','$_POST[txt]');";
$query = mysql_query($sql);
if($query>0){
echo "Success";}
else{
echo "false";}
python中的instance是什么对象类型在python2中,如果定义类时继承了object,那么实例化后对象的type就是该类
>>> class Apple(object): pass
...
>>> red_apple = Apple()
>>> type(red_apple)
>>>
但如果定义类的时候没有继承object , 实例化后对象的type将会是 instance
>>> class Apple(): pass
...
>>> green_apple = Apple()
>>> type(Apple)
>>>
去看urllib2的源代码,你会发现build_opener返回的对象是从这个东西继承而来的:
class BaseHandler:
def add_parent(self, parent):
self.parent = parent
def close(self):
self.parent = None
它没有继承object,所以,它的type是instance
继承object的类的写法叫做 New-style classes , 是在 python 2.2 中引入的,之前的写法被称作 Old clasess或 Classic classes
python 中instance是什么类型在Python中只需要使用内置的函数isinstance,使用起来非常简单 , 比如下面的例子:
复制代码代码如下:
class objA:
pass
A = objA()
B = 'a','v'
C = 'a string'
print isinstance(A, objA)
print isinstance(B, tuple)
print isinstance(C, basestring)
输出结果:
True
True
True
python中的instance是什么对象类型在python2中,如果定义类时继承了object , 那么实例化后对象的type就是该类
>>>
class
Apple(object):
pass
...
>>>
red_apple
=
Apple()
>>>
type(red_apple)
<class
'__main__.Apple'>
>>>
但如果定义类的时候没有继承object,实例化后对象的type将会是
instance
>>>
class
Apple():
pass
...
>>>
green_apple
=
Apple()
>>>
type(Apple)
<type
'instance'>
>>>
去看urllib2的源代码 , 你会发现build_opener返回的对象是从这个东西继承而来的:
class
BaseHandler:
def
add_parent(self,
parent):
self.parent
=
parent
def
close(self):
self.parent
=
None
它没有继承object,所以,它的type是instance
继承object的类的写法叫做
New-style
classes,是在
python
2.2
中引入的,之前的写法被称作
Old
clasess或
Classic
classes
python 是什么类型的语言
文章插图
Python是一种面向对象的解释型计算机程序设计语言 。Python是纯粹的自由软件 , 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进 。Python具有丰富和强大的库 。它常被昵称为胶水语言 , 能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起 。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库 。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现 。Python已经成为最受欢迎的程序设计语言之一 。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言 。自从2004年以后,python的使用率呈线性增长。
如何查看db2 instance主要是区分一下数据库database和实例instance
数据库database是一个文件集合(包括数据文件、临时文件、重做日志文件和控制文件)
实例Instance其实就是指的操作系统中一系列的进程以及为这些进程所分配的内存块 。
如果只有数据库 , 没有instance只能代表数据存储在文件中,无法直接进行操作,如果没有数据库,只有instance虽然可以急性操作,但是也不知道操作那些数据,操作后的数据也无法保存 。
windows系统怎样配置db2instance环境变量本文详细地介绍了如何在客户端配置DB2forWindows的ODBC数据源,然后又以“万能数据库查询分析器”的中文版本《DB查询分析器》为工具,通过配置的ODBC数据源来访问远程基于Windows2000Server操作系统的DB2数据库服务器 。本文同样适应用在客户端配置远程DB2forOtherOS,如Aix、Linux、或者Solaris等等 。1.获得DB2端口号首先要获得远程基于Winows2000Server操作系统的DB2的端口号 。在远程Winows主机上运行DB2命令行处理器,然后接着输入命令“DB2getdbmcfg|find"SVCENAME"”,执行后找到“SVCENAME”来获得DB2的TCP/IP服务名db2c_DB2 。点击开始菜单,在“运行”处输入“drivers”,在打开资源管理器中找到子目录etc(整体目录Winows2000中为c:\winnt\system32\drivers\etc、WinXP或者Win7中为c:\windows\system32\drivers\etc)就可以找到文件services并打开它在文件services中找到TCP/IP服务名db2c_DB2对应的端口号50000 。2客户端上配置ODBC数据源在客户端打开DB2的配置助手,然后按照以下步骤来建立ODBC数据源 。选择远程DB2数据库主机的操作系统,如Windows,Aix、Linux、或者Solaris等 。最后,点击“完成“按钮结束整个配置工作 。3DB查询分析器通过ODBC访问DB2数据库中国本土程序员马根峰推出的个人作品----万能数据库查询分析器,中文版本《DB查询分析器》、英文版本《DBQueryAnalyzer》 。它具有强大的功能、友好的操作界面、良好的操作性、跨越各种数据库平台乃至于EXCEL和文本文件 。你可以通过它查询ODBC数据源(包括世面上所有的数据库、TXT/CSV文件、EXCEL文件)的数据 。你可以同时执行多条DML语句乃至存贮过程,结果会以你设定的表格、文本框、文件来返回 。从数据库导出千万条数据时 , 效率与DBMS没有什么区别 。在《程序员》2007第2期的“新产品&工具点评”部分 , 编辑“特别推荐”了“万能数据库查询分析器”发布 。下载安装《DB查询分析器》并运行它 , 输入建立的ODBC数据源名称“MGF_DB1”、用户名和口令 。备注:如果您的计算机上安装有“万能数据库查询分析器”以前的版本 , 请先将旧版本Uninstall,然后再安装新版本,
db2里attch to instance_name与set instance=instance_name的区别?set db2instance命令的作用是指定默认实例,即打开windows cmd或shell的时候默认操作的实例
db2安装不成功提示: DB29501E DB2 检测到不一致环境 。请检查:“DB2INSTANCE: -2029059916”是什么原因这个是官方信息
当启动控制中心时,报错误DB29501E:
DB29501E DB2 检测到不一致的环境 。请检查以下错误:""
说明:
检测到操作环境中的错误 。
用户响应:
此错误可能是由于不一致的 DB2 或操作系统环境引起的 。尝试更正错误消息中标识的问题,并重新发出该命令 。
解答
DB29501E DB2 检测到不一致的环境
这个错误发生的原因是环境变量DB2INSTANCE没有设置为一个有效值 。在WINDOWS环境中,启动控制中心或JDBC Applet服务器服务时,需要DB2INSTANCE变量 。
要避免DB29501E错误,确保环境变量DB2INSTANCE被设置为一个有效值 。可以通过以下途径来设置此变量:
打开 控制面板->系统->高级->环境变量 窗口 , 在系统环境变量找到DB2INSTANCE,编辑并设定正确值也可以通过执行命令来设置,命令是
set db2instance=(实例名)
如:
set db2instance=DB2
请注意命令行设置只影响当前CMD或CLP窗口 。命令db2 get instantce
可以得到当前命令窗口的 DB2INSTANCE 值
完全修改系统级的DB2INSTANCE环境变量的值必须使用前面所述的第一个方法 。如果为了JDBC APPLET服务能成功启动,则需要重新启动机器 。
db2常用命令
文章插图
操作数据库命令1、 启动数据库实例#db2start2、 停止数据库实例#db2stop如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 force application all就可以了 /db2stop force3、 创建数据库#db2 create db [dbname]4、 连接到数据库#db2 connect to [dbname] user[username] using [password]5、 断开数据库连接#db2 connect reset操作数据表命令1、 列出所有用户表#db2 list tables2、列出所有系统表 #db2 list tables for system3、列出所有表#db2 list tables for all4、 列出系统表#db2 list tables for system5、列出用户表#db2 list tables for user6、 列出特定用户表#db2 list tables for schema[user] 参考资料来源:百度百科—DB2
Oracle中的Instance实例和数据库的区别oracle数据库:
数据库指与Oracle相关的一些文件的集合(包括数据文件, 控制文件, redo等)
oracle的instance:
实例指与Oracle相关的一些进程(SMON, PMON, DBWR等)和共享内存(SGA)的集合.
一个数据库可以同时被多个实例挂载和打开.
一个实例可以挂载和打开任何数据库, 但是一次只能打开一个数据库.
Difference between DB_NAME and Instance_Name
P11_QUESTION_ID:533422350794)
A database is a set of files (data, redo, ctl and so on)
An instance is a set of processes (SMON, PMON, DBWR, etc) and a shared memory segment
(SGA).
A database may be mounted and opened by many INSTANCES (Parallel Server) concurrently.
An instance may mount and open ANY database -- however it may only open a single database
at any time.
Oracle中的Instance实例和数据库的区别在Oracle10G中 , 数据的存储有好几种 。第一种是文件形式,也就是在你的磁盘中创建一批文件,然后在这些文件中存储信息 。第二种就是磁盘阵列形式,这个是什么意思呢,这个就是说明数据库不是存放为某个文件,而是把一个或者多个磁盘格式化成Oracle的一种格式了,等于整个磁盘就是存放Oracle数据库的,不能作为别的用途 。
Instance其实就是指的操作系统中一系列的进程以及为这些进程所分配的内存块 。在Oracle中,我们可以新建一个Oracle的Instance,这个时候虽然有了进程还有SGA等一系列的内存快 , 但是这个时候并没有把数据库文件读取进来 。所以只是一个实例,在后来,你可以通过命令手动或者自动地把数据库文件加载进我们的数据库Instance中 , 这个时候的数据库才可以让我们真正的开始访问操作 。
Oracle中的Instance实例和数据库的区别Oracle中Instance实例和数据库的区别是:1、数据库实例指数据库服务器的内存及相关处理程序,它是Oracle的心脏 。与Oracle性能关系最大的是SGA(System Global Area,即系统全局区活共享内存区),SGA包含三个部分:1、数据缓冲区,可避免重复读取常用的数据;2、日志缓冲区,提升了数据增删改的速度,减少磁盘的读写而加快速度;3、共享池,使相同的SQL语句不再编译,提升了SQL的执行速度 。oracle数据库实例的另一部分就是一些后台进程了 , 他主要包括:1.系统监控进程2.进程监控3.数据库写进程4.日志写进程5.检验点进程6.其他进程这些后台进程合起来完成数据库管理任务在访问数据库的时候 。器后台先启动实例 。启动实例前要先分配内存区 。然后在启动后台进程 。数据库启动过程中必须启动上面的前五个进程 。否则实例无法创建 。注意:在启动oracle数据库的时候 。因为有些进程是在开机启动项中自动启动的 。所以占用了很大一部分内存 。如果您电脑上还有一些其他占用内存比较大的程序 。在启动oracle数据库的时候有可能会因内存不足而启动失败 。2、在Oracle中,数据的存储有好几种 。第一种是文件形式,也就是在你的磁盘中创建一批文件,数据控制文件,联机重做日志文件等构成,外加临时文件,是静态存储的 。oracle体系结构:
Oracle中的Instance实例和数据库的区别Oracle中Instance实例和数据库的区别
什么是数据库,其实很简单,数据库就是存储数据的一种媒介 。比如常用的文件就是一种,在Oracle10G
中,数据的存储有好几种 。第一种是文件形式 , 也就是在你的磁盘中创建一批文件,然后在这些文件中存储信息 。第二种就是磁盘阵列形式,这个是什么意思呢 , 这
个就是说明数据库不是存放为某个文件,而是把一个或者多个磁盘格式化成Oracle的一种格式了,等于整个磁盘就是存放Oracle数据库的,不能作为别
的用途 。
www.2cto.com
这样的优点是存储性能高,因为不再借助别的文件格式了,而是把整个磁盘都成为Oracle最适应的文件系统格式 。当然还可能有别的形式,比如网络什么的 。不过我们最常用的还是文件格式的,在文件格式中,数据库指的就是那些数据文件,控制文件以及REDO文件等等一系列文件 。
而什么是Instance呢,Instance其实就是指的操作系统中一系列的进程以及为这些进程所分配的内存块 。在Oracle中,我们
可以新建一个Oracle的Instance,这个时候虽然有了进程还有SGA等一系列的内存快,但是这个时候并没有把数据库文件读取进来 。所以只是一个
实例,在后来,你可以通过命令手动或者自动地把数据库文件加载进我们的数据库Instance中,这个时候的数据库才可以让我们真正的开始访问操作 。
www.2cto.com
所以说,数据库的应用如果想实现,数据库和数据库Instance是缺一不可的,如果只有数据库的那些文件,那么 , 只能代表数据在这个文件
中,但是我们无法直接进行操作 。而如果只有数据库Instance,那么我们虽然可以急性操作,但是也不知道操作哪些数据 , 操作生成的数据也无法保存等
等 。所以,当一个Oracle Instance真正Load了一个Oracle Database了以后,数据库才可以被我们使用 。
在这里要注意一点的是 , Oracle的实例在启动以后,只能load一次数据库,如果想把数据库与Instance断开,然后再重新挂在一
个数据库Instance,那么就需要你首先把数据库Instance进程结束 , 然后重新建立这个instance的一个进程,再load另外一个数据
库 。否则肯定要抛除ORA-16169错误,说数据库已经被打开 。因为一个数据库Instance在其生存期中最多只能load和打开一个
instance 。
ORACLE实例 = 进程 + 进程所使用的内存(SGA)
实例是一个临时性的东西,你也可以认为它代表了数据库某一时刻的状态!
数据库 = 重做文件 + 控制文件 + 数据文件 + 临时文件
数据库是永久的,是一个文件的集合 。
ORACLE实例和数据库之间的关系
1.
临时性和永久性
2.
实例可以在没有数据文件的情况下单独启动 startup nomount , 通常没什么意义
3.
一个实例在其生存期内只能装载(alter database mount)和打开(alter database open)一个数据库
4.
一个数据库可被许多实例同时装载和打开(即RAC),RAC环境中实例的作用能够得到充分的体现!
下面对实例和数据库做详细的诠释:
在Oracle领域中有两个词很容易混淆,这就是“实例”(instance)和“数据库”(database) 。作为Oracle术语,这两个词的定义如下:
q
数据库(database):物理操作系统文件或磁盘(disk)的集合 。使用Oracle 10g的自动存储管理(Automatic Storage Management , ASM)或RAW分区时,数据库可能不作为操作系统中单独的文件,但定义仍然不变 。
q
实例(instance):一组Oracle后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享 。这里可以维
护易失的、非持久性内容(有些可以刷新输出到磁盘) 。就算没有磁盘存储,数据库实例也能存在 。也许实例不能算是世界上最有用的事物,不过你完全可以把它想
成是最有用的事物,这有助于对实例和数据库划清界线 。
这两个词有时可互换使用,不过二者的概念完全不同 。实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库 。实际上,准确地讲,实例在其整个生存期中最多能装载和打开一个数据库!稍后就会介绍这样的一个例子 。
是不是更糊涂了?我们还会做进一步的解释,应该能帮助你搞清楚这些概念 。实例就是一组操作系统进程(或者是一个多线程的进程)以及一些内存 。这
些进程可以操作数据库;而数据库只是一个文件集合(包括数据文件、临时文件、重做日志文件和控制文件) 。在任何时刻,一个实例只能有一组相关的文件(与一
个数据库关联) 。大多数情况下,反过来也成立:一个数据库上只有一个实例对其进行操作 。不过 , Oracle的真正应用集群(Real
Application
Clusters,RAC)是一个例外,这是Oracle提供的一个选项,允许在集群环境中的多台计算机上操作,这样就可以有多台实例同时装载并打开一个
数据库(位于一组共享物理磁盘上) 。由此,我们可以同时从多台不同的计算机访问这个数据库 。Oracle
RAC能支持高度可用的系统,可用于构建可扩缩性极好的解决方案 。
ORACLE_SID、INSTANCE_NAME和服务名的区别数据库名(DB_NAME)、实例名(Instance_name)、以及操作系统环境变量(ORACLE_SID)
区别:在ORACLE7、8数据库中只有数据库名(db_name)和数据库实例名(instance_name) 。在ORACLE8i、9i中出现了新的参数,即数据库域名(db_domain)、服务名(service_name)、以及操作系统环境变量(ORACLE_SID) 。这些都存在于同一个数据库中的标识,用于区分不同数据库的参数 。
一、什么是数据库名(db_name)?
数据库名是用于区分数据的内部标识,是以二进制方式存储于数据库控制文件中的参数 , 在数据安装或创建之后将不得修改 。数据库安装完成后,该参数被写入数据库参数文件pfile中 , 格式如下:
.........
db_name="orcl" #(不允许修改)
db_domain=dbcenter.toys.com
instance_name=orcl
service_names=orcl.dbcenter.toys.com
control_file=(...............
.........
在每一个运行的ORACLE8i数据库中都有一个数据库名(db_name),如果一个服务器程序中创建了两个数据库,则有两个数据库名 。其控制参数据分属在不同的pfile中控制着相关的数据库 。
二、什么是数据库实例名(instance_name)
数据库实例名则用于和操作系统之间的联系 , 用于对外部连接时使用 。在操作系统中要取得与数据库之间的交互,必须使用数据库实例名 。例如 , 要和某一个数据库server连接,就必须知道其数据库实例名,只知道数据库名是没有用的,与数据库名不同 , 在数据安装或创建数据库之后,实例名可以被修改 。数据库安装完成后 , 该实例名被写入数据库参数文件pfile中,格式如下:
db_name="orcl" #(不允许修改)
db_domain=dbcenter.toys.com
instance_name=orcl #(可以修改,可以与db_name相同也可不同)
service_names=orcl.dbcenter.toys.com
control_file=(...............
.........
数据库名与实例名之间的关系 。
数据库名与实例名之间的关系一般是一一对应关系 , 有一个数据库名就有一个实例名,如果在一个服务器中创建两个数据库,则有两个数据库名 , 两个数据库实例名 , 用两个标识确定一个数据库,用户和实例相连接 。
但在8i、9i的并行服务器结构中 , 数据库与实例之间不存在一一对应关系,而是一对多关系,(一个数据库对应多个实例 , 同一时间内用户只一个实例相联系,当某一实例出现故障,其它实例自动服务,以保证数据库安全运行 。)
三、操作系统环境变量(ORACLE_SID)
在实际中,对于数据库实例名的描述有时使用实例名(instance_name)参数,有时使用ORACLE_SID参数 。这两个都是数据库实例名,它们有什么区别呢?(经常弄混)
(ORACLE_SID)
OS ORACLE 数据库 <--------(Instance_name(实例名))
上图表示实例名instance_name、ORACLE_SID与数据库及操作系统之间的关系,虽然这里列出的两个参数都是数据库实例名,但instance_name参数是ORACLE数据库的参数 , 此参数可以在参数文件中查询到,而ORACLE_SID参数则是操作系统环境变量 。
操作系统环境变量ORACLE_SID用于和操作系统交互 。也就是说,在操作系统中要想得到实例名 , 就必须使用ORACLE_SID 。此参数与ORACLE_BASE、ORACLE_HOME等用法相同 。在数据库安装之后,ORACLE_SID被用于定义数据库参数文件的名称 。如:$ORACLE_BASE/admin/DB_NAME/pfile/init$ORACLE_SID.ora 。
定义方法:
export ORACLE_SID=orcl
如果在同一服务器中创建了多个数据库 , 则必然同时存在多个数据库实例,这时可以重复上述定义过程,以选择不同实例 。
还可以用
[oracle@Datacent]$ . oraenv
来切换不同的ORACLE_SID来通过操作系统来启动不同的实例(instance)
java中,什么是instance method 中文是什么instance是实例的意思,应该是实例方法 , 与之对应的是类方法(静态方法,有static关键字修饰的).实例方法是必须由对象才能调用的方法,如:
public void test1(){}
类方法(静态方法)是可以直接用类名来调用的方法 , 如:
public static void test2(){}
- 我去年买了个表是什么意思
- 翡翠和玉的区别究竟在哪?建议收藏观看
- 自己在家怎么制作拉皮 自己在家如何制作拉皮
- 蛋糕在家里怎么制作呢 蛋糕在家里如何做法
- 在家怎么制作麻辣烫 制作麻辣烫方法
- 石家庄电子地图
- 身上出现这几件怪事,说明有同事在算计你,别不知道
- 顶顶糕在家怎么制作 顶顶糕在家如何制作
- 在家怎么制作黑蒜 在家如何制作黑蒜
- 在家怎么制作南瓜饼 在家制作南瓜饼法的方法