oracle如何找控制表,oracle表分析命令

如何查看oracle数据库中的所有表

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

成都创新互联公司专业为企业提供汉源网站建设、汉源做网站、汉源网站设计、汉源网站制作等企业网站建设、网页设计与制作、汉源企业网站模板建站服务,十多年汉源做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

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

SQLselect table_name from user_tables;

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

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

SELECT * FROM dba_tables

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

SELECT * FROM USER_TABLES

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

sql @e:\文件名.sql

如你想保存 select * from tablename;语句的结果,可以在sql*plus 里面这样:

SPOOL c:\test.sql //这是保存文件的位置

select * from tablename;

SPOOL OFF

oracle 中的控制文件和数据文件

1、数据文件:

Oracle数据库中每个表空间(tablespace)都是由一个或多个物理数据文件(datafile)构成的。

当一个数据文件(datafile)首次被创建时,为其分配的磁盘空间被格式化为Oracle格式,此时其中尚不包含任何用户数据。Oracle将使用这些空间存储属于(

与此数据文件对应的)表空间的段(segment),这些空间专为Oracle使用。随着表空间内的数据增长,Oracle使用数据文件中的可用空间为段分配新的数据扩展(extent)。

2、控制文件

控制文件(control

file)是一个二进制文件,供数据库启动及正常工作时使用。

在数据库运行过程中,控制文件会频繁地被Oracle修改,因此数据库处于开启(open)状态时控制文件必须可写。如果控制文件因故不能访问,数据库

也将无法正常工作。

每当添加,重命名,或移除数据库中的数据文件(datafile)及重做日志文件(redo

log

file)时,控制文件(control

file)就会被更新以反映这些数据库物理结构变化。

如何查看Oracle11g控制文件里面的内容

控制文件是一个2进制文件,不可以直接通过文本编辑器进行编写,由Oracle自己进行维护,可以通过以下命令查看其内容。

show parameter control_files;

desc v$controlfile;

在ORACLE如何查看自己建立的所有表,而不是系统表

在ORACLE如何查看自己建立的所有表,而不是系统表?1、 在计算机中,打开Oracle的连接程序,用新建的数据库管理员,进入【Oracle控制】的窗口上,鼠标左键单击【服务器】按钮,并选择【SQL工作表】,如下图所示。

2、接着,在【Oracle服务器】的窗口上,在输入窗口中输入SQL查询语句,并单击【执行】按钮,可以看到查询不到索引表,需要调整SQL语句,如下图所示。

3、然后,在【SQL工作表】的窗口上,输入查询索引表的SQL语句,可以作为参考,如下图所示。

4、 接着,在【SQL工作表】的窗口上,输查询索引表的SQL语句,并单击【执行】按钮,如下图所示。

5、然后,在【SQL工作表】的窗口上,可以看到SQL语句执行成功的提示信息,查询到用户的索引表中的字段,如下图所示。

6、接着,在【SQL工作表】的窗口上,修改索引表的名称,并单击【执行】按钮,如下图所示。

可以根据表建时间不同,来将你本人建的表和数据库自动建的表分开,虽然他们都是同一个用户建的。

在user_table表里没有建表时间这一字段,可以用user_objects这个表。

数据库系统建的表的时间和oracle发行版本有关,我的10.2.0.10版中这些都是2005-8-30建的,你本人建的表都大于这个时间。或者将范围缩更小些,找你最近两个月、一年建的表

具体的,如

select * from user_objects where object_type='TABLE' and create sysdate-30;

select * from user_objects where object_type='TABLE' and create to_date('2005-8-31','yyyy-mm-dd');

oracle怎么查询所有的表?有没有主键?

1、查找表的所有索引(包括索引名,类型,构成列):

select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表

2、查找表的主键(包括名称,构成列):

select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = 要查询的表

3、查找表的唯一性约束(包括名称,构成列):

select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table_name = 要查询的表

4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):

select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表

查询外键约束的列名:

select * from user_cons_columns cl where cl.constraint_name = 外键名称

查询引用表的键的列名:

select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名

5、查询表的所有列及其属性

select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 要查询的表

6、Oracle中每个用户表的表名和行数

select table_name,num_rows from user_tables;

7、Oracle查询用户表空间:select * from user_all_tables

8、Oracle查询所有函数和储存过程:select * from user_source

9、Oracle查询所有用户:

select * from all_users;

select * from dba_users

10、Oracle查看当前用户连接:select * from v$Session

11、Oracle查看当前用户权限:select * from session_privs

12、Oracle查看用户表空间使用情况:

select a.file_id "FileNo",a.tablespace_name

"Tablespace_name",

a.bytes "Bytes",a.bytes-sum(nvl(b.bytes,0)) "Used",

sum(nvl(b.bytes,0)) "Free",

sum(nvl(b.bytes,0))/a.bytes*100 "%free"

from dba_data_files a, dba_free_space b

where a.file_id=b.file_id(+)

group by a.tablespace_name ,

a.file_id,a.bytes order by a.tablespace_name;


当前文章:oracle如何找控制表,oracle表分析命令
标题来源:http://myzitong.com/article/dsdjshj.html