一、概述

介绍

最流行大型关系数据库由甲骨文公司出品,目前最新版本为Oracle19c本课程以64位企业版Oracle11gR2为例官方网站:http://www.oracle.com/
下载网址:https://www.oracle.com/cn/downloads/
采用C/S模式、支持SQL查询语言在稳定性、高性能、安全性等方面优于其他数据库,因此常用于政府及企业

Oracle11g安装

OracleInstall.png

卸载

oracleUninstall.png

登录

  • 从命令行使用SQL*Plus工具访问数据库
  • 从浏览器访问 https://dbserver:1158/em/
  • SQL Developer工具访问数据库

    1.cmd命令行

    1. 登录:sqlplus 用户名/密码 [ as sysdba ] -- sys用户必须写as sysdba,system用户不写
    2. 显示当前用户: show user;
    3. 切换用户: conn 用户名/密码
    4. 显示可以使用的所有命令: help index
    5. 退出sqlplus exit
    image-20201225205228724.png

    2.企业管理器

    image-20201225234259119.png
    或者从浏览器直接输入 https://localhost:1158/em/
    image-20201225215016883.png
    image-20201225215537488.png

    3.可视化工具

    plsqldeveloper安装

    image-20201225224542128.png
    image-20201225224608577.png
    image-20201225224631701.png
    image-20201225224655648.png
    image-20201225224715903.png
    image-20201225224828991.png

    汉化

    image-20201225224954248.png
    image-20201225225020998.png
    image-20201225225041086.png
    image-20201225225111559.png
    image-20201225225132006.png
    image-20201225225153493.png

    破解

    image-20201225225246941.png
    image-20201225225416961.png
    image-20201225225439501.png

    登录

    image-20201225225541713.png
    image-20201225225726135.png

二、DBCA创建数据库

能够使用 Oracle Database Configuration Assisstant 创建数据库、更改数据库或删除数据
1.1, dos命令打开DBCA
o_ylbtech_oracle10g_dbca_dos.jpg
1.2,用 Database Configuration Assisstant打开
o_ylbtech_oracle10g_dbca_start-up-windows.jpg
1.3, 欢迎界面
o_ylbtech_oracle10g_dbca_0.jpg
2. 步骤1(共12步):操作
o_ylbtech_oracle10g_dbca_1.jpg
3. 步骤2(共12步):数据库模版
o_ylbtech_oracle10g_dbca_2.jpg
3.2, 之一般用途
o_ylbtech_oracle10g_dbca_2-1.jpg
4. 步骤3(共12步):数据库标识
o_ylbtech_oracle10g_dbca_3.jpg
5. 步骤4(共12步):管理选项
o_ylbtech_oracle10g_dbca_4.jpg
6. 步骤5(共12步):数据库身份证明
o_ylbtech_oracle10g_dbca_5.jpg
7. 步骤7(共12步):存储选项
o_ylbtech_oracle10g_dbca_6.jpg
8. 步骤7(共12步):数据库文件所在位置
o_ylbtech_oracle10g_dbca_7.jpg
8.2, 之文件位置变量
o_ylbtech_oracle10g_dbca_7-2.jpg
9. 步骤9(共12步):恢复配置
o_ylbtech_oracle10g_dbca_8.jpg
9.2, 之快速恢复区域位置
o_ylbtech_oracle10g_dbca_8-2.jpg
10. 步骤9(共12步):数据库内容
o_ylbtech_oracle10g_dbca_9.jpg
10.2, 之定制脚本
o_ylbtech_oracle10g_dbca_9-2.jpg

