您的位置:首页 > 数据库 > Oracle

Oracle 学习记录

2012-05-18 09:28 183 查看
数据字典

  

  每个Oracle数据库包括一个被称为“元数据”的集合,或者说包含用来描述数据库有关数据结构的数据。包含这些元数据的表和视图称为Oracle数据字典。

  

  数据字典中有前缀V$或GV$的表是动态表,它们会不断更新以反映出Oracle数据库当前的状态。静态数据字典表都有一个形如DBA_、ALL_或USER_的前缀,表示该视图中列出的对象范围。

  

  数据库组件      数据库字典中的表和视图

  数据库        V$DATABASE

  表空间        DBA_TABLESPACE,DBA_DATA_FILES,DBA_FREE_SPACE

  控制文件       V$CONTROLFILE,V$PARAMETER,V$CONTROLFILE_RECORD_SECTION

  数据文件       V$DATAFILE,V$DATAFILE_HEADER,V$FILESTAT,DBA_DATA_FILES

  段          DBA_SEGMENTS

  数据范围       DBA_EXTENTS

  日志线程、日志组和  V$THREAD,V$LOG,V$LOGFILE

  日志序列号

  归档状态       V$DATABASE,V$LOG,V$ARCHIVED_LOG,V$ARCHIVE_DEST

  数据库实例      V$INSTANCE,V$PARAMETER,V$SYSTEM_PARAMETER

  内存结构       V$SGA,V$SGASTAT,V$DB_OBJECT_CACHE,V$SQL,V$SQLTEXT,V$SQLAREA

  后台进程       V$BGPROCESS,V$SESSION

oracle查询用户信息

1. 查询oracle中所有用户信息

select * from dba_users;

2. 只查询用户和密码

select username,password from dba_users;

3. 查询当前用户信息

select * from dba_ustats;

4. 查询用户可以访问的视图文本

select * from dba_varrays;

5. 查询数据库中所有视图的文本

select * from dba_views;

  查看当前用户的缺省表空间

  select username,default_tablespace from user_users

  查看当前用户的角色

  select * from user_role_privs

  查看当前用户的系统权限和表级权限

  select * from user_sys_privs

  select * from user_tab_privs

  查看用户下所有的表

  select * from user_tables

  显示用户信息(所属表空间)

  select default_tablespace,temporary_tablespace from dba_users

  显示当前会话所具有的权限

  select * from session_privs

  显示指定用户所具有的系统权限

  select * from dba_sys_privs

  显示特权用户

  select * from v$pwfile_users

  查看名称包含log字符的表

  select object_name,object_id from user_objects where instr(object_name,'log')>0

  查看某表的创建时间

  select object_name,created from user_objects where object_name='ZW_YINGYEZ'

  查看某表的大小

  select sum(bytes)/(1024*1024) tablesize from user_segments

  where segment_name='ZW_YINGYEZ'

  查看放在ORACLE的内存区里的表

  select table_name,cache from user_tables where instr(cache,'Y')>0

  查看索引个数和类别

  select index_name,index_type,table_name from user_indexes order by table_name

  查看索引被索引的字段

  select * from user_ind_columns where table_name='CB_CHAOBIAOSJ201004'

  查看索引的大小

  select sum(bytes)/(1024*1024) as indexsize from user_segments

  where segment_name=upper('AS_MENUINFO')

  查看视图信息

  select * from user_views

  查看同义词的名称

  select * from user_synonyms

  查看函数和过程的状态

  select object_name,status from user_objects where object_type='FUNCTION'

  select object_name,status from user_objects where object_type='PROCEDURE'

  查看函数和过程的源代码

  select text from all_source where owner=user and name='SF_SPLIT_STRING'

  查看表字段

  select cname from col where tname='ZW_YINGYEZ'

  select column_name from user_tab_columns where table_name='ZW_YINGYEZ'

***************************************************************************************

##########启动oracle

1.linux下启动oracle

startup

2. linux下关闭oracle

shutdown immediate

3、启动监听器

> lsnrctl start

4、停止监听器

> lsnrctl stop

5、查看监听器状态

> lsnrctl

LSNRCTL> status

LSNRCTL> exit

误删数据库表空间解决办法:

sqlplus /nolog

conn /as sysdba

startup

alter tablespace XXX offline;

alter database datafile 'xxx.dbf' offline drop;

alter database open;

*************************************************************************************
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: