Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。
平常所说的Oracle可以指Oracle数据库管理系统。Oracle数据库管理系统是管理数据库访问的计算机软件(Oracle database manager system)。它由Oracle 数据库和Oracle 实例( instance)构成(区分mysql, mysql没有实例的概念)。
数据库(database): 物理操作系统文件或磁盘的集合。
Oracle实例 : 位于物理内存的数据结构,它由操作系统的多个后台进程和一个共享的内存池所组成,共享的内存可以被所有进程访问。Oracle用它们来管理数据库访问。用户如果要存取数据库(也就是硬盘上的文件〉里的数据,必须通过Oracle实例才能实现,不能直接读取硬盘上的文件。实际上,Oracle 实例就是平常所说的数据库服务( service)。在任何时刻,一个实例只能与一个数据库关联,访问一个数据库; 而同一个数据库可由多个实例访问(RAC)
1.数据库
Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle就只有一个大数据库。
2.实例
一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguouud Processes)和内存结构(Memory Structures)组成。一个数据库可以有n个实例。
注: 一组Oracle后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。这里可以维护易失的、非持久性内容(有些可以刷新输出到磁盘)。就算没有磁盘存储,数据库实例也能存在。
3.用户
用户是在实例下建立的。不同实例可以建相同名字的用户。用户登陆后只能看到和操作自己的表, ORACLE 的用户与 MYSQL 的数据库类似,每建立一个应用需要创建一个用户。
注: Oracle 数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间
4.表空间
表空间是Oracle对物理数据库上相关数据文件(ORA或者DBF 文件)的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为system表空间)。
注: 每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。
5.数据文件(dbf、ora)
数据文件 是 数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行
注: 表的数据,是由用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。由于oracle的数据库不是普通的概念,oracle是由用户和表空间对数据进行管理和存放的。但是表不是由表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表! 这里区分就是用户了!
Oracle 8/Oracle 8i(1CD): “i”表示internet,表示Oracle开始进军网络
Oracle 9i(3CD):属于Oracle 8i的稳定版本,现在依然大范围使用(使用率非常高,因为正好是中国进行电子化信息改革的开始)
Oracle 10g(630M):使用了网格计算的方式,提升了数据库的分布式的访问性能
Oracle 11g(1.7G):属于Oracle 10g的稳定版本,现在新项目使用较多。
Oracle 12C:指的是云服务的支持。
SQL PLUS(Oracle自带) SQL*Plus是SQL命令行和PL/SQL语言的界面和连接Oracle数据库客户和服务器的报告工具。SQL*Plus能够交替使用并通过脚本运行。
PL/SQL Developer 是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。不能连接其他数据库。
针对Oracle软件的Toad
Workflow Builder
XML Publisher Discoverer
JDeveloper
Developer 6i(9i and 10g)——Forms and Reports
1、解压两个压缩包到同一目录,即"database",然后单击解压目录下的"setup.exe"文件,如下图所示:
2、执行安装程序后会出现如下的命令提示行。
3、等待片刻之后就会出现启动画。
4、稍微等待一会,就会出现如下图所示的安装画面,取消下图所示的选中,然后单击"下一步"继续,同时在出现的信息提示框单击"是"继续。
5、之后就会出现安装选项对话框,默认点击"下一步"继续
6、之后会出现安装类型对话框,点击"下一步"继续,如果奔出你是安装在Windows Server上的话就选择服务器类。
7、然后就是安装配置,在这要注意的是:管理口令的格式要至少包含一个大写字母,一个小写字母和一个数字,长度8位以上,否则会提示警告,正确输入后点击"下一步"继续。
8、之后会出现"先决条件检查"对话框,选中"全部忽略"并单击"下一步"以继续。(也有可能会直接跳过,不用担心)
9、之后点击"完成"就开始安装了
10、安装画面如下图所示:
11、 当上述进度到达100%时会出现线面的对话框,请耐心等待它完成,不要捉急。
之后弹出口令管理窗口,进行口令设置
将sys和system的用户密码重新设置
把scott用户的勾去掉 并重新设置密码
一般hr用户密码设置为hr。Scott用户密码设置为tiger
12.然后再弹出的确认对话框点击"确定"这时会回到主界面然后再单击"关闭"完成安装。
13、 至此,Oracle11g R2已经安装完成,你可以在开始菜单->Oracle - OraDb11g_home1->Database Control - orcl中打开访问网址。
14、登陆:在连接身份里选择"SYSDBA",再用户名处输入"sys",密码为你最初设定的密码,点击"登陆"你就可以访问数据库了
Windows下,安装Oracle 11g后生成多个服务
通过选择“控制面板”→“管理工具”→“服务”,打开“服务”窗口,可以看到Oracle服务
注意:Oracle数据库安装完成之后会有2个服务是必须开启的
oracleserverORCL
.....listener
SYS和SYSTEM用户
SCOTT用户
- SYS用户具有DBA权限,并且拥有SYS模式,只能通过SYSDBA登陆数据库。是Oracle数据库中权限最高的帐号
- SYSTEM具有DBA权限。但没有SYSDBA权限。
我们常用的账户是---scott
- scott用户第一次使用时是锁定的
- 使用scott用户需要SYS超级管理员登录解锁
- cmd----sqlplus / as sysdba;
- 解锁scott用户
- alter user scott account unlock identified by 123;
Oracle用户
Oracle数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间。
语法: create user 用户名
identified by 密码
default tablespace 表空间(默认USERS)
注意:用户必须赋予相应的权限
权限
- 权限是指执行特定类型sql命令或是访问其它方案对象的权利,包括系统权限和对象权限两种。
- 系统权限和对象权限
- 系统权限允许用户执行某些数据库操作
- 对象权限允许用户对某一特定对象执行特定的操作
角色
- 角色就是相关权限的命令集合,使用角色的主要目的就是为了简化权限的管理。
- 预定义角色
- connect角色:创建连接权限
- resource角色:resource角色具有应用开发人员所需要的其它权限(存储过程、触发器等)
- dba角色:dba角色具有所有的系统权限
- 自定义角色
语法:
- #分配权限或角色
- grant privileges or role to user;
- #撤销权限或角色
- revoke privileges or role from user;
#把connect、resource角色授予用户epet
grant connect,reource to epet;
#撤销用户epet的RESOURCE角色
revoke resource from epet;
#允许用户查看 EMP 表中的记录
grant select on emp to epet;
#允许用户更新 EMP 表中的记录
grant update on emp to epet;
Oracle数据类型
//创建主人表
CREATE TABLE master(
id NUMBER(11,0) PRIMARY KEY,
loginid NVARCHAR2(50) NOT NULL,
password NVARCHAR2(20) NOT NULL,
status CHAR(1) DEFAULT 1 NOT NULL
);