第一章: Oracle的简介
1、什么是数据库?
数据库(database,简称DB):存放数据的仓库。
数据库管理系统(Database Management System,DBMS)是指数据库系统中对数据进行管理的软件系统。
数据库管理员(Database Administrator,DBA):是负责对数据进行规划、设计、协调、维护和管理的人员。
2、当今主流的数据库:
- Oracel
- MySQL
- Microsoft SQL Server
- PostgreSQL
- MongoDB
- DB2
- Microsoft Access
- Cassandra
- Redis
- SQLite
3、什么是Oracle?
Oracle Database,简称Oracle。是美国ORACLE(甲骨文)公司的一款对象关系型的数据库管理系统(ORDBMS )。目前在数据库市场上占有主要份额。
4、Oracle的发展史
- 1977年埃里森和两个朋友,成立了RSI公司。
- 1979年的夏季,RSI发布了Oracle第二版。
- 1983年,发布了Oracle第三版,并在1983年改名为Oracle公司。
- 1986年,成为世界第四大软件公司。
- 1992年6月,Oracle发布了第7版。
- 1997年, Oracle发布了第8版
- 2001年6月,Oracle发布了Oracle 9i。
- 2003年9月, Oracle发布了Oracle 10g。
- 2007年7月11日,Oracle发布了Oracle 11g
- 2013年,Oracle 12c发布。
5、为什么要学习Oracle?
- 性能优越,大型数据库中的典范。
- 是对象关系型数据库管理系统(ORDBMS)
- 应用广泛,在管理信息方面,企业数据处理,因特网及电子商务等领域使用非常广泛。
- 在数据安全性与数据完整性控制方面性能优越
- 跨操作系统,跨硬件平台的数据互操作能力
- 支持多用户,大事务量的事务处理
6、关于Oracle,要学习哪些内容?
通过思维导图来了解将要学习的各个模块的内容。详见专题目录。
7、怎样学习Oracle?
多敲、多练、多思考、举一反三、多看相关学习社区。
8、学习Oracle的优秀资源:
www.oracle.com/technology/index.html即OTN
www.itpub.net
www.eygle.com
1、安装服务端
1.1 下载oracle安装包
下载方式1:官网下载地址: https://docs.oracle.com/en/database/oracle/oracle-database/index.html
下载方式2:从百度网盘下载以下文件
链接:https://pan.baidu.com/s/1r5Uoz1gmBcSvlMVmaRo8LA
提取码:orcl
1.2 解压文件
Oracle安装包下载后,请在本机磁盘中创建一个 oracle文件夹,然后将==win64_11gR2_database_1of2.zip 和 win64_11gR2_database_2of2.zip解压到 oracle目录下(这一点很重要)
※注意: 路径名称中最好不要出现中文和空格等不规则符号,否则之后可能出现不可预知的错误!!!
下图中是我解压后的文件,解压后,会得到一个database的文件夹:
1.3 运行安装文件
打开解压后的database文件夹中,运行setup.exe安装文件,进入安装界面
如果打开文件时出现下面信息,可以忽略,点击是(Y)即可。
1.4 进入安装界面
下图中,如果你已注册过Oracle账号,可在电子邮件中填写你的邮箱地址(如果未注册可以不填写),然后点击 “下一步”
接下来请选择 “创建和配置数据库”,然后点击 “下一步”
如果选择了第一种安装选项,则在安装完成后,软件中会自动安装相应的数据库客户端(用于创建数据库,配置监听等功能),也就无需在独立安装相应的数据库客户端软件。并且这种模式下,会自动创建默认的ORCL的数据库实例。
如果选择第二种安装选项,则是仅仅安装了数据库软件,客户端软件需要独立的下载安装,才能完成数据库的配置。这里选择了第一种的安装选项,方便快捷。
选择”桌面类“ 然后点击 “下一步”
设置Oracle的软件位置为 D:\Oracle\app\lenovo\product\11.2.0\dbhome_1然后点击 “下一步”
注意:安装路径中千万不要有中文或空格特殊字符之类的名称
此步骤或提示关于口令的不符合标准,可以忽略点击是(Y)即可
1.5 开始安装
进入安装环节,请耐心等待几分钟 …
当安装完成后,点击口令管理,进行简单的口令设置
点击口令管理,会弹出用户锁定操作界面,可以在该界面中重新设置不同用户的口令。
设置完成后点击确定,并在安装界面点击关闭即可。
1.6 安装完成
继续点击 “下一步” 然后点击 “关闭” 即可。到这里Oracle数据库服务端就安装完毕了。如果过程中出现问题,有可能需要卸载重新安装,甚至重装系统的可能。
1.7 oracle默认账号密码
(1)普通管理员:SYSTEM(密码:oracle11g)
(2)超级管理员:SYS (密码:oracle11g)
2、Oracle安装后的配置
安装完成后,可以发现,在开始菜单中Oracle-OraDb11g_home1文件中,已经存在了数据库软件和数据库客户端管理软件。
接下来打开系统后台服务设置窗口:(快捷键:Win标键 + R)
在计算机服务选项中,打开如下两个服务,建议将这两个服务设为手动启动,以便节省计算机内存资源
OracleOraDb11g_home1TNSListener:表示监听服务,如果客户端要想连接到数据库,此服务必须打开。在程序开发中该服务也要起作用。
OracleServiceORCL:表示数据库的主服务,命名规则:OracleService数据库名称。此服务必须打开,否则Oracle根本无法使用。
验证Oracle是否安装成功
打开 “cmd” 命令行 ,输入“sqlplus”,如果提示让输入用户,则代表真的安装成功了,如果提示不是内部或外部命令,则代表安装的有问题。
PL/SQL Plus登录数据库注意事项:
使用PL/SQL Plus登录数据库时,system用户使用密码oracle11g可直接登录。
如果是sys用户,密码必须加上as sysdba才可登录。
打开Net Manager,查看网络监听的配置
此时数据安装完成,之后,可以根据安装需要,创建新的数据库实例,分配表空间并创建相应的用户。
1、打开deinstall
返回上一级目录,有一个Oracle安装产品
打开↓
点击卸载产品
然后它会告诉你运行这个文件就行,所以刚才的操作都是浪费时间,下面才是正式:
根据自己的oracle安装位置,找到deinstall文件,打开里面有一个deinstall.bat文件,双击它;
然后,是这样…
等一会,就是这样…
输入LISTENER,这是监听服务的,输完回车就行
输入ORCL,然后回车
after a few years…
回车
after a few years again…
等了很久,它自己完事就关闭了…
这是第一步,结束。
2、先关闭服务,再删除文件
先把Oracle的服务关闭了
接着,把安装Oracle文件删了,就是基目录那,我这里是安装在D盘
再去C盘的Program Files把Oracle删了
也可以把隐藏文件夹ProgramData里的Oracle也删了
3、删除环境变量
4、删除注册表
win+R,打开运行,输入regedit,打开注册表界面
HKEY_LOCAL_MACHINE \ SOFTWARE \ ORACLE
删除Oracle
HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services
删除Oracle服务
HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services \ EventLog \ Application
本节目标
- 掌握oracel数据库体系结构的组成部分;
- 理解Oracel数据库和Oracel实力的含义;
- 了解Oracel数据库的组成和Oracle实例的组成;
1、Oracle数据库体系结构简介
平常所说的Oracle或 Oracle数据库指的是Oracle数据库管理系统;
那么它由两部分构成,即:Oracle数据库和Oracle实例(注意Oracle数据库和Oracle实例特别容易混淆);
1)、Oracle数据库
▶指的是相关的操作系统文件(即存储在计算机硬盘上的文件)集合,这些文件组织在一起,成为一个逻辑整体,即为Oracle数据库。
Oracle数据库由:参数文件、口令文件、归档日志文件、其中有三个是必须文件:数据文件、控制文件、重做日志文件。
- 控制文件:存储实例、数据文件及日志文件等信息的二进制文件。alter system set control_files=‘路径’。V$CONTROLFILE。
- 数据文件:存储数据,以.dbf做后缀。一句话:一个表空间对多个数据文件,一个数据文件只对一个表空间。dba_data_files/v$datafile。
- 日志文件:即Redo Log Files和Archivelog Files。记录数据库修改信息。ALTER SYSTEM SWITCH LOGFILE; 。V$LOG。
- 参数文件:记录基本参数。spfile和pfile。
▶数据库是用来存储数据的集合,Oracle 用它来存储和管理相关的信息;
▶Oracle数据库必须要与内存里实例合作,才能对外提供数据管理服务;
2)、Oracle的实例
- oracle实例:位于物理内存里的数据结构,它由操作系统的多个后台进程和一个共享的内存池所组成,共享的内存池可以被所有进程访问;
- ORACLE实例=进程+进程所使用的内存[SGA(System Global Area)]
2、Oracle数据库和oracle实例
1)、当用户启动SQLPLUS(相当于启动了一个用户进程,通过在SQLplus当中输入用户名和密码,然后与Oracle数据服务器建立连接)这时Oracle数据库就会帮我们启动一个服务器的进程来实现对数据库的操作。
2)、Oracle通俗的说可以认为是操作数据的一种手段,它包含内存结构和系统进程。比如说我们某个用户发出了更新数据的命令,这个时间我们的数据改变是在我们的内存中完成的。当数据被修改时系统会产生一个重做日志,并记录在重做日志缓存区中;修改后的数据会存储在实例中的数据缓存区内;重做日志缓存区的数据需要通过LGWR进程写入到数据当中的重做日志文件中(Redo log files);数据缓存区中的内容需要通过进程DBWR,写入到数据库的文件中;中间实现实例和数据库连接的文件是控制文件(control files)
3、Oracle数据库与实例区别
你现在应该知道,如果有人谈到实例,他指的就是Oracle的进程和内存。提到数据库时,则是说保存数据的物理文件。
另外,可以从一个或多个实例访问一个数据库,但是一个实例一次只能访问一个数据库。
本节目标:
- 了解Oracle的7个服务的含义;
- 掌握Oracel的哪个服服务为必须启动项;
- 了解Oracle的工具;
- 掌握工具SQLPlush的应用;
- 理解并掌握Oracle中常用的SQLPlus命令;
1、了解Oracle的7个服务的含义:
oracle服务按产品分类主要有七大块,这七个服务的含义分别为:
1)、Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadow copy)。它可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的系统能。(非必须启动)
2)、OracleDBConsoleorcl:Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。
在运行Enterprise Manager(企业管理器OEM)的时候,需要启动这个服务。(非必须启动)
3)、OracleJobSchedulerORCL:Oracle作业调度(定时器)服务,ORCL是Oracle实例标识。(非必须启动)
4)、OracleMTSRecoveryService:服务端控制服务。
该服务允许数据库充当一个微软事务服务器MTS、COM/COM+对象和分布式环境下的事务的资源管理器。(非必须启动)
5)、OracleOraDb11g_home1ClrAgent:Oracle数据库.NET扩展服务的一部分。 (非必须启动)
6)、OracleOraDb11g_home1TNSListener:监听器服务,服务只有在数据库需要远程访问的时候才需要。(非必须启动,下面会有详细详解)。
7)、OracleServiceORCL:数据库服务(数据库实例),是Oracle核心服务该服务,是数据库启动的基础, 只有该服务启动,Oracle数据库才能正常启动。(必须启动)
2、那么在开发的时候到底需要启动哪些服务呢?
对新手来说,要是只用Oracle自带的sql*plus的话,只要启动OracleServiceORCL即可,要是使用PL/SQL Developer等第三方工具的话,OracleOraDb11g_home1TNSListener服务也要开启。OracleDBConsoleorcl是进入基于web的EM必须开启的,其余服务很少用。
注:ORCL是数据库实例名,默认的数据库是ORCL,你可以创建其他的,即OracleService+数据库名。
3、ORACLE工具的使用四种方式
- SQL命令行方式 (用Cracle中自带的SQLPlus)
- 浏览器方式 基于web的企业管理器EM
- Sql Developer
- PLSQL Developer工具
4、Oracle中常用的SQL Plus命令
- Connect:切换连接用户,简写形式conn
- Show user:显示当前登录的用户
- Host <dos命令>:执行操作系统命令
- Spool:导出记录到文本
- Clear screen:清屏
- Start d:\test.sql执行文件系统中的SQL语句(注:start命令等同于@,即:@d:\test.sql)
- Desc:显示表结构
- Show error:显示错误信息
- Exit:很出
5、代码实例:
--语法格式:conn 用户名/密码 conn yanln/yanln --显示当前登录的用户 show user --执行操作系统的命令 host mkdir d:\testOracle --导出记录到文本 spool d:\testOracle\test.txt select * from book; spool off --清屏 clear screen --执行文件系统中的sql语句 start d:\test.sql --显示表结构,命令describe,简写形式desc desc student --显示错误信息 show error --退出 exit
test.sql
create table student( id number, name varchar2(50), age number ); insert into student(id, name, age) values(201101,'张三', 20); commit;