运行脚本可以不做

  1. 步骤10(共12步):初始化参数
    11.1, 之内存
    o_ylbtech_oracle10g_dbca_10-1.jpg
    11.2, 之调整大小
    o_ylbtech_oracle10g_dbca_10-2.jpg
    11.3, 之字符集
    o_ylbtech_oracle10g_dbca_10-3.jpg
    11.4, 之连接模式
    o_ylbtech_oracle10g_dbca_10-4.jpg
    11.5, 之所有初始化参数1/2
    o_ylbtech_oracle10g_dbca_10-5-1.jpg
    11.6, 之所有初始化参数2/2
    o_ylbtech_oracle10g_dbca_10-5-2.jpg
    12.步骤11(共12步):数据库存储
    o_ylbtech_oracle10g_dbca_11.jpg
    13.步骤13(共12步):创建选项
    o_ylbtech_oracle10g_dbca_12-1.jpg
    13.2, 之安装中
    o_ylbtech_oracle10g_dbca_12-2.jpg
    13.3, 之完成、退出
    o_ylbtech_oracle10g_dbca_12-3.jpg
    14. Database Control URL
    Database Control URL 为 http://Win7-PC:5500/em
    15. 登录
    15.1, dos登录
    o_ylbtech_oracle10g_ylbtech_sqlplus.jpg
    15.2, Database Control URL登录
    用户SYS,连接身份SYSDBA
    o_ylbtech_oracle10g_ylbtech_em-sys.jpg
    用户SYSTEM,连接身份Normalo_ylbtech_oracle10g_ylbtech_em-system.jpg

    三、启动关闭

    关闭数据库

  • 以sysdba身份登录
  • 数据库关闭命令:shutdown [关闭选项]
  • image-20201225232355395.png

    1. sql> shutdown
    2. database closed.
    3. database dismounted.
    4. oracle instance shutdown.

    数据库关闭三个阶段:

  • 关闭数据库

  • 卸载数据库
  • 关闭Oracle实例

    启动数据库

  • 以sysdba身份登录

  • 数据库启动命令:startup[启动选项]
  • image-20201225232609868.png

    1. sql> startup nomount
    2. oracle instance started.
    3. total system global area 839282688 bytes
    4. fixed size 2217992 bytes
    5. variable size 629147640 bytes
    6. database buffers 205520896 bytes
    7. redo buffers 2396160 bytes
    8. sql>alter database mount;
    9. database altered.
    10. sql>alter database open;
    11. database altered.

    数据库启动三个阶段:

  • 启动Oracle实例(非安装阶段)

  • 由实例安装数据库(安装阶段)
  • 打开数据库(打开阶段)

    可使用命令查看启动的阶段:SQL> select status from v$instance;
    注意: 阶段一时不能登录 阶段二普通用户不能登录 阶段三任何用户都可以登录 startup回车会直接启动数据库,完整执行三个阶段

四、客户端和服务器端通信

通信机制

image-20201226220510984.png

监听

lsnrctl命令行格式如下:
lsnrctl { start | stop | status | reload | set | show | help | version | change_password}

查看监听状态

lsnrctl status
注意:管理员才可以执行监听命令,在命令行下执行命令,
如果有多个监听,查看,启动,停止某个监听,就在关键词后添加监听名称,
例如 lsnrctl status listener1
image-20201226222511275.png

停止监听

lsnrctl stop
image-20201226222737906.png

启动监听

lsnrctl start
image-20201226222628248.png

新增监听

1、使用Net Manager配置监听

1.1.开始—所有程序—Oracle - OraDb11g_home1—配置和移植工具—Net Manager
1-Net-Manager.png
1.2、依次点击+号,展开Oracle Net配置—本地—监听程序—LISTENER,修改右侧主机配置为自己电脑的IP地址
2-listen.png
1.3、然后右上角关闭配置窗口,并点击保存配置
3-save.png
1.4、此时,如果本机防火墙已经关闭掉,安装过oracle客户端的电脑就可以直接使用sqlplus来连接进来
4-sqlplus.png

2、修改oracle安装目录下的listener.ora监听配置文件

2.1、进入oracle安装目录下的listener.ora配置文件所在目录
C:\app\ZCY\product\11.2.0\dbhome_1\NETWORK\ADMIN
1-listener.ora_.png
2.2、以记事本的方式打开listener.ora文件,可以看到使用Net Manager配置的内容
2-neirong.png
2.3、可以直接复制下面代码粘贴到自己oracle安装目录下的listener.ora文件,按找自己安装目录做修改后使用

  1. # listener.ora network configuration file:
  2. c:\app\zcy\product\11.2.0\dbhome_1\network\admin\listener.ora
  3. # generated by oracle configuration tools.
  4. sid_list_listener =
  5. (sid_list =
  6. (sid_desc =
  7. (sid_name = clrextproc)
  8. (oracle_home = c:\app\zcy\product\11.2.0\dbhome_1)
  9. (program = extproc)
  10. (envs = "extproc_dlls=only:c:\app\zcy\product\11.2.0\dbhome_1\bin\oraclr11.dll")
  11. )
  12. )
  13. listener =
  14. (description_list =
  15. (description =
  16. (address = (protocol = ipc)(key = extproc1521))
  17. )
  18. (description =
  19. (address = (protocol = tcp)(host = 192.168.217.128)(port = 1521))
  20. )
  21. )
  22. adr_base_listener = c:\app\zcy

