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://scyanting.com/article/dsdjshj.html