Oracle数据库的基本操作语句
本文主要介绍了Oracle数据库基本的管理数据库的语句及其概念
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.数据字典
保存数据库对象和段的信息,如表,视图,索引,包,存储过程以及用户,权限,角色,审计和约束等相关信息
数据字典视图类型:
1.user视图:记录用户对象的信息,如user_tables
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 PROMPT '你好,输入一个值' HIDE
21.COLUMN
22.PAGESIZE SET PAGESIZE 20;
23.LINESIZE SET LINESIZE 120;
24.创建简单报表
TTI[TLE]设置页眉
BTI[TLE]设置页脚
25.BREAK和COMPUTE命令
26.创建表空间
如:create tablespace myspace datafle 'D:\app\myspace.dbf' size
10M autoextend on next 5M maxsize 100M;
27.表空间的状态属性
1.在线online alter tablespace tablespace_name online;
2.离线offline alter tablespace tablespace_name offline parameter(normal|temporary|immediate|for recover);
3.只读read only alter tablespace tablespace_name read only
4.读写read write alter tablespace tablespace_name read write
28.修改表空间的大小
1.修改表空间数据文件的大小 ALTER DATABASE DATAFILE file_name(完整路径) RESIZE newsize K|M
2.增加表空间的数据文件 ALTER TABLESPACE tablespace_name ADD DATAFILE file_name SIZE number K|M
3.修改表空间中数据文件的自动扩展性 ALTER DATABASE DATAFILE file_name AUTOEXTEND ON
29.表空间数据文件的状态
1.ONLINE
2.OFFLINE
3.OFFLINE DROP
30.移动表空间中的数据文件
1.ALTER TABLESPACE tablespace_name OFFLINE
2.移动数据文件到另一个磁盘
3.RENAME DATAFILE '数据文件路径1’ TO '数据文件路径2'
4.ALTER TABLESPACE tablespace_name ONLINE
31.重命名表空间
在表空间为ONLINE的情况下,ALTER TABLESPACE tablespace_name RENAME TO new_tablespace_name
32.删除表空间
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES
33.创建临时表空间
CREATE TEMPORARY TABLESPACE mytemp TEMPFILE 'D:\mytemp.dbf' SIZE 5M AUTOEXTEND ON NEXT 5M MAXSIZE 20M
34.修改临时表空间
35.临时表空间组
查看临时表空间组信息
36.大文件表空间
CREATE BIGFILE TABLESPACE tablespace_name DATAFILE '路径' SIZE 10M