3、Oracle 11g使用Net Configuration Assistant工具配置监听程序

1、找到Net Configuration Assistant工具,单击运行,选中“监听程序配置”,单击“下一步”
20180312195651537.png
2、打开监听程序配置对话框,可以添加、重新配置、重命名或删除监听程序。重命名或删除监听程序前,要先停止监听程序。第一次配置时选中“添加”,然后单击“下一步”
20180312200045332.png
3、打开配置监听程序名对话框,输入监听程序的名称。每个监听程序由唯一的名称标志。可以就是默认的LISTENER,然后单击“下一步”
20180312200335812.png
4、打开选择协议对话框,从“可用协议”列表框中选择协议TCP,单击右箭头按钮,将其移到“选定的协议”列表框中,单击“下一步”
20180312200643170.png
5、打开配置监听程序TCP/IP端口号对话框,有两个选项可以选择,“使用标准端口号 1521”和“请使用另一个端口号”。选中“使用标准端口号 1521”即可,单击“下一步”
2018031220094713.png
6、打开是否配置另一个监听程序对话框,选择不需要。单击“下一步”,结束配置监听
20180312201154287.png
20180312201235533.png
20180312201307177.png
20180312201330937.png
通过网络配置助手Net Configuration Assistant(netca)配置完监听程序之后,系统就会自动生成一个文件listener.ora。该文件为listener监听器进程的配置文件,存放在数据库服务器端。listener进程接受远程对数据库的接入申请并转交给Oracle的服务器进程,所以,如果不使用远程连接,listener进程就不是必须的。如果关闭listener进程,并不会影响已经存在的数据库连接

监听和实例的启动顺序

image-20201226231518142.png
方式一不会出问题
方式二可能会出现“监听程序当前无法识别链接描述符中请求的资源”,原因是后台进程PMON还没来得及注册监听实例服务

为了解决方式二出现的问题,可以静态注册监听 采取静态监听注册方法时,listener.ora 文件的内容如下

单实例:

  1. sid_list_listener =
  2. (sid_list =
  3. (sid_desc =
  4. (global_dbname = db01)
  5. (oracle_home = /oracle/app/oracle/product/11.2.0)
  6. (sid_name = db01)
  7. )
  8. )
  9. listener = -->监听器的名字,一台数据库可以有多个监听器
  10. (description =
  11. (address = (protocol = tcp)(host = xxx)(port = 1521))
  12. )

多实例:

  1. sid_list_listener =
  2. (sid_list =
  3. (sid_desc =
  4. (sid_name = plsextproc)
  5. (oracle_home = /oracle/app/oracle/product/11.2.0) (program = extproc)
  6. )
  7. (sid_desc =
  8. (global_dbname =db01)
  9. (oracle_home = /oracle/app/oracle/product/11.2.0) (sid_name =db01)
  10. )
  11. (sid_desc =
  12. (global_dbname =db02)
  13. (oracle_home = /oracle/app/oracle/product/11.2.0) (sid_name =db02)
  14. )
  15. )

Net Manager 静态注册监听

image-20201226235914866.png
image-20201227000216789.png
image-20201227000313152.png

客户端配置网络服务名

客户端访问时可以通过网络服务名简化登录
image-20201226234633692.png

配置网络服务名步骤

一、打开“Net Manager”
1167263-20180921115246423-2052064775.png
二、创建服务
1167263-20180921140739026-1164983654.png
1167263-20180921140905717-648013807.png
1167263-20180921140942595-1636338196.png
1167263-20180921141033501-1263642745.png
1167263-20180921141115329-1943304579.png

此需要注意,通常情况下只有测试成功才算配合正确
网络服务名的配置保存到配置文件tnsnames.ora
image-20201226235157711.png

扩展

sqlplus登录方式

方式1:(本机): / as sysdba

