ORACLE数据字典user all dba
Oracle 常用数据字典、外键查询

查看当前用户的角色
SQL>select * from user_role_privs;
查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;
显示当前会话所具有的权限
from user_constraints a, user_cons_columns b
WHERE a.constraint_type='R'
and
a.r_constraint_name=b.constraint_name)
b
where a.r_constraint_name=b.r_constraint_name
SQL>select index_name,index_type,table_name from user_indexes order by table_name;
查看索引被索引的字段
SQL>select * from user_ind_columns where index_name=upper('&index_name'); 外键查询
select a.table_name 外键表名,a.column_name 外键列名,b.table_name 主键表名,b.column_name 主键列名
from
(select a.constraint_name,b.table_name,b.column_name,a.r_constraint_name
SQL>select * from session_privs;
数据库oracle知识点(自己整理的,可能部分有点小问题)11

1 oracle服务器由( oracle实例)和oracle数据库组成;2 下面哪个不是必需的后台进程(D)A SMONB LGWRC CKPTD ARCO3 用户进行增、删、改commit后,该记录存储的位置(备注:没有switch logfile)(A)A 联机日志文档B 归档日志文件C 数据文件D 联机日志文件和归档日志文件4 当oracle创建一个服务器进程的同时要为该服务器进程分配一个内存区,该内存区称为(程序全局区)5 简单阐述以下三种文件里面包含的内容?(控制文件、重做日志文件、数据文件)。
控制文件:包含维护和校验数据库一致性所需的信息重做日志文件:包含当系统崩溃后进行恢复所需记录的变化信息数据文件:包含数据库中真正的数据(以上答案仅供参考)6 以下说法错误的是(C)A PGA是一个私有的内存区,不能共享,且只属于一个进程B oracle实例是一种访问数据库的机制,它由内存结构和一些后台进程组成C oracle数据库物理存储结构是由控制文件,归档日志文件,数据文件三部分组成D 数据未被写到数据文件中,这些数据缓冲区被标为脏缓冲区7 获取参数SGA_MAX_SIZE需要利用的数据字典是( v$parameter )8 如果没有正常退出Oracle得情况下重新启动了所用的PC,由(B)负责它的清理工作A SMONB PMONC DBWRD LGWR9以下什么文件能确保Oracle系统在遇到数据文件丢失或损坏后可以完全恢复数据库中的数据?(C)A 联机日志文件B 数据文件C 归档日志文件D 控制文件10以下show parameter ( db_block_size)可以查看数据库块大小.11以下哪条命令可以显示emp表的表结构(D)A show empB select * from emp 查询表内容C show parameter v$empD desc emp显示表结构12使用任何方法创建一个数据库,Oracle都会自动创建两个超级用户system和(sys),它们也被称为数据库管理员用户13 SQL*Plus作为sysdba连接数据库的命令是:(conn / as sysdba)14请简单描述OEM(Oracle企业管理器)是什么OEM是一个功能强大而且操作简单的图形化数据库管理员工具。
Oracle查看所有用户及其权限

Oracle查看所有⽤户及其权限Oracle查看所有⽤户及其权限:Oracle数据字典视图的种类分别为:USER,ALL 和 DBA.USER_*:有关⽤户所拥有的对象信息,即⽤户⾃⼰创建的对象信息ALL_*:有关⽤户可以访问的对象的信息,即⽤户⾃⼰创建的对象的信息加上其他⽤户创建的对象但该⽤户有权访问的信息DBA_*:有关整个数据库中对象的信息(这⾥的*可以为TABLES,INDEXES,OBJECTS,USERS等。
)1、查看所有⽤户select * from dba_user;select * from all_users;select * from user_users;2、查看⽤户系统权限select * from dba_sys_privs;select * from all_sys_privs;select * from user_sys_privs;3、查看⽤户对象权限select * from dba_tab_privs;select * from all_tab_privs;select * from user_tab_privs;4、查看所有⾓⾊select * from dba_roles;5、查看⽤户所拥有的⾓⾊select * from dba_role_privs;select * from user_role_privs;6、查看当前⽤户的缺省表空间select username,default_tablespace from user_users;7、查看某个⾓⾊的具体权限如 grant connect,resource,create session,create view to TEST;8、查看RESOURCE具有那些权限SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='RESOURCEoracle创建⽤户需要什么权限,Oracle 创建普通⽤户,并赋予权限采⽤sys or system / manager assysdba; 连接数据库。
Oracle同义词详解(synonym)

Oracle同义词详解(synonym)Oracle 同义词详解(synonym)⼀、Oracle同义词概念 Oracle 数据库中提供了同义词管理的功能。
同义词是数据库⽅案对象的⼀个别名,经常⽤于简化对象访问和提⾼对象访问的安全性。
在使⽤同义词时,Oracle数据库将它翻译成对应⽅案对象的名字。
与视图类似,同义词并不占⽤实际存储空间,只有在数据字典中保存了同义词的定义。
在Oracle数据库中的⼤部分数据库对象,如表、视图、同义词、序列、存储过程、包等等,数据库管理员都可以根据实际情况为他们定义同义词。
⼆、Oracle同义词分类 Oracle同义词有两种类型,分别是公⽤Oracle同义词与私有Oracle同义词。
1)公⽤Oracle同义词:由⼀个特殊的⽤户组Public所拥有。
顾名思义,数据库中所有的⽤户都可以使⽤公⽤同义词。
公⽤同义词往往⽤来标⽰⼀些⽐较普通的数据库对象,这些对象往往⼤家都需要引⽤。
2)私有Oracle同义词:它是跟公⽤同义词所对应,他是由创建他的⽤户所有。
当然,这个同义词的创建者,可以通过授权控制其他⽤户是否有权使⽤属于⾃⼰的私有同义词。
三、Oracle同义词创建及删除 创建公有Oracle同义词的语法:Create [public] synonym 同义词名称 for [username.]objectName; Drop [public] synonym 同义词名称四、Oracle同义词的作⽤ 1) 多⽤户协同开发中,可以屏蔽对象的名字及其持有者。
如果没有同义词,当操作其他⽤户的表时,必须通过user名.object名的形式,采⽤了 Oracle同义词之后就可以隐蔽掉user名,当然这⾥要注意的是:public同义词只是为数据库对象定义了⼀个公共的别名,其他⽤户能否通过这个别名访问这个数据库对象,还要看是否已经为这个⽤户授权。
2) 为⽤户简化sql语句。
上⾯的⼀条其实就是⼀种简化sql的体现,同时如果⾃⼰建的表的名字很长,可以为这个表创建⼀个Oracle同义词来简化sql开发。
ORACLE11g试题答案(陈冬亮)

