数据库之Oracle的介绍与使用20180620

/*******************************************************************************************/

一、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

点击后可以配置用户,解锁账户并配置密码,一般用了两个HRSCOTT两个用户

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_homeTNSListenerOracleServiceORCL这两个服务

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的,

pgaprogram global area(程序全局区)pga的作用是给我们客户端使用的,一个客户端对应一个pga,显然实例中有多个pga

pga也不是直接操作数据文件的,pga后面还有一个sga,

sga:system global area(系统全局区)

一个提交操作的流程:

比如有一个提交操作是通过客户端提交给pgapga提交到sga,然后再由sga操作读写进程,最终操作数据库。

也就是说内部有两次提交,两次提交是为了支持闪回,

闪回:对已经提交的操作,进行回退。

闪回需要开启 行移动。

/*******************************************************************************************/

四、oracle相关概念

逻辑概念:表空间,表空间由多个数据文件组成。位于实例上,在内存中。

oracle接触到最多的就是表,表是oracle存储的基本单位,这个表就是存放在表空间上,

物理概念:数据文件,位于硬盘之上(c:appadministratororadataorcl目录内后最为.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 USERSusers这个表空间是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语句直接粘贴到敲命令的窗口就可以直接全部执行了。

原文地址:https://www.cnblogs.com/yuweifeng/p/9204149.html