当前位置:文档之家› Oracle数据库应用

Oracle数据库应用

Oracle账户解锁
Oracle数据库自带了许多账户,但默认情况下,Oracle只对其中5个账户进行了解锁,分别是sys、system、dbsnmp、sysman和mgmt_view,而其他账户出于锁定状态,其中sys、system具有管理员权限。

查看Oracle账户的锁定状态:
SQL>select username, account_status from dba_users;
(expired)表示账户为过期状态(需要设置口令才能解除此状态)
SQL>alter user scott account unlock;
SQL>alter user scott identified by tiger;
(为scott账户设置口令)
SQL>select username, account_status from dba_users where username = 'SCOTT'; (通过数据字典dba_users查看scott账户的状态)
Oracle数据库体系结构
一般Oracle数据库在物理上主要由3种类型的文件组成,分别是数据文件(*.dbf)、控制文件(*.ctl)和重做日志文件(*.log)。

还有参数文件、备份文件、归档重做日志文件,以及警告、跟踪日志文件等。

Oracle数据库从逻辑存储结构上来讲,主要包括表空间(tablespace)、段(segment)、区(extent)和数据块(block)。

其中数据块都具有相同的结构:块头部、表目录、行目录、空闲空间、行空间。

Oracle进程结构:
DBWn(Database Writer,数据库写入)进程
LGWR(Log Writer,日志写入)进程
CKPT(Check Point,检查点或检验点)进程
SMON(System Monitor,系统监控)进程
PMON(Process Monitor,进程监控)进程
ARCn(Archive Process,归档)进程
RECO(Recovery,恢复)进程
数据字典
Oracle数据字典的视图类型
user视图:user视图的名称以user_为前缀,用来记录用户对象的信息。

例如user_tables视图,它记录用户的表信息
all视图:all视图的名称以all_为前缀,用来记录用户对象的信息以及被授权访问的对象信息。

例如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$control_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_objects_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:显示块竞争统计数据
SQL*Plus工具
Oracle的SQL*Plus是与Oracle进行交互的客户端工具。

通常所说的DML、DDL和DCL 语句都是SQL*Plus语句。

连接与断开数据库
SQL>conn[ect]
SQL>disconn ;
使用describe命令查看表结构
desc[ribe] { [ schema. ] object [ @connect_identifier ] }
schema:指定对象所属的用户名,或者所属的用户模式名称
object:表示对象的名称,如表名或视图名等
@connect_identifier:表示数据库连接字符串
SQL*Plus命令
help [topic]:查看命令的使用方法,topic表示需要查看的命令名称。

例如help dese,查看desc命令的使用格式
host:使用该命令可以从SQL*Plus环境切换到操作系统环境,以便执行操作系统命令。

使用exit命令可以重新回到SQL*Plus状态。

host 操作系统命令:执行操作系统命令,例如host notepad.exe,将打开一个记事本文件
show all:查看SQL*Plus的所有系统变量值信息
show user:查看当前是哪个用户在使用SQL*Plus
show sga:显示sga大小
show rel[ease]:显示数据库版本信息
show errors:查看详细的错误信息
show parameters:查看系统初始化参数信息
desc[ribe]:查看对象的结构,这里的对象可以是表、视图、存储过程、函数和包等。

例如desc dual,可以查看dual的结构
格式化查询结果
在使用格式化命令时,应遵循下面一些规则:
格式化命令设置之后,该命令一直起作用,知道会话结束或者下一个格式化命令的设置。

每一次报表结束后,重新设置SQL*Plus默认值
如果为某个列指定了别名,那么必须引用该别名,而不能使用列名
语法:col[umn] [{column | expr} [option ...] ]
set pagesize n:设置一页显示多少行数据,n表示每一页大小的正整数,最大值为50000,默认值为14
set linesize n:设置一行显示多少个字符,n表示屏幕上一行数据可以容纳的字符数量,有效范围是1-32767。

相关主题