Oracle实例

ORA-12505

Listener refused the connection with following error:ORA-12505,TNS:listener

确定这是连接数据库的SID错误,
解决方法:
1.知道你的SID名:可以再注册表中查找,也可以通过借助Oracle的sqlplus工具并以管理员方式连接敲命令查看:select instance_name from v$instance;必须是管理员身份,否则“视图不存在”。
2.在Oracle SQL Developer连接工具上修改你的数据库SID名,我的如下(把"xe"修改成"orcl"):
3.勾选“保存命令”,“角色”选择数据库管理员。
4.点击“保存”和“测试”,并连接,剩下的就是连接成功了。

ORA-12560:TNS:协议适配器错误

在控制台下输入set oracle_sid=orcl,然后再输入sqlplus
出现这种问题的原因就是注册表oracle_sid所代表的数据库不存在。
原因很有可能是:你使用DBCA创建了一个数据库,然后又把它删除了。
解决方案是:更改注册表,搜索oracle_sid.它在HKEY_LOCAL_MACHINESOFTWAREORACLEKEY_OraDb11g_home1项中。


查看实例名称

select instance_name from v$instance
show parameter instance

V$instance是视图,查看这个视图是怎么来的

SELECT * FROM v$fixed_view_definition WHERE view_name =upper('v$instance')

定义

数据库实例是用于和操作系统进行联系的标识,也就是说数据库和操作系统之间的交互使用的是数据库实例。
单机中,一个数据库对应一个实例。分布式中,一个数据库对应多个实例。一个实例只能对应一个数据库,一个数据库可以对应多个实例。

Oracle_sid

可以在控制台下使用set oracle_sid=orcl来指明oracle默认实例
也可以在注册表中修改oracle_sid
还可以在环境变量中添加oracle_sid

当创建新数据库之后,注册表中的oracle_sid变成新数据库名字。如果此时删除此数据库,注册表中的oracle_sid不会马上变回来,这是在控制台下打开sqlplus就无法创建实例。

参数文件(pfile和spfile)

initSID.ora或init.ora文件,通常位于$ORACLE_BASE/admin/<SID>/pfile
初始化文件记载了许多数据库的启动参数,如内存,控制文件,进程数等,在数据库启动的时候加载(Nomount时加载)

Oracle数据库

Oracle数据库是一系列物理文件的集合,包括控制文件、数据文件、联机日志文件、参数文件、密码文件等。
即:Oracle Database = Controlfile + datafile + logfiel + spfile

Oracle实例

Oracle实例包括了内存结构(SGA)和一系列后台进程(Background Process),两者合起来称为一个Oracle实例。即:Oracle Instance = SGA + Background Process

原文地址:https://www.cnblogs.com/weiyinfu/p/7443651.html