/*******************************************************************************************/
一、oracle的安装
1.数据库从类型上分为:
关系型数据库:oracle mysql
非关系型数据库:mongodb
2.oracle的安装
分为服务器安装和客户端安装
服务端安装:注意选择默认配置方式
客户端安装:注意选择管理员方式,(服务器和客户端可以装在一台机子上)
注意事项:安装目录不能有中文和空格
3.安装软件与步骤
安装软件使用的是oracle11g,有linux版本和windows版本可以从官网下载,现在讲的使用的是windows 64位的,版本是11gR2
步骤:
1).解压安装文件,运行database目录下的setup.exe
2).安装时注意不要oracle的支持,安装配置时,
注意选择Create and configure a database,因为会自动生成一个用户(scott),方便平时个人使用一般公司使用Install database software only
3).选择Desktop Class模式
4).典型安装设置中,注意设置的目录不要有中文和空格
database edition选择Enterprise Edition企业版
Global database name 填orcl,这个表示的实例名
其他默认,并注意设置用户名和密码
5).一直到安装完成会有个界面出现password management
点击后可以配置用户,解锁账户并配置密码,一般用了两个HR和SCOTT两个用户
6).oracl自带了一个客户端软件脚SQL Developer,但是我们一般用PLSQL Developer,其实功能都差不多。
7).检验是否安装好
本机安装,直接在dos下执行 sqlplus / as sysdba 使用dba用户登录
本机安装安装的,也可执行 sqlplus scott/密码
或者执行 sqlplus scott/密码@orcl
都是使用scott用户登录,其中加@这个是远程登录的意思,依赖于开启了侦听服务。
比如@orc100,那么就会去读取配置文件tnsname.ora,从中就可以找到orc100对应的ip+实例名,通过这个访问到数据库。所以访问方式也可以改成:
sqlplus scott/11@//192.168.137.100/orcl,这样就不用配置任何的配置文件了
8).两个服务
在运行中执行services.msc,在服务中找到or开头的,这些都是or提供的服务,
重点是:
OracleOraDb11g_homeTNSListener和OracleServiceORCL这两个服务
OracleServiceORCL实例的主服务,Oracle启动的一个叫ORCL的实例,决定数据库是否启动
OracleOraDb11g_homeTNSListener 监听服务(侦听服务),
如果以后发现Oracle操作不了了,就是需要去关注这两个服务正常不正常,有没有启动起来
也就是说这两个服务没有正常启用,登录Oracle数据库是登录不了的
具体见《Oracle 11G 安装文档.doc》
/*******************************************************************************************/
二、oracle公司简介
也就是甲骨文公司,收购了weblogic(java应用服务器)和sun
/*******************************************************************************************/
三、oracle体系结构
数据文件+实例,注意其中的数据文件,也就是数据库位于硬盘上,实例位于内存中。
框架图见图1:
一般来说,就是一个实例对应一下db files
也有特殊的,
比如多个实例管理一个数据库的,这几个实例也叫做集群,oracle中集群称为:RAC(real application cluster)
客户端软件是通过实例去操作数据库的,这个实例可以是多个实例(集群)中的一个,
集群的好处:
1.负载均衡
一般一台机器上运行一个实例(实例和文件可以部署在不同的机器上),如果访问很多的话,多个实例就可以让不至于一台机器负载太多。
2.失败迁移
当一台实例失败时,可以自动的切换到另外一个实例。也就是当失败的时候可以直接切换到下一个实例,这个过程中应用不需要停下来。
实例的详细介绍见图2:
实例是运行在内存中,是若干个操作数据库的进程的集合,也就是管理系统(RDBMS(关系型数据库管理系统))
里面主要有很多读写进程,去操作数据库文件的。这是在后端,
在另外一端,有一个叫pga的,
pga:program global area(程序全局区),pga的作用是给我们客户端使用的,一个客户端对应一个pga,显然实例中有多个pga。
pga也不是直接操作数据文件的,pga后面还有一个sga,
sga:system global area(系统全局区)
一个提交操作的流程:
比如有一个提交操作是通过客户端提交给pga,pga提交到sga,然后再由sga操作读写进程,最终操作数据库。
也就是说内部有两次提交,两次提交是为了支持闪回,
闪回:对已经提交的操作,进行回退。
闪回需要开启 行移动。
/*******************************************************************************************/
四、oracle相关概念
逻辑概念:表空间,表空间由多个数据文件组成。位于实例上,在内存中。
oracle接触到最多的就是表,表是oracle存储的基本单位,这个表就是存放在表空间上,
物理概念:数据文件,位于硬盘之上(c:\app\administrator\oradata\orcl目录内后最为.DBF的文件)
一个表空间可以包含多个数据文件。1:n(表空间:数据文件)
段存在与表空间中,段是区的集合,区是数据块的集合,数据块会被映射到磁盘,可看图3:
具体结构关系可看图4:
其中的数据库这一块可以看成是实例,
数据库层次结构见图5:
DBA(数据库管理员)
/*******************************************************************************************/
五、登录
登录管理员
sqlplus /as sysdba
登录管理员不需要输入密码,这是因为oracle安装的时候将sys用户和本地操作用户绑定,所以可以直接登录
登录指令:
对于自己安装服务器的
sqlplus scott/11
对于使用虚拟机
sqlplus scott/11@//192.168.137.100/orcl(要连接到137.100的服务器上的orcl数据库)
sqlplus scott//11@orc1100(可以替代上一条命令,由于事先设置了配置文件)
配置文件:client_1>network>admin>tnsnames.ora
服务器和客户端都具有sqlplus.exe文件,在bin目录下,
还有在服务器中的oradata中的orcl(实例)目录下,有.dbf的数据文件,也有.ctl的控制文件。
如果忘记密码就要在服务器中,登录管理员:sqlplus /as sysdba,如果不行则加上密码:sqlplus sys/sys as sysdba
登录后就可以修改密码了
修改密码的命令是alter,如:
解除账户锁定并修改密码:
alter user scott account unlock
alter user scott identified by 11;//重设密码为11
/*******************************************************************************************/
六、配置与配置文件
登陆命令sqlplus scott/11@orcl222中的orcl222来自于
配置文件tnsnames.ora,在配置文件中成为服务名
增加新的登陆服务,可以参考该文件中的其他登陆服务来填写服务名,ip,端口号,实例名
也可以使用工具来完成这个增加的操作 :
工具名称:oracle net configuration assistant
注意,
登陆数据库的工具:pl/sql developer 中的drop命令表示的是删除的意思 。
/*******************************************************************************************/
七、rehat启动oracle
即linux下启动oracle服务,即Linux下装了oracle 然后启动。
1.登录到oracle用户 su -oracle
加-表示携带环境变量
2.sqlplus / as sysdba
3.startup 启动实例
出现System Global Area表示启动成功了
4.quit
5.lsnrctl start
(shell环境执行)启动监听服务。
6.远端
用tnsping 来ping服务器
然后用sqlplus来登录。
7.可能需要服务器关闭防火墙
切换到管理用户:
su
执行:
service iptables stop
dba,oracle认证的级别
oca
ocp 2w+
ocm 3w
/*******************************************************************************************/
八、oracle项目方案
见 《oracle项目案例(Oracle客户端测试用).sql》
这个脚本文件是一个完整创建用户的过程。
注意,
1.21行中的TABLESPACE USERS,users这个表空间是orcl默认给的表空间。
2.
-- 03 创建表
-- 创建部门表 并赋值,-- 是注释
CREATE TABLE MYSCOTT.DEPT(
DEPTNO NUMBER(2) PRIMARY KEY,
DNAME VARCHAR2(14) NOT NULL,
LOC VARCHAR2(13)
)TABLESPACE ts_myscott;
//TABLESPACE ts_myscott 指定表空间,由于当前是dba用户,所以指定用户名MYSCOTT.DEPT
脚本的使用:
打开plsql开发工具,然后登录dba用户,再打开command window,在该窗口下,把文件中所有的内容粘贴到该窗口下就可以了。
测试新用户是否创建成功:
登录用户:
sqlplus MYSCOTTUSER1/123456@orcl100;
select * from myscott.emp;
/*******************************************************************************************/
九、plsql工具相关介绍
ed 表名;
工具里面使用ed命令
这个时候出来的界面里面,就是直接进行表的相关操作,并从这里点击view sql就可以推出表相关操作对应的语句。
并且这个界面还可以给表加各种约束,比如主键啥的,还可以创建索引等等。
并可以推出表相关操作对应的语句。
同样,
ed 视图名
或者ed 序列名
就能看到视图或者序列相关的操作,
比如视图能看到 视图创建的语句
使用工具插入或者导入数据:
select * from emp2 where 1=2 for update;
for update就是表示接下来要(增加)修改,
此时点击解除锁定后,这时就可以修改这个表的,可以手动在表里面填入数据,也可以直接粘贴数据过来。
数据填好后再打勾,然后锁定
导出数据
export 表名
就会出现界面,这里有导出的配置,导出的是创建这个表的sql语句,包括建表,insert等语句
导出的sql语句直接粘贴到敲命令的窗口就可以直接全部执行了。