如何查询oracle下的所有数据库

如何查询oracle下的所有数据库,第1张

觉得你应该先弄清楚oracle的常规数据字典的结构,像9i里的常规数据字典中对象名称就有以user,all,dba为前缀的对象。

以user为例,我们查该对象下有些什么表,就应该执行下列的语句:

sql>select

table_name

from

user_tables;

类似的,你可以进行替换。:)

如果你想查数据库中所有的表的话,可以查询

select

from

dba_tables

如果你想查询数据库中某个用户下的表的话,也可以登录这个用户,再查询:

select

from

user_tables

要想导入外部sql语句可以用命令

sql

>@e:\文件名sql

如你想保存

select

from

tablename;语句的结果,可以在sqlplus

里面这样:

spool

c:\testsql

//这是保存文件的位置

select

from

tablename;

spool

off

在实际的工作中,数据库管理员(DBA)需要经常要定时对数据库的连接情况进行检查,查看与数据库建立的会话数目是不是正常,假如建立了过多的连接,会消耗许多数据库的资源。与此同时,针对一些“挂死”的连接,可能会需要DBA自行手工进行清理。

下面的SQL语句列出当前数据库建立的会话情况:

select sid,serial#,username,program,machine,status

from v$session;

输出的结果:

SID SERIAL# USERNAME PROGRAM MACHINE STATUS

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

1 1 ORACLEEXE WORK3 ACTIVE

2 1 ORACLEEXE WORK3 ACTIVE

3 1 ORACLEEXE WORK3 ACTIVE

4 1 ORACLEEXE WORK3 ACTIVE

5 3 ORACLEEXE WORK3 ACTIVE

6 1 ORACLEEXE WORK3 ACTIVE

7 1 ORACLEEXE WORK3 ACTIVE

8 27 SYS SQLPLUSEXE WORKGROUP\WORK3 ACTIVE

11 5 DBSNMP dbsnmpexe WORKGROUP\WORK3 INACTIVE

其中SID 会话(session)的ID号;

SERIAL# 会话的序列号,和SID一起用来唯一标识一个会话;

USERNAME 建立该会话的用户名;

STATUS 当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何 *** 作;

假如要手工断开某个会话,则执行:

alter system kill session 'SID,SERIAL#';注意:在上面的示例中,SID为1到7(USERNAME列为空)的会话,它是Oracle数据库的后台进程,请大家不要对这些会话进行任何 *** 作。

1、su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。

2、sqlplus /nolog 或sqlplus system/manager 或/sqlplus ;

3、SQL>connect / as sysdba ;(as sysoper)或

connect internal/oracle AS SYSDBA ;(scott/tiger)

conn sys/change_on_install as sysdba;

4、SQL>startup; 启动数据库实例

5、 查看当前的所有数据库: select from v$database;

select name from v$database;

desc v$databases; 查看数据库结构字段

7、怎样查看哪些用户拥有SYSDBA、SYSOPER权限:

SQL>select from V_$PWFILE_USERS;

Show user;查看当前数据库连接用户

8、进入test数据库:database test;

9、查看所有的数据库实例:select from v$instance;

如:ora9i

10、查看当前库的所有数据表:

SQL> select TABLE_NAME from all_tables;

select from all_tables;

SQL> select table_name from all_tables where table_name like ‘u’;

TABLE_NAME———————————————default_auditing_options

11、查看表结构:desc all_tables;

12、显示CQIT_BBS_XUSER的所有字段结构:

desc CQIT_BBS_XUSER;

13、获得CQIT_BBS_XUSER表中的记录:

select from CQIT_BBS_XUSER;

14、增加数据库用户:(test11/test)

create user test11 identified by test default tablespace users Temporary TABLESPACE Temp;

15、用户授权:

grant connect,resource,dba to test11;

grant sysdba to test11;

commit;

16、更改数据库用户的密码:(将sys与system的密码改为test)

alter user sys indentified by test;

alter user system indentified by test;

oracle有自带的数据字典的

dba_tables(查看所有用户下的表信息)

all_tables(如果不是dba用户登录的,看当前用户以及所有可以看到用户下的表信息)

user_tables(查看当前用户下所有表信息);

你可以先desc

一下,看下你具体关心哪一个字段

通过配置本地数据库的tns配置文件实现:

去oracle安装目录下oracle\product\1020\db_2\NETWORK\ADMIN\ 找到tnsnamesora,用记事本打开,里边有远程数据库的tns连接配置串如下

ORCL23 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192168323)(PORT = 1521))

)

(CONNECT_DATA =

(SID = ORCL)

)

)

添加好ip、端口和目标数据库的实例名(SID),然后确保tns名称(ORCL23)在整个文档中唯一,保存后打开数据库连接工具,输入远程数据库上的用户名密码,选择数据库对象为你配置的连接名就可以了。

以上就是关于如何查询oracle下的所有数据库全部的内容,包括:如何查询oracle下的所有数据库、怎么查看oracle当前数据库、oracle 查看有哪些数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存