在oracle服务器,可以直接通过操作系统权限认证,使用sysdba方式登陆,前提是你可以登入服务器,并且拥有此权限
sqlplus / as sysdba

方式2:(本机): sqlplus 用户名/密码

在本机除了sysdba,还可以通过用户名和密码的方式登陆进来

  1. sqlplus 用户名/密码 [as sysdba]
  2. sqlplus system/liumiao123

方式3:通过tnsname方式

通过tns设定,保证联通性的情况下使用 sqlplus 用户名/密码@网络服务名 的方式进行连接

  1. sqlplus user/passwd@网络服务名
  2. 例如 sqlplus user/passwd@orcl

方式4:远程访问

  1. sqlplus 用户名/密码@IP:端口/实例名
  2. 例如:sqlplus user/passwd@192.168.1.2:1521/orcl

查询数据库全名

  1. select global_name from global_name;
  2. 或者
  3. select name from v$database;

查询实例名(SID)

select instance_name from v$instance;

忘记密码

image-20201226213348227.png
image-20201226213406150.png
sql>alter user 用户名 account unlock;
image-20201226213532169.png
sql>alter user 用户名 identified by 密码;

OEM使用

1.主目录

主目录部分呈现了数据库实例的整体状态,它通过图形的形式呈现,而更具体的指标和内容可以单击相应的内容获得。例如:要获得CPU具体情况,可以单击CPU图下面的带下划线的数据。其他情况类似,如下图所示:
image-20201225220612922.png

2.性能

性能部分主要提供了主机监控、用户连接监控及i/o性能,还有其他相关的连接选项用于辅助判断

  • 主机监控监控

是否存在cpu瓶颈。它呈现了cpu使用率的曲线图,清晰地呈现出不同时段cpu使用率的高低。如果发现某段时间内cpu使用率极高,并且已经出现了性能问题,如终端用户反映应用系统变慢,那么这时就需要分析用户会话,看那些sql正在消耗cpu资源。
image-20201225220856135.png

  • 平均活动会话监控

这是分析性能问题的关键部分,它呈现了实例中某个时间段内会话正在等待哪些事件,以及哪些会话正在等待那些事件,事件会用不同的颜色表示。性能-查看数据-历史(显示7天的)
image-20201225220928983.png

  • 重复的sql:

显示实例中重复次数较多的sql,开发人员可以使用参数绑定修改这些sql,提高cpu的利用率
20190513112500188.png
20190513112539119.png

3.可用性

可用性部分主要针对备份和恢复的设置和管理,下面将使用OEM进行备份
20190816151207200.png进入备份设置页面:
20190513112710615.png
20190513112739456.png
填写主机身份证明,用户名oracle,磁盘的备份采用默认,并行度为Q,最后单击“测试磁盘备份”,如果成功则设置完毕,否则根据提示重新填写
20190513112900999.png
20190513112935611.png
20190513112954851.png
单击“备份集”标签,填写备份片大小,压缩算法,单击“确定”完成设置
20190816151252463.png
单击“策略”标签,可以对备份策略、保留策略及其他策略进行设置,此处采用默认设置
20190513171248777.png
设置完毕后,点击“确定”
2019051317131738.png
备份设置完毕后,需要进行调度备份设置
20190513171406810.png
填写正确的身份证明,单击“调度定制备份”
2019051317153567.png
20190513171558698.png
20190816151705999.png
20190816151726590.png
设置调度频率,选择“一次(立即)”,单击下一步
20190816151807780.png
20190816151828361.png
编辑脚本
20190514083549484.png
提交作业
20190513171713910.png
可以查看作业
20190816151913111.png
调度备份成功后,可以“管理当前备份”
20190816151935432.png
20190816151958573.png

4.服务器

服务器包括存储、数据库配置、调度、统计、资源、安全、查询优化及更改数据管理功能
20190816152015448.png

4.1 用户管理

该界面以列表形式呈现了表空间的一些关键指标,如已分配大小、已用空间、是否自动扩展、空闲的已分配空间等
2019081615204155.png

4.2 创建表空间

创建用户首先要创建表空间
20190816152059446.png
添加数据文件
2019081615213056.png
201908161521572.png
20190816152227873.png
单击“确定”后,表空间创建完毕

4.2 创建用户