目录第一章 Oracle 11g 介绍......................................... 错误!未定义书签。
第二章 ORACLE 11g 的体系结构................................... 错误!未定义书签。
第三章 ORACLE 11g 的数据库管理................................. 错误!未定义书签。
第四章 ORACLE 11g 的表空间管理................................. 错误!未定义书签。
第五章 ORACLE 11g 的表管理..................................... 错误!未定义书签。
第六章 ORACLE 11g 的数据查询................................... 错误!未定义书签。
第七章 ORACLE 数据的基本操作................................... 错误!未定义书签。
第八章索引 ................................................... 错误!未定义书签。
第九章视图 ................................................... 错误!未定义书签。
第十章 PL/SQL基础............................................. 错误!未定义书签。
第十一章存储过程与函数........................................ 错误!未定义书签。
第十二章触发器 ............................................... 错误!未定义书签。
第十三章游标 ................................................. 错误!未定义书签。
Oracle数据库基础题库【含答案】

1、判断题,正确请写写"T",错误请写写"F",1、oracle数据库系统中,启动数据库的第一步是启动一个数据库实例。
( T )2、Oracle服务器端的监听程序是驻留在服务器上的单独进程,专门负责响应客户机的连接请求。
( F)3、oracle数据库中实例和数据库是一一对应的(非ORACLE并行服务,非集群)。
( T)4、系统全局区SGA 是针对某一服务器进程而保留的内存区域,它是不可以共享的。
( F )5、数据库字典视图ALL_***视图只包含当前用户拥有的数据库对象信息。
( F )8、数据字典中的内容都被保存在SYSTEM表空间中。
( T )9、HAVING后面的条件中可以有聚集函数,比如SUM(),AVG()等, WHERE 后面的条件中也可以有聚集函数。
( F )10、"上海西北京" 可以通过like ‘%上海_’查出来。
( F )11、表空间是oracle 最大的逻辑组成部分。
Oracle数据库由一个或多个表空间组成。
一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表空间。
( T )12、表空间分为永久表空间和临时表空间两种类型。
( T )13、truncate是DDL操作,不能 rollback。
( T )14、如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用WHERE语句。
( F )15、Oracle数据库中字符串和日期必须使用双引号标识。
( F )16、Oracle数据库中字符串数据是区分大小写的。
( T )17、Oracle数据库中可以对约束进行禁用,禁用约束可以在执行一些特殊操作时候保证操作能正常进行。
( F )18、为了节省存储空间,定义表时应该将可能包含NULL值的字段放在字段列表的末尾。
( T ) 20、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在结果中,那么这种连接是全外连接。
Oracle期末模拟题

