2.1 用户管理命令
1. 更改用户登录
命令格式:conn 用户名/密码[ AS SYSDBA ]
注意:如果连接的是超级管理员(SYS),必须写上AS SYSDBA
2. 用户加锁和解锁
加锁:SQL> alter user 用户名account lock;
解锁:SQL> alter user 用户名account unlock;
3. 更改用户密码
命令格式:SQL> alter user 用户名identified by 密码;
注意,如果忘记所有用户的密码,可启动SQL* Plus,输入以下命令:conn / as sysdba
2.2 其他常用命令
1. help 命令
SQL*Plus 有许多命令,而且每个命令都有大量的选项,要记住每一个命令的所有选项是很
困难的。SQL*Plus 提供了内建的帮助系统,可以使用HELP 命令查询相关的命令信息。
命令格式:SQL> help 命令名
示例:
查看conn 命令的帮助信息
SQL> help conn ;
查看SQL*Plus 的命令清单
SQL> help index ;
查看SQL*Plus 的关键字清单
SQL> help reserve words ;
2. describe 命令
describe 命令可以缩写为desc,用来列出表或视图各个列的名称以及属性。
命令格式:SQL> desc object_name ;
示例:查看scott 用户的emp 表的结构
SQL> desc scott.emp;
3. set linesize 命令
系统默认每行打印80 个字符,当SQL*Plus 输出linesize 指定数量的字符后,随后的数据就
会折叠到下一行显示。
命令格式:SQL> set linesize number
示例:
SQL> show linesize ;
SQL> set linesize 800 ;
4. set pagesize 命令
当SQL*Plus 执行查询语句时,set pagesize 命令可以设置一页显示的行数。
命令格式:SQL> set pagesize number
示例:
SQL> show pagesize ;
SQL> set pagesize 30 ;
5. pause 命令
如果在SQL*Plus 中运行的查询语句可以返回多行数据,以至于无法在窗口中一次显示完,
输出窗口会快速滚动显示。可以设置环境变量pause 为on 来控制显示完一页后暂停显示,
直到按回车键才继续显示下一页数据。
pause 选项还可以设置暂停后显示的字符串,以便提示用户。
命令格式:SQL> set pause on/off ;
SQL> set pause ‘按回车键继续’ ;
6.@命令
用于执行脚本文件。
命令格式:SQL> @文件名;
注意:需写文件路径;sql 文件的后缀可以不写。
7. 继续使用上次命令
命令格式:SQL> /
2.3 常用数据字典视图
数据字典是Oracle 数据库的核心组件,是数据库中的所有对象信息的知识库,提供了数据库结构、数据库对象空间分配和数据库用户等有关的信息。任何数据库用户都无法对数据字典中的内容进行修改,但可以查看数据字典中的内容。数据字典中的信息通过表和视图的形式组织。数据字典中的信息实际上保存在基础表中,只有Oracle 系统才有权读取和写入基础表。基础表中存储的信息通常是经过加密处理的。而视图是一种虚拟表,它本身并不包含数据,用户可以通过数据字典视图来获取信息,而不需访问数据字典表。
视图类型说明
USER 视图 USER 视图的名称以user_为前缀,用来记录用户对象的信息。例如user_tables 视图,它记录用户的表信息
ALL 视图 ALL 视图的名称以all_为前缀,是USER 视图的扩展。用来记录用户对象的信息以及被授权访问的对象信息。例如all_synonyms 视图,它记录用户可以存取的所有同义词信息
DBA 视图 DBA 视图的名称以dba_为前缀,用来记录数据库实例的所有对象的信息。例如dba_tables 视图,通过它可以访问所有用户的表信息
V$ 视图 V$视图的名称以v$为前缀,用来记录与数据库活动相关的性能统计动态信息。例如v$datafile 视图,它记录有关数据文件的统计信息
GV$ 视图 GV$视图的名称以gv$为前缀,用来记录分布式环境下所有实例的动态信息。例如gv$lock 视图,它记录出现锁的数据库实例的信息
基本数据字典视图
字典名称说明
dba_tables 所有用户的所有表的信息
dba_tab_columns 所有用户的表的字段信息
dba_views 所有用户的所有视图信息
dba_synonyms 所有用户的同义词信息
dba_sequences 所有用户的序列信息
dba_constraints 所有用户的表的约束信息
dba_indexes 所有用户的表的索引简要信息
dba_ind_columns 所有用户的索引的字段信息
dba_triggers 所有用户的触发器信息
dba_sources 所有用户的存储过程信息
dba_segments 所有用户的段的使用空间信息
dba_extents 所有用户的段的扩展信息
dba_objects 所有用户对象的基本信息
cat 当前用户可以访问的所有基表
tab 当前用户创建的所有基表、视图和同义词等
dict 构成数据字典的所有表的信息
与数据库组件相关的数据字典
数据库组件数据字典中的表或视图说明
数据库 v$datafile 记录系统的运行情况
表空间 dba_tablespaces 记录系统表空间的基本信息
dba_free_space 记录系统表空间的空闲空间的信息
控制文件 v$controlfile 记录系统控制文件的基本信息
v$controlfile_record_section 记录系统控制文件中记录文档段的信息
v$parameter 记录系统各参数的基本信息
数据文件 dba_data_files 记录系统数据文件以及表空间的基本信息
v$filestat 记录来自控制文件的数据文件信息
v$datafile_header 记录数据文件头部分的基本信息
段 dba_segments 记录段的基本信息
数据区 dba_extents 记录数据区的基本信息
日志 v$thread 记录日志线程的基本信息
v$log 记录日志文件的基本信息
v$logfile 记录日志文件的概要信息
归档 v$archived_log 记录归档日志文件的基本信息
v$archive_dest 记录归档日志文件的路径信息
数据库实例 v$instance 记录实例的基本信息
v$system_parameter 记录实例当前有效的参数信息
内存结构 v$sga 记录SGA 区的大小信息
v$sgastat 记录SGA 的使用统计信息
v$db_object_cache 记录对象缓存的大小信息
v$sql 记录SQL 语句的详细信息
v$sqltext 记录SQL 语句的语句信息
v$sqlarea 记录SQL 区的SQL 基本信息
后台进程 v$bgprocess 显示后台进程信息
v$session 显示当前会话信息
常用动态性能视图
视图名称说明
v$fixed_table 显示当前发行的固定对象的说明
v$instance 显示当前实例的信息
v$latch 显示锁存器的统计数据
v$librarycache 显示有关库缓存性能的统计数据
v$rollstat 显示联机的回滚段的名字
v$rowcache 显示活动数据字典的统计
v$sga 显示有关系统全局区的总结信息
v$sgastat 显示有关系统全局区的详细信息
v$sort_usage 显示临时段的大小及会话
v$sqlarea 显示SQL 区的SQL 信息
v$sqltext 显示在SGA 中属于共享游标的SQL 语句内容
v$stsstat 显示基本的实例统计数据
v$system_event 显示一个事件的总计等待时间
v$waitstat 显示块竞争统计数据
应用举例:
1 . 查看所有用户
SQL> SELECT username, account_status FROM dba_users ;
2. 查看SID
SQL> SELECT instance_name FROM v$instance;
3. 查看当前用户所有的表信息
SQL> SELECT * FROM tab ;
* table(表)view(视图)synonym(别名,与视图类似)
4. 查看所有用户的表信息
SQL> SELECT table_name , owner FROM dba_tables ;
5. 查看指定用户的表信息
SQL> SELECT table_name , owner FROM dba_tables where owner=’SCOTT’ ;