1.如何查询一个角色包括的权限?
?a.一个角色包含的系统权限
?select * from dba_sys_privs where grantee='CONNECT'
?或select * from role_sys_privs where role='CONNECT'
?b.一个角色包含的对象权限
?select * from dba_tab_privs where grantee='CONNECT'
?或select * from role_tab_privs where role='CONNECT'
2.oracle究竟有多少种角色?
?select * from dba_roles
3.如何查看某个用户具有什么样的角色?
?select * from dba_role_privs where grantee='SYS'
4.如何显示当前用户可以访问的所有数据字典视图?
?select * from dict where comments like '%grant%'
5.如何显示当前数据库的全称?
?select * from global_name?
6.知道表空间名,显示该表空间包括的所有表
?select * from all_tables where tablespace_name='表空间名'?
7.知道表名,显示该表所属的表空间
?select tablespace_name,table_name from user_tables where table_name='表名'
8.查看oracle的SGA,PGA,排序区,大型池,JAVA池的大小
?show parameter sga_max_size;
?show parameter pga_aggregate_target;
?show parameter sort_area_size;
?show parameter large_pool_size;
9.oracl存储结构:? ? ? ? ? ? ? ? 实例结构:?
?1.物理存储结构(数据文件*.dbf,控制文件*.ctl,重做日志文件*.log)? 1.内存结构
?2.逻辑存储结构? ? ? ? ? ? ? 2.进程结构?
10.数据文件*.dbf
?保存表中的记录和索引等所有的数据,
?查看数据文件信息select file_name from dba_data_files;
11.控制文件*.ctl
?二进制文件,很小,存放数据文件和日志文件的信息
?查看控制文件信息select name from V$controlfile
12.重做日志文件*.log
?记录数据库修改信息的文件
13.表空间
?表空间是oracle中最大的逻辑存储结构,它与物理上的一个活多个数据文件相对应,每个oracle数据库
?至少拥有一个表空间,表空间的大小等于该表空间的所有数据文件大小的总和,表空间用于存储用户在
?数据库中创建的所有内容,用户在创建表时,可以指定一个表空间存储该表,若没有指定表空间,则oracle
?系统将会将用户创建的内容存储到默认的表空间中
14.系统默认创建的表空间
?1.system 用于存储系统的数据字典,系统的管理信息和用户数据表等
?2.sysaux 辅助系统表空间,用于减少系统表空间的负荷,提高系统作业效率
?3.temp 临时表空间
?4.undotbsl 撤销表空间
?5.users 用户表空间,用于存储永久性用户对象和私有信息?
?查看系统的表空间select tablespace_name from dba_tablespaces;
15.数据字典
? 保存数据库对象和段的信息,如表,视图,索引,包,存储过程以及用户,权限,角色,审计和约束等相关信息?
? 数据字典视图类型:
? 2.all视图:记录用户对象的信息以及被授权访问的对象信息,如all_synonyms
? 3.dba视图:记录数据库实例的所有对象的信息,如dba_tables
? 4.V$视图:记录与数据库活动相关的性能统计动态信息,如v$datafile
? 5.GV$视图:记录分布式环境下所有实例的动态信息,如gv$lock视图
? 基本的数据字典;
? dba_tables:所有用户的所有表的信息
? dab_tab_columns:所有用户的表的字段的信息
? dba_views:所有用户的所有视图信息
? dba_synonyms:所有用户的同义词信息
? dba_sequences:所有用户的序列信息
? dba_constraints:所有用户的表的约束信息
? dba_indexes:所有用户的表的索引简要信息
? dba_ind_columns:所有用户的索引的字段信息
16.查看默认连接的数据库
?select name from v$database;
17.连接数据库的3种方式
?1.通过sqlplus连接数据库
?2.通过cmd连接数据库,如sqlplus system/123456@XE?
?3.通过登录后切换登录用户的方式,如 connect sys/123456 as sysdba;
?如何查看当前登录的用户是谁?select user from dual;?
18.sql*plus命令
?1.help,查看命令的使用方法,如help desc
?2.host 从sql*plus环境切换到操作系统环境,以便执行操作系统的命令
?3.clear screen清屏
?4.show [all|user|sga|errors|release|parameter]查看sql*Plus的所有系统变量信息,当前是那个用户在
?在使用SQL*Plus,显示SGA的大小,显示错误信息,显示数据库版本号,系统初始化参数信息
?5.describe查看表,视图,存储过程,函数和包等对象的结构
?6.A[PPEND] text 将text附加到当前行之后
?7.CL[EAR] BUFF[ER]清除缓冲区中的所有行
?8.C[HANGE] /old/new 将当前行中的old替换为new
?9.I[NPUT text 插入指定的文本text
?10.DEL m n 删除从第m行到n行之间的命令行
?11.L[IST] n 列出第n行
?12.R[UN]或/ 显示缓冲区中的语句,并运行这些语句
?13.n 将第n行当做当前行
?14.n text 使用text文本替换第n行信息
?15.0 text在第一行之前插入text文本
?16.save SAV[E] [FILE]file_name [CRE[ATE]|REP[LACE]|APP[END]]将缓冲区的内容保存起来
? 如:save E:\query.sql
?17.GET [FILE] file_name [LIST|NOLIST]获取save命令保存的命令
?18.START读取文件内容到缓冲区中并运行 如:START E:\query.sql或者用@代替START? @E:\query.sql
?19.ED[IT] [file_name]打开记事本编辑缓冲区文件
?20.SPO[OL] [file_name [CRE[ATE]|REP[LACE]|APP[END]]|OFF|OUT]将SQL*PLUS中的输出结果
? ? 复制到另一个指定的文件中,如SPOOL D:\query.sql append
19.临时变量?
20.已定义变量
?DEF[INE]显示所有的已定义变量
?DEF[INE] variable=value
?ACC[EPT] variable 用户输入变量 如:ACCEPT test NUMBER FORMAT 9999 P