创建用户,首先进入用户管理界面
20190816152250143.png
创建用户
20190816152343571.png
输入相关信息
2019081615242349.png
点击“角色”,为用户分配角色,单击“编辑列表”
20190816152508329.png
点击“确定”,创建用户
20190816152522214.png

5. 方案

方案部分主要包括对数据库对象、程序、物化视图、字变更管理、用户自定义类型、XML数据库、工作区管理器及文本管理器的管理
20190816152539155.png
使用最多的是“表”管理,下面为TEST用户新建一张表
20190816152557376.png
20190816152627511.png
20190816152724265.png
有一个报错信息,是因为没指定BIRTH列的属性和大小
20190816152742250.png
查看结果
20190816152758913.png

6. 数据移动

数据移动包括移动行数据、移动数据文件、流管理及高级复制功能等
20190816152818232.png
下面利用移动行数据的导出功能,导出TEST方案
20190816152834868.png
角色错误的解决办法,不能以sysdba的角色登录,所以可以更换为system用户登录操作
20190514092454902.png
重新导出
20190816152856769.png
20190816152917314.png
20190816152928247.png
20190816152948528.png
20190816153002499.png
20190816153016227.png
20190514092936596.png
20190514092959997.png
导出文件位置是data_dump_dir目录所在位置
20190816151610943.png
20190816151505995.png
查看详细信息
20190816151536900.png
到所在目录下查看

  1. [oracle@nxxxxc ~]$ cd /opt/oracle/app/admin/nxxxxc/dpdump/
  2. [oracle@nxxxxc dpdump]$ ll
  3. total 12
  4. -rw-r-----. 1 oracle oinstall 116 Oct 19 2018 dp.log
  5. -rw-r-----. 1 oracle oinstall 4096 May 14 09:31 EXPDAT01.DMP
  6. -rw-r--r--. 1 oracle oinstall 191 May 14 09:33 EXPDAT.LOG
  7. 123456

7. 软件和支持

软件和支持部分提供了丰富的软件管理内容,包括软件的配置管理、补丁管理、real application testing和部署过程管理器
20190816151403601.png

  • 配置管理

    1. 主机的配置,状态信息及资源使用率信息等。
  • 补丁管理

    1. 可以查看当前的补丁建议,安装补丁的前提要求及应用补丁程序。
  • real application testing

    1. 包括数据库重放和sql性能分析程序。
  • 部署过程管理器

    1. 管理当前已经部署好的过程,包括编辑、查看、运行及监控部署好的过程。

    总结

    1.简述mysql和oracle区别,并分别描述他们的登陆方式?

    区别:

  • Oracle是大型数据库,MySQL是中小型数据库

  • Oracle是收费的数据库,MySQL是开源免费的数据库(也有收费版)
  • Oracle完全支持事务,MySQL只有innodb存储引擎才支持事务
  • Oracle使用序列完成自动增长的功能,MySQL使用自增列完成自动增长的功能

登录方式

  • oracle登录

    1. sqlplus sys/111 as sysdba --sys登录,111是密码
    2. sqlplus system/111 --system 登录,111是密码
  • MySQL登录

    1. mysql -uroot -p123 --root 是用户名,123是密码

    2.请写出Oracle数据库启动和关闭的三个阶段

  • 启动

    • 启动实例
    • 安装数据库
    • 打开数据库
  • 关闭

    • 关闭数据库
    • 卸载数据库
    • 关闭实例

      3.关于侦听器启动和数据库实例启动的说明

  • 侦听器启动和数据库实例启动,没有严格的顺序要求

  • 数据库实例必须在侦听器中注册,才能允许用户远程访问。

    4.oracle登录方式有哪些?

  • 命令行登录

  • 浏览器登录
  • 使用SQL developer登录

    5.oracle数据库的启动命令有哪些,怎么切换启动模式

    1. SQL> startup nomount --表示启动到第一个阶段(不能登录),此时可以用下命令的命令完整启动数据库
    2. SQL> alter database mount;
    3. SQL> alter database open;
    4. SQL> startup mount --表示启动到第二个阶段(普通用户不能登录),此时可以用下命令的命令完整启动数据库
    5. SQL> alter database open;
    6. SQL> startup --表示直接启动到第三个阶段(任何用户都可以登录)