Oracle-选择要连接的数据库

Oracle-选择要连接的数据库,oracle,Oracle,全部, 在MS SQL Server和Sybase中,可以使用use选择服务器上的当前数据库 据我从谷歌上了解,甲骨文11只能有1分贝 但如果我有最新的Oracle,有没有办法选择当前的DB 蒂娅 我目前正在使用11g和ODBC。完成此测试后,我会将Oracle更新为最新版本。在SQL Server中,“数据库”与“模式”同义:表、视图等对象的集合。在Oracle中,“数据库”与“服务器”或“实例”同义,即运行进程集及其支持的数据文件(单机、CDB或PDB)。在Oracle中,拥有对象(表等)的

全部,

在MS SQL Server和Sybase中,可以使用
use
选择服务器上的当前数据库

据我从谷歌上了解,甲骨文11只能有1分贝

但如果我有最新的Oracle,有没有办法选择当前的DB

蒂娅

我目前正在使用11g和ODBC。完成此测试后,我会将Oracle更新为最新版本。

在SQL Server中,“数据库”与“模式”同义:表、视图等对象的集合。在Oracle中,“数据库”与“服务器”或“实例”同义,即运行进程集及其支持的数据文件(单机、CDB或PDB)。在Oracle中,拥有对象(表等)的“用户”与“模式”同义,因此Oracle“用户”在概念上与SQL Server“数据库”相同。无论是使用OCI、ODBC还是JDBC客户端连接到Oracle,都必须始终选择实例(使用SID或服务名称)和用户/架构

要回答有关在Oracle中确定当前架构的问题,请执行以下操作:当连接到Oracle数据库实例时,current_schema session参数将确定如果您没有完全限定对象名称,Oracle默认将把查询指向哪个架构。可以使用以下命令进行设置:

alter session set current_schema=[username];
通过查询sys_上下文函数可以找到现有会话参数值:

select sys_context( 'userenv', 'current_schema' ) from dual;
select sys_context( 'userenv', 'session_user' ) from dual;
有关系统上下文的更多信息,请参见此处:

有关Oracle架构和SQL Server数据库如何比较的更多信息,请参阅dba.stackexchange.com和stackoverflow.com上以前关于该主题的文章:

在SQL Server中,“数据库”是“模式”的同义词:表、视图等对象的集合。在Oracle中,“数据库”是“服务器”或“实例”的同义词,即正在运行的进程集及其支持的数据文件(单机、CDB或PDB)。在Oracle中,拥有对象(表等)的“用户”与“模式”同义,因此Oracle“用户”在概念上与SQL Server“数据库”相同。无论是使用OCI、ODBC还是JDBC客户端连接到Oracle,都必须始终选择实例(使用SID或服务名称)和用户/架构

要回答有关在Oracle中确定当前架构的问题,请执行以下操作:当连接到Oracle数据库实例时,current_schema session参数将确定如果您没有完全限定对象名称,Oracle默认将把查询指向哪个架构。可以使用以下命令进行设置:

alter session set current_schema=[username];
通过查询sys_上下文函数可以找到现有会话参数值:

select sys_context( 'userenv', 'current_schema' ) from dual;
select sys_context( 'userenv', 'session_user' ) from dual;
有关系统上下文的更多信息,请参见此处:

有关Oracle架构和SQL Server数据库如何比较的更多信息,请参阅dba.stackexchange.com和stackoverflow.com上以前关于该主题的文章:


Oracle还有一套术语。现在我说的是11g。 DBMS是数据库+实例。 数据库是磁盘上的一组文件,它是您的软件、数据文件、控制文件等。 实例是一组进程和内存结构,它是您正在运行的程序。当您启动Oracle DBMS时,您启动实例,实例装载数据库并打开数据库。 它都在一台服务器上运行,因此在一台服务器上,您有一个Oracle DBMS,其中包含一个数据库和一个实例。 如果您有RAC,那么一个数据库可以有多个实例。这意味着,您有一台带有数据库的服务器和两台或多台带有实例的服务器,RAC将在实例之间同步内存结构、事务等。 因此,在Oracle 11g中,服务器上没有“当前数据库”。不同服务器上有一个数据库和一个或多个(如果您有RAC)实例。 连接到Oracle时,即连接到实例

Oracle 11中MS SQL Server的“数据库”分离是通过“模式”完成的。模式通常是用户,而数据库对象-表等属于模式==用户。当您连接到Oracle时,您将提供一个用户名,这将是您的默认模式,您将在其中保存数据库对象。可以使用“ALTERSESSION”更改您工作的模式


自从Oracle 12以来,就有了“可插拔数据库”——PDB。这意味着您有一个CDB容器数据库作为根数据库,并且可以将多个PDB插入一个CDB。这或多或少相当于MS SQL Server“数据库”。

Oracle还有一套术语。现在我说的是11g。 DBMS是数据库+实例。 数据库是磁盘上的一组文件,它是您的软件、数据文件、控制文件等。 实例是一组进程和内存结构,它是您正在运行的程序。当您启动Oracle DBMS时,您启动实例,实例装载数据库并打开数据库。 它都在一台服务器上运行,因此在一台服务器上,您有一个Oracle DBMS,其中包含一个数据库和一个实例。 如果您有RAC,那么一个数据库可以有多个实例。这意味着,您有一台带有数据库的服务器和两台或多台带有实例的服务器,RAC将在实例之间同步内存结构、事务等。 因此,在Oracle 11g中,服务器上没有“当前数据库”。不同服务器上有一个数据库和一个或多个(如果您有RAC)实例。 连接到Oracle时,即连接到实例

Oracle 11中MS SQL Server的“数据库”分离是通过“模式”完成的。模式通常是用户,而数据库对象-表等属于模式==用户。当您连接到Oracle时,您将提供一个用户名,这将是您的默认模式,您将在其中保存数据库对象。可以使用“ALTERSESSION”更改您工作的模式


自从Oracle 12以来,就有了“可插拔数据库”——PDB。这意味着您有一个CDB容器数据库作为根数据库,并且可以将多个PDB插入一个CDB。这或多或少相当于MS SQL Server“数据库”。

您可能正在查找
alter session