觉得你应该先弄清楚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 查看有哪些数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)