Oracle Lesson 1 入门
Made by Zhangxu 2008.2.19
一:Oracle版本介绍Oracle数据库属于对象关系型数据库 它的历史版本有7 8i 9i 10g 11g
目前最高版本为11g。其中i代表网络,g代表网格计算 即grid.
二:Oracle 应用Oracle 应用广泛,在管理信息系统、企业数据处理、因特网及电子商务等领域使用尤为广泛,此为Oracle数据库是跨操作系统,跨硬件平台的数据操作能力。
四:Oracle 体系结构以及各种组件Oracle的主要组件包括Oracle数据库和Oeacle实例两大部分,其中Oracle数据库又划分为物理结构和逻辑结构(物理结构一般指的系统文件,逻辑结构则是定义这些文件的)。Oeacle实例又划分为内存结构和后台进程,详细见下图:
Oracle 实例有几种不同类型的进程,
它们是:
用户进程,服务器进程以及后台进程,其中后台进程包括
PMON 进程监控进程
SMON 系统监控进程(主要用来整理数据文件)
DBWR 数据写入进程
LGWR 日志写入进程
详细如下图:
内存结构划分为系统全局区(SGA)和程序全局区(PGA)。PGA为非共享区,只能有单个进程使用,会话结束PGA释放,SGA包括共享池,数据缓冲区和日志缓冲区,详细见下图:
Oracle数据库
Oracle数据库有物理结构和逻辑结构两部分构成 如图:
Oracle 物理组件
物理组件就是Oracle数据库所使用的操作系统物理文件。物理文件可分为三类:
如图:
控制文件为二进制文件,日志文件记录对数据库的所有修改信息,用于故障恢复
Oracle 逻辑组件
数据库的逻辑结构是从逻辑的角度分析数据库的组成。Oracle 的逻辑组件包括:
数据库,表空间(表空间是数据库中最大的逻辑单位,一个 Oracle 数据库至少包含一个表空间,就是名为SYSTEM的系统表空间
),段(是构成表空间的逻辑存储结构),区(不能跨越数据文件存在),数据块(Oracle中最小的存储单元),模式(模式是对用户所创建的数据库对象的总称
模式对象包括表、视图、索引、同义词、序列、过程和程序包等
)。
如图所示:
启动Oracle的服务
1. OracleDBConsolerrall:管理,企业管理器 访问地址 http://localhost:1158/em
2. …Job作业调度(一般不使用)
3. isSqlplus 操作SQL语句工具,访问地址http://localhost:5560/issqlplus
4. TNSlisterner 监听器 工客户端链接
5. ORCL 实例名启动
SQL> create tablespace ts_01 datafile 'C:/oracle/product/ 10.2.0 /oradata/orcl/ts_01.dbf' size 10M autoextend on
2 ;
表空间已创建。
SQL> create user u1 identified by admin;
用户已创建。
SQL> grant dba to u1;
授权成功。
SQL> drop user u1 cascade;
用户已删除。
SQL> create user u1 identified by admin default tablespace ts_01;
用户已创建。
SQL> grant connect to u1;
授权成功。
SQL> grant resource to u1;
一个会话过程应包括:
1.首先启动服务----(启动了实例,装载了数据库,并且打开)
2.创建表空间----服务进程(与实例进行交互,发送请求,如SQL语句)----到共享池进行解析,运行,编译等等---然后将解析通过对数据放入数据缓冲区----响应给客户端,以后倘若再需要数据,则首先在数据缓冲区内寻找,找不到在去磁盘内找,这样大大提升了Oracle的速度和性能!!!
alter user u1 identified by qq;
数据库的关闭
connect sys/admin as sysdba
shutdown immediate
数据库已经关闭
已经卸载数据库
Oracle例程已经关闭
------------------------------------
startup分3个步骤: ?
nomount:启动初始化参数文件规定的实例;
mount:加载控制文件; ?
open:加载数据文件;
------------------------------------
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 599785472 bytes
Fixed Size 1250356 bytes
Variable Size 205523916 bytes
Database Buffers 385875968 bytes
Redo Buffers 7135232 bytes
-----------------------------------------
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 599785472 bytes
Fixed Size 1250356 bytes
Variable Size 205523916 bytes
Database Buffers 385875968 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
----------------------------------------
SQL> startup open
ORACLE 例程已经启动。
Total System Global Area 599785472 bytes
Fixed Size 1250356 bytes
Variable Size 205523916 bytes
Database Buffers 385875968 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
数据库已经打开。
监听器管理
---------------------------------------
LSNRCTL> start
TNS-01106: 使用名称LISTENER的监听程序已经启动
LSNRCTL> start
启动tnslsnr: 请稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0 .1.0 - Production
系统参数文件为c:/oracle/product/ 10.2.0 /db_1/network/admin/listener.ora
写入c:/oracle/product/ 10.2.0 /db_1/network/log/listener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=shangyt)(PORT=1521)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC0ipc)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0 .1.0 - Production
启动日期 17-2月 -2008 16:58:56
正常运行时间 0 天 0 小时 0 分 1 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 c:/oracle/product/ 10.2.0 /db_1/network/admin/listener.ora
监听程序日志文件 c:/oracle/product/ 10.2.0 /db_1/network/log/listener.log
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=shangyt)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=//./pipe/EXTPROC0ipc)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
-------------------------------------------------------
表空间分类:
SYSTEM表空间:存放oracle系统内部表和数据字典。对应system01.dbf和system02.dbf两个数据文件。
SYSAUX表空间:存放oracle系统内的常用样例用户对象。对应SYSAUX01.dbf 数据文件。
撤消表空间:临时存储撤消信息。对应UNDOTBS01.DBF.
USERS表空间:建议用户用的空间,用于创建各种对象如表、索引等。对应USERS01.DBF。
数据文件
查询当前数据库所有的表空间及对应的数据文件
SQL> select file_name,tablespace_name,bytes from dba_data_files;
控制文件
SQL> select * from v$controlfile;
日志文件
SQL> select * from v$logfile;
数据字典
前缀
user_ 记录用户对象信息 如:user_tables
all_ 记录用户对象的信息及被授权访问的对象信息
dba_ 包含数据库实例的所有对象信息,如:DBA_USERS 包含有数据库实例的所有用户的信息
v$_ 当前实例的动态视图,包含系统管理和优化使用的视图
GV_ 分布环境下所有实例的动态视图,包含系统管理和优化使用的视图,全局视图的意思。
注:Oracle中默认用户:
在9i版本下
Username Password
sys change_on_install 管理员DBA
system manger 操作员
scott tiger 普通用户
在10g版本下
System admin