连接oracle数据库工具有哪些

连接oracle数据库工具有哪些,第1张

对于Oracle数据库管理:

Oracle自带的套件里有pl/sql

plus,基于命令行的;企业管理器,基于GUI/WEB

UI(在11g中)的。

第三方工具有pl/sql

Developer,容易上手,但不能完成一些非常底层的管理功能;Toad

for

oracle,功能比前者强大些,使用起来也相对复杂些。

对于开发人员,一般考虑团队实际情况,选择一种第三方工具;对于DBA管理人员,pl/sql

plus是必须的,再适应开发团队掌握相应的第三方工具;至于企业管理器,在少些时候可以图个 *** 作方便。

SQL SERVER连接oracle数据库几种方法

--1 方式

--查询oracle数据库中的表

SELECT *

FROM OPENDATASOURCE(

'MSDAORA',

'Data Source=GE160User ID=DAIMINPassword=DAIMIN'

)..DAIMIN.JOBS

--在sqlserver中创建与oracle数据库中的表同名的表

select * into JOBS from

OPENDATASOURCE(

'MSDAORA',

'Data Source=GE160User

ID=daiminPassword=daimin'

)..DAIMIN.JOBS

select * from JOBS

--2、方式

--在master数据库中查看已经存在的链接服务器

select * from sysservers

EXEC sp_addlinkedserver

@server = 'GE160',

@srvproduct = 'Oracle',

@provider = 'MSDAORA',

@datasrc = 'GE160'

exec sp_addlinkedsrvlogin 'GE160', false, 'sa', 'daimin', 'daimin'

--要在企业管理器内指定登录帐号

exec sp_dropserver GE160

select * from GE160..DAIMIN.JOBS

delete from GE160..DAIMIN.JOBS

--备注:引用ORACLE服务器上的表时,用户名称与表名一定要大写字母。

SELECT *

FROM OPENQUERY(GE160, 'SELECT * FROM DAIMIN.JOBS')

--3、方式

SELECT a.*

FROM OPENROWSET('MSDAORA',

'GE160''DAIMIN''DAIMIN',

DAIMIN.JOBS) AS a

ORDER BY a.JOB_ID

--4、方式 ODBC

--ODBC方式比较好办

SELECT A.*

FROM

OPENROWSET('MSDAORA','GE160''DAIMIN''DAIMIN', --GE160是数据源名

DAIMIN.JOBS) AS

A

ORDER BY A.JOB_ID

可直接在 v$session视图中查询。

语句如:

select * from v$session where username='用户名'

其中用户名应为英文大写字母。如图:

以下为视图各字段说明:

SADDR - session address

SID - session identifier 常用于链接其他列

SERIAL# - SID有可能会重复,当两个session的SID重复时,SERIAL#用来区别session(说白了某个session是由sid和serial#这两个值确定的)

AUDSID - audit session id。可以通过audsid查询当前session的sid。select sid from v$session where audsid=userenv('sessionid')

PADDR - process address,关联v$process的addr字段,通过这个可以查询到进程对应的session

USER# - 同于dba_users中的user_id,Oracle内部进程user#为0.

USERNAME - session's username。等于dba_users中的username。Oracle内部进程的username为空。

COMMAND - session正在执行的sql id,1代表create table,3代表select。

TADDR - 当前的transaction address。可以用来关联v$transaction中的addr字段。

LOCKWAIT - 可以通过这个字段查询出当前正在等待的锁的相关信息。sid + lockwait与v$loc中的sid + kaddr相对应。

STATUS - 用来判断session状态。Active:正执行SQL语句。inactive:等待 *** 作。killed:被标注为杀死。

SERVER - 服务类型。

SCHEMA# - schema user id。Oracle内部进程的schema#为0。

SCHEMANAME - schema username。Oracle内部进程的为sys。

OSUSER - 客户端 *** 作系统用户名。

PROCESS - 客户端process id。

MACHINE - 客户端machine name。

TERMINAL - 客户端执行的terminal name。

PROGRAM - 客户端应用程序。比如ORACLE.EXE或sqlplus.exe

TYPE - session类型。

SQL_ADDRESS,SQL_HASH_VALUE,SQL_ID,SQL_CHILD_NUMBER - session正在执行的sql状态,和v$sql中的address,hash_value,sql_id,child_number对应。

PREV_SQL_ADDR,PREV_HASH_VALUE,PREV_SQL_ID,PREV_CHILD_NUMBER - 上一次执行的sql状态。

MODULE,MODULE_HASH,ACTION,ACTION_HASH,CLIENT_INFO - 应用通过DBMS_APPLICATION_INFO设置的一些信息。

FIXED_TABLE_SEQUENCE

- 当session完成一个user

call后就会增加的一个数值,也就是说,如果session挂起,它就不会增加。因此可以根据这个字段来监控某个时间点以来的session性能情况。例如,一个小时前某个session的此字段数值为10000,而现在是20000,则表明一个小时内其user

call较频繁,可以重点关注此session的performance statistics。

ROW_WAIT_OBJ# - 被锁定行所在table的object_id。和dba_object中的object_id关联可以得到被锁定的table name。

ROW_WAIT_FILE# - 被锁定行所在的datafile id。和v$datafile中的file#关联可以得到datafile name。

ROW_WAIT_BLOCK# - 同上,对应块。

ROW_WAIT_ROW# - session当前正在等待的被锁定的行。

LOGON_TIME - session logon time.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9945143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存