Oracle期末模拟题一.单选题 13分1.Oracle数据库的恢复可分为两大类:Instance recovery和media recovery,其中前者是由(A)进程自动执行的?A.SMONB.PMONC.DBWND.LGWN2.显示数据库归档模式的数据字典是(C)A.V$ACCESSB.V$SESSIONC.V$ARCHIVELOGD.V$CONTEXT3.PL/SQL不包括以下哪一部分?(C)A.DECLAREB.BEGINC.ENDD.EXCEPTION4.增加外键约束的时候加()选项可以在子表记录存在的情况下直接删除父表记录,而不用受约束的限制;在delete语句的末尾加上(),就可以实现两张表的级删除。
(B)A.ON DELETE, \B. ON DELETE CASCADE, CASCADEC. ON DELETE, CASCADED. ON DELETE CASCADE, \5. select distinct name, id from A,这句语句去重的是(A),idC.idD.都没有去重6. select id, distinct name from A,这句语句的执行情况是(D)A.对id和name同时去重B.对name去重C.执行成功,但没有去重D.会提示错误,因为distinct必须放在开头7.若关系中的某一属性组的值能唯一地标识一个元组,我们称之为(B)A.主码B.候选码C.外码D.联系8.以下不属于数据模型的三要素的是(C)A.数据结构B.数据操纵C.数据控制D.完整性约束9.在Oracle的逻辑存储结构中,(A)是最小的I/O单元。
A.块B.区C.段D.表空间10.解析后的SQL语句在SGA的哪个区域中进行缓存?(C)A.数据缓冲区B.日志缓存区C.共享池D.大池11.如果一个服务进程非正常终止,Oracle系统将使用下列哪一个进程来释放它所占用的资源?(D)A.DBWRB.LGWRC.SMOND.PMON12.当数据库运行在归档模式下时,如果发生日志切换,为了保证不覆盖旧的日志信息,系统将启动如下哪个进程?(D)A.DBWRB.LGWRC.SMOND.ARCH13.如果服务器进程无法在数据缓冲区中找到空闲缓存块,以添加从数据文件中读取的数据块,则将启动如下哪一个进程?(D)A.CKPTB.SMONC.LGWRD.DBWR14.下列哪一个进程用于将修改过的数据从内存保存到磁盘数据文件中?(A)A.DBWRB.LGWRC.RECOD.ARCH15.SQL*Plus工具中,复制输出结果到文件的命令是(A)A.spollB.editC.describeD.get16.将SQL*Plus的显示结果输出到d:\data1.txt文件中的命令是(D)A.write to d:\data1.txtB.spool to d:\data1.txtC.spool on d:\data1.txtD.spoold:\data1.txt17.在SQL*Plus中执行刚输入的一条命令用(A)A.正斜杠(/)B.反斜杠(\)C.感叹号(!)D.句号(.)18.创建大文件表空间,使用(B)关键字A.temporaryB.bigfileC.undoD.blocksize19.()选项表示删除表空间的所有对象,()表示级联删除所有数据对象(C)A.including contents, including contentsB.including contents and datafiles, including contents and datafilesC.including contents, including contents and datafilesD.including contents and datafiles, including contents20.在自己的模式中创建一个新表,用户必须具有()系统权限,如果要在其他用户模式中创建表,则必须具有()系统权限。
Oracle数据字典

