嵌入式开发交流网论坛
标题:
数据库之Oracle的介绍与使用20180620
[打印本页]
作者:
蕊蕊188888
时间:
2018-6-20 16:19
标题:
数据库之Oracle的介绍与使用20180620
[attach]1333[/attach]
/*******************************************************************************************/
一、
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
:
[attach]1334[/attach]
一般来说,就是一个实例对应一下
db files
也有特殊的,
比如多个实例管理一个数据库的,这几个实例也叫做集群,
oracle
中集群称为:
RAC(real application cluster)
客户端软件是通过实例去操作数据库的,这个实例可以是多个实例
(
集群
)
中的一个,
集群的好处:
1.
负载均衡
一般一台机器上运行一个实例
(
实例和文件可以部署在不同的机器上
)
,如果访问很多的话,多个实例就可以让不至于一台机器负载太多。
2.
失败迁移
当一台实例失败时,可以自动的切换到另外一个实例。也就是当失败的时候可以直接切换到下一个实例,这个过程中应用不需要停下来。
实例的详细介绍见图
2
:
[attach]1335[/attach]
实例是运行在内存中,是若干个操作数据库的进程的集合,也就是管理系统
(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:
[attach]1336[/attach]
具体结构关系可看图
4
:
[attach]1337[/attach]
其中的数据库这一块可以看成是实例,
数据库层次结构见图
5
:
[attach]1338[/attach]
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
语句直接粘贴到敲命令的窗口就可以直接全部执行了。
--------------------------------------------------------------------------------------------
来源:网络
如果侵权,请第一时间回复联系,将第一时间为您处理
--------------------------------------------------------------------------------------------
更多精彩内容:
1.回复“c”,查看c语言相关知识
2.回复“c++”,查看c++语言相关知识
3.回复“Java”,查看Java语言相关知识
4.回复"数据结构",查看数据结构相关知识
5.回复"设计理念",查看设计模式等相关知识
6.回复“驱动”,查看驱动相关知识
7.回复"uCOS",查看uCOS相关知识
8.回复"Linux",查看Linux相关知识
9.
回复"Android",查看
Android
相关知识
10.回复"网络协议",查看网络协议相关知识
11.回复"Web",查看Web相关知识
12.回复"数据库",查看数据库相关知识
13.
回复"音视频处理",查看
音视频处理
相关知识
欢迎光临 嵌入式开发交流网论坛 (http://www.dianzixuexi.com/bbs/)
Powered by Discuz! X3.2