怎么查看oracle当前使用的是哪个数据库sid

怎么查看oracle当前使用的是哪个数据库sid,第1张

用sysdba身份登录 比如 conn / as sysdba 匿名管理员登陆

执行 select name form V$database; 或是执行select from V$database;

不过执行第二个显示的内容太多了不好找自己想要的结果

可以先用desc V$database;语句查看一下V$database都有什么字段然后选择自己想要的字段进行选择

查看实例名称(sid):

select instance_name from V$instance;

一般默认情况下sid与数据库的名称是一样的!

C:\Documents

and

Settings\Administrator>sqlplus

/nolog

SQLPlus:

Release

102010

-

Production

on

星期一

3月

5

14:11:06

2012

Copyright

(c)

1982,

2005,

Oracle

All

rights

reserved

SQL>

conn

as

sysdba;

请输入用户名:

sys

输入口令:

已连接。

SQL>

select

name

from

v$database;

NAME

---------

ORCL

查看实例名称(sid):

select instance_name from  V$instance;

查看service_name :

show parameter service

查看当前会话的session ID 有如下三种方法:

1 v$mystat视图

SQL> select sid from v$mystat where rownum=1;

SID

----------

1152

2 使用userenv(‘sid’) 直接获取

这种方法只能在oracle 10g以后可以使用。

SQL> select userenv('sid') from dual;

USERENV('SID')

--------------

1152

3 结合 userenv('sessionid') 与 v$session 视图

userenv('sessionid') 返回的是session audit id其对应v$session 的audsid字段。

在session 连接到数据库的时候,会从SYSAUDSES$序列中获取一个audid 分配给session。

SQL> select sid from v$session where audsid=userenv('sessionid');

SID

----------

773

1152

--这里返回了2个值,直接查看userenv('sessionid') 值:

SQL> select userenv('sessionid') from dual;

USERENV('SESSIONID')

--------------------

4294967295

对于internal用户(’/as sysoper’ 和 ‘/as sysdba’)和后台进程,其对应的AUDID 为0

在Oracle 10g中,如果AUDID的值为0,表明是internal 用户,如果AUDID 值是4294967295,那么就表明是用SYS 用户直接连接的。

这里返回三个结果是把所有SYS 用户的session都返回了,所以这种方法有时的准确性并不高。

#!/bin/bash

v_var=`sqlplus username/passwd <<eof

set heading off;

select sid from dba_jobs_running where THIS_DATE> sysdate-2/24;

eof

`

如果你测试成功一定给分啊!注意是左引号!

你好,当安装好oracle后,忘记了SID可通过如下途径取得。1、 *** 作系统中查看:在安装oracle的用户中找到bash_profile配置文件,其中有一行export ORACLE_SID = your_current_sid就是oracle的SID也可通过目录文件名 oracle/product/1020/db_1/dbs/SPFILESID名称ORA 查看SID2、oracle系统查看:登录oracle( as sysdba )运行以下查看:select instance_name from v$instance;希望以上能帮助到你 ^_^

端口就一个,参考以下:

(不知道TNSName里面是什么状况,以下文章是我转过来的,希望对你有帮助)

一、要求:两个实例名(INSTANCE_NAME)不同,数据库名(DB_NAME)相同

二、OS:WIN200SERVER

三、数据库:ORACLE9201 源数据库名(DB_NAME):STUDY 源数据库实例名:study 克隆数据库名:STUDY 克隆数据库实例名:test

四、具体实施步骤:

1、关闭源数据库 考备数据文件、控制文件、参数文件以及 建立bdump,udmp等相应文件夹。

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL>

d:\oracle\admin\test\bdump

d:\oracle\admin\test\pfile

d:\oracle\admin\test\create

d:\oracle\admin\test\cdump

d:\oracle\admin\test\udump

数据文件存放:

D:\oracle\oradata\test\

2、修改克隆数据库参数文件:

大部分参数据与源数据库相同,主要修改的参数为:

Instance_name=test

Controlfiles=(‘d:\oracle\oradata\test\control01tcl’, ‘d:\oracle\oradata\test\control01tcl’, ‘d:\oracle\oradata\test\control01tcl’)

background_dump_dest='d:\oracle\admin\test\bdump'

core_dump_dest='d:\oracle\admin\test\cdump'

user_dump_dest='d:\oracle\admin\test\udump'

需要添加参数:

lock_name_space=test (说明: 指定分布式锁管理器 (DLM) 用来生成锁名称的命名空间。如果同一个簇上存在一个同名的备用数据库或克隆数据库,

db_file_name_convert='d:\oracle\oradata\study\',' d:\oracle\oradata\test\'

log_file_name_convert='d:\oracle\oradata\study\',' d:\oracle\oradata\test\'

(db_file_name_convert: 说明: 将主数据库上的一个新数据文件的文件名转换为备用数据库上的文件名。 值范围: 一个有效的主/备用目录和文件名对

log_file_name_convert: 说明: 将主数据库上的一个日志文件的文件名转换为备用数据库上对等的路径LOG_FILE_NAME_CONVERT 参数。 值范围: 任何格式为 ''主体日志文件的路径/文件名)

同时要注意修改一下两个参数据文件中关于SGA 的一些参数,防止超出内存最大范围

3、创建克隆数据库WIN服务

C:\>oradim –new –sid test

4、启动克隆数据库

C:\>set oracle_sid=test

C:\>sqlplus /nolog

SQLPlus: Release 92010 - Production on 星期二 11月 22 15:41:26 2005

Copyright (c) 1982, 2002, Oracle Corporation All rights reserved

SQL>conn /as sysdba

已连接到空闲例程。

SQL> startup nomount pfile='d:\oracle\admin\test\pfile\inittestora'

ORACLE 例程已经启动。

Total System Global Area 101784276 bytes

Fixed Size 453332 bytes

Variable Size 75497472 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

SQL>alter database mount

数据库已更改。

SQL> alter database rename file 'D:\ORACLE\ORADATA\STUDY\TOOLS01DBF' to ' D:\ORACLE\ORADATA\TEST\TOOLS01DBF ';

数据库已更改

按以上方法将其他数据文件。日志文件的路径RENAME

SQL> alter database open;

数据库已更改

5、检验克降数据库

SQL> show parameter instance_name

NAME TYPE VALUE

------------------------------------ ----------- ----------

instance_name string bak

SQL>show parameter db_name

db_name string study

SQL>

至此整个实验完成!

oracle查看当前有哪些用户连接,可以执行以下语句:

select username,serial#, sid from v$session; ---查询用户会话

alter system kill session 'serial#, sid ';---删除相关用户会话

建议以后台登陆删除用户会话

1、查询oracle的连接数

select count() from v$session;

2、查询oracle的并发连接数

select count() from v$session where status='ACTIVE';

3、查看不同用户的连接数

select username,count(username) from v$session where username is not null group by username;

4、查看所有用户:

select from all_users;

5、查看用户或角色系统权限(直接赋值给用户或角色的系统权限):

select from dba_sys_privs;

select from user_sys_privs;

以上就是关于怎么查看oracle当前使用的是哪个数据库sid全部的内容,包括:怎么查看oracle当前使用的是哪个数据库sid、ROOT用户下登录ORACLE如何查看SID、怎样查看Oracle的sid和service等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/10130727.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存