Oracle数据字典数据字典是Oracle数据库的核心组件,它是由一系列对于用户而言是只读的基础表和视图组成,它保存了关于数据库本身以及其中存储的所有对象的基本信息。
可以认为数据字典记录了数据库实例自身的重要信息。
对数据字典的管理和维护由Oracle系统负责,任何数据库用户都无法对数据字典中的内容进行修改,但是数据库用户可以查看数据字典中的内容。
为了方便用户查看数据字典中的信息,数据字典中的信息也是通过表和视图的形式组织起来的,数据字典和视图都保存在SYSTEM表空间中。
数据字典中的信息实际上中保存在基本表中的,并且只有Oracle系统才有权读取和写入基础表。
基础表中存储的信息通常是经过加密处理的。
视图是一种虚拟表,它本身并不包含数据,其中的数据是经过处理后基本表中的数据。
数据字典中视图的作用是将表中各种信息进行分类,以方便用户获取其中的数据。
大多数情况下,用户可以通过数据字典视图来获取与数据库相关的信息,而不需要访问数据字典表。
在Oracle实例运行期间,需要从数据字典表中读取信息,用于判断用户要访问的对象是否存在等信息。
同时,Oracle还不断地向数据字典表中写入数据,以反映用户对数据库、以及数据库中保存的各对象所做的修改。
例如,用户创建了一个表,这时系统将在数据字典中记录该表的结构信息、表在存储信息等。
对于数据库用户而言,数据字典中的视图好一本关于当前Oracle数据库的参考手册,可以通过SELECT语句查询。
数据库用户由于权限不同,所能访问的数据字典视图的数量和类型也不同。
用户所使用数据字典视图大致可以分为三类,并且各种类型的视图以不同名称的前缀表示。
这三类数据字典视图的介绍如下:●USER视图USER视图就是以USER_字符为名称前缀的数据字典视图。
每个数据库用户都有一组属于自己的视图,在USER视图中包含了属于该用户的所有对象的信息。
●ALL视图ALL视图就是以ALL_字符为名称前缀的数据字视图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
临时段等多个段组成,而作为非SYSTEM表空间,则因用途而异由不同段组成。
一个段(SEGMENT)由一组范围组成。一个范围(EXTENT)由一组连续的数据块组成。一个
数据块(DATABASE BLOCK)对应磁盘上的一个或多个物理块。
(3)SQLDBA>SELECT*FROM V$DBFILE;结果中,列名NAME即为数据文件名。
2.日志文件(REDO LOG FILES)
日志文件用于记录数据库所做的全部变更,以便在系统发生故障时进行恢复。每一个数
据库至少有两个日志文பைடு நூலகம்。
3.控制文件(CONTROL FILES)
控制文件虽然是一个较小的二进制文件,但很重要。如果控制文件一旦被破坏,则无法对
INIT-SQL-FILES 数据库建立时执行的命令文件
PROCESSES 多进程系统中最大进程数
数据库的物理结构
数据库的物理结构是面向操作系统的,它描述数据库中的数据的存储形式。在物理上OA
CLE数据库文件包括数据文件、日志文件和控制文件。
1.数据文件(DATA FILES)
ORACLE数据库中的数据,逻辑上存放在表空间里,但物理上却是存放在数据文件里的,数
1.对于非DBA用户
对于非DBA用户,有两条命令,即:
(1)SQL> SELECT * FROM ALL_USERS;
(2)SQL>SELECT * FROM USER_USERS;
其中,从USER-USERS表中,可以了解到该用户的默认表空间和临时表空间等信息。
2.对于DBA用户
对于DBA用户,有三条命令,即:
8、存储函数和过程
查看函数和过程的状态
SQL>select object_name,status from user_objects where object_type='FUNCTION';
SQL>select object_name,status from user_objects where object_type='PROCEDURE';
SQL>select object_name,object_id from user_objects
where instr(object_name,'LOG')>0;
查看某表的创建时间
SQL>select object_name,created from user_objects where object_name=upper('&table_name');
from user_constraints where table_name = upper('&table_name');
SQL>select c.constraint_name,c.constraint_type,cc.column_name
from user_constraints c,user_cons_columns cc
有的系统管理员有意无意地将数据库名和实例标识取相同的标识符,当然是可以的,有时甚至会带来某些方便,但笔者认为,还是取不同标识符为宜。
数据库的初始化参数文件
在数据库的建立和运行中,都要阅读一个初始化参数文件,它是个文本文件,可以用一般
的编辑程序编辑。
每一个数据库至少有一个初始化参数文件,一般命名为INIT.ORA,在UNIX系统下,按照缺
省规定,其初始化参数文件名的命名原则为INIT后紧跟实例的标识,再加ORA后缀,例如,某实
例标识为TEST,其初始化参数文件名为INITTEST.ORA。
数据库的初始化参数有100多个,前面提到的DB_NAME即是其中之一。此外,还有许多其他
参数,如
CONTROL-FILES 控制文件名
ROLLBACK-SEGMENTS 分配给实例的回滚段名
查看某表的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" fromuser_segments
wheresegment_name=upper('&table_name');
查看放在Oracle的内存区里的表
SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;
select default_tablespace,temporary_tablespace
from dba_users where username='GAME';
1、用户
查看当前用户的缺省表空间
SQL>select username,default_tablespace from user_users;
查看当前用户的角色
SQL>select * from user_role_privs;
查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;
显示当前会话所具有的权限
SQL>select * from session_privs;
SQL>select * from user_tab_privs;
查看用户下所有的表
SQL>select * from user_tables;
查看用户下所有的表的列属性
SQL>select * from USER_TAB_COLUMNS where table_name=:table_Name;
显示用户信息(所属表空间)
SQL>select text from user_views where view_name=upper('&view_name');
6、同义词
查看同义词的名称
SQL>select * from user_synonyms;
7、约束条件
查看某表的约束条件
SQL>select constraint_name, constraint_type,search_condition, r_constraint_name
显示指定用户所具有的系统权限
SQL>select * from dba_sys_privs where grantee='GAME';
显示特权用户
select * from v$pwfile_users;
显示用户信息(所属表空间)
select default_tablespace,temporary_tablespace
查看索引的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&index_name');
4、序列号
查看序列号,last_number是当前值
SQL>select * from user_sequences;
第三种是dba_为前缀的,可以查询所有表、视图等的相关信息。
首先可以用describe(desc)语句将对象的结构属性显示出来。比如desc all_users。会显示all_users这个用户的结构,有用户名(username),用户状态(account_status)等。然后用select 属性列 from 对象名即可查询具体属性的相关信息。
where c.owner = upper('&table_owner') and c.table_name = upper('&table_name')
and c.owner = cc.owner and c.constraint_name = cc.constraint_name
order by cc.position;
在数据库的逻辑结构中,表空间和回滚段比较重要,下面分别加以介绍。
1.表空间
每一个数据库都必须包含一个名为SYSTEM的表空间。该表空间在创建数据库时由系统自
动创建,为了保证数据库能正常运行,SYSTEM表空间必须处于在线状态。
具体语句如下:
查看当前用户的缺省表空间
SQL>select username,default_tablespace from user_users;
查看当前用户的角色
SQL>select * from user_role_privs;
查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
数据库进行操作。为防止控制文件被破坏,一般一个数据库应至少有二个控制文件,且分别放
在不同的磁盘上,控制文件的名字是记录在参数CONTROL_FILES中的。
数据库的逻辑结构
数据库的逻辑结构是面向用户的,数据库的逻辑结构包含表空间、段、范围、数据块和
模式对象。从逻辑上看数据库有以下特点。
一个数据库(DATABASE)由一个或多个表空间所组成。
1.数据库(DATABASE)
数据库是作为整体看待的数据集合,通常在安装ORACLE软件的最后阶段创建,用数据库名加以标识(允许1~8个字符),数据库名在创建数据库时确认,且保存在控制文件中。
2.实例(INSTANCE,也译作例程)
实例是存取和控制数据库的软件机制。它由系统全局区(System Global Area,即SGA)和ORACLE进程两部分组成,和数据库名一样,实例也要唯一标识,并且在安装ORACLE软件时确认。我们可以采用下述方法来了解实例标识。