Oracle 学习记录

数据字典
  
  每个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;


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

你可能感兴趣的:(oracle,数据库,object,user,table,database)