一、部署Oracle

部署Oracle

  • 一、Docker部署
    • 1.Oracle11g
      • [1.1 测试环境](#1.1 测试环境)
        • [1.1.1 拉取镜像](#1.1.1 拉取镜像)
        • [1.1.2 启动容器](#1.1.2 启动容器)
        • [1.1.3 配置容器环境变量](#1.1.3 配置容器环境变量)
        • [1.1.4 修改sys、system用户密码](#1.1.4 修改sys、system用户密码)
        • [1.1.5 创建表空间](#1.1.5 创建表空间)
        • [1.1.6 创建用户并授权](#1.1.6 创建用户并授权)
        • [1.1.5 使用DBeaver测试连接](#1.1.5 使用DBeaver测试连接)
  • 二、安装包部署

一、Docker部署

1.Oracle11g

1.1 测试环境

  • 当前只能用于测试环境,因为数据文件目录未挂载到宿主机
1.1.1 拉取镜像
1.1.2 启动容器
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
  • 参数详解:
    • -d:表示以后台模式(detached mode)运行容器,即使在关闭终端之后,容器也可以继续运行。
    • -p 1521:1521:将容器的 1521 端口映射到宿主机的 1521 端口。这样,你可以从宿主机上的客户端连接到容器中运行的 Oracle 数据库。
    • --name oracle11g:为容器指定一个名称,方便后续对容器进行管理和操作。
    • registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:指定要运行的 Docker 镜像名称。该镜像是一个包含 Oracle 11g 数据库的镜像,由阿里云提供。
1.1.3 配置容器环境变量
# 1.进入容器
docker exec -it oracle11g bash

# 2.打开 bashrc,每次进来就会加载,这个修改oracle用户的即可
vi ~/.bashrc
# 在profile最后面加上以下内容
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
# 4.刷新配置
source ~/.bashrc
1.1.4 修改sys、system用户密码

登录oracle

[oracle@d37726651279 /]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 12 10:28:17 2024

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn /as sysdba
Connected.

修改默认用户密码

SQL> alter user system identified by system;

User altered.

SQL> alter user sys identified by sys;

User altered.

SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

Profile altered.
  • 命令详解
    • ALTER USER system IDENTIFIED BY system;:这个命令用于修改 system 用户的密码。在这个例子中,将密码修改为 system。你可以根据需要替换 system 为其他复杂的密码。
    • ALTER USER sys IDENTIFIED BY sys;:这个命令用于修改 sys 用户的密码。在这个例子中,将密码修改为 sys。同样,你可以根据需要替换为其他密码。
      • 注意:修改 sys 和 system 用户的密码需要非常小心,确保使用强密码并只授权给受信任的用户。
    • ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;:这个命令用于更改默认配置文件 DEFAULT 的密码策略。在这个例子中,将密码寿命限制设置为无限制,即密码永不过期。
1.1.5 创建表空间
# 使用sysdba账户进入
sqlplus / as sysdba

# 创建表空间
SQL> create tablespace test_db datafile '/home/oracle/app/oracle/oradata/helowin/test_db.dbf' size 1024M autoextend on next 100M;

Tablespace created.
  • 参数详解:
    • create tablespace:创建表空间的 SQL 关键字。
    • test_db:新表空间的名称。
    • datafile:指定该表空间所使用的数据文件。
    • '/home/oracle/app/oracle/oradata/helowin/test_db.dbf':数据文件的完整路径和文件名。
    • size 1024M:指定数据文件的初始大小为 1024 MB。
    • autoextend on:表示数据文件启用自动扩展功能。
    • next 100M:指定每次自动扩展的增量为 100 MB。
1.1.6 创建用户并授权
  • 一个用户可以被授权使用多个表空间,而一个表空间也可以被授权给多个用户使用。

    /创建用户 并授权test_db表空间/
    create user ora_user identified by qwe123 default tablespace test_db;
    /授权 DBA 角色给test_user的 SQL 语句。在 Oracle 数据库中,DBA 角色是最高权限的角色之一,拥有对数据库实例的完全访问权和管理权。/
    grant dba to ora_user;

1.1.5 使用DBeaver测试连接
  • 在sqlplus使用system用户登录,查询服务名称

    [oracle@d37726651279 /]$ sqlplus

    SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 12 10:54:11 2024

    Copyright (c) 1982, 2009, Oracle. All rights reserved.

    Enter user-name: system
    Enter password:

    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options

    SQL> select value from v$parameter where name = 'service_names';

    VALUE

    helowin

  • 需要先查看端口是否开放

    开放1521端口,需要回到宿主机执行!!!

    firewall-cmd --zone=public --add-port=1521/tcp --permanent
    firewall-cmd --reload

二、安装包部署

相关推荐
Acrelhuang18 分钟前
安科瑞5G基站直流叠光监控系统-安科瑞黄安南
大数据·数据库·数据仓库·物联网
Mephisto.java29 分钟前
【大数据学习 | kafka高级部分】kafka的kraft集群
大数据·sql·oracle·kafka·json·hbase
Mephisto.java31 分钟前
【大数据学习 | kafka高级部分】kafka的文件存储原理
大数据·sql·oracle·kafka·json
十叶知秋1 小时前
【jmeter】jmeter的线程组功能的详细介绍
数据库·jmeter·性能测试
瓜牛_gn3 小时前
mysql特性
数据库·mysql
奶糖趣多多4 小时前
Redis知识点
数据库·redis·缓存
CoderIsArt5 小时前
Redis的三种模式:主从模式,哨兵与集群模式
数据库·redis·缓存
师太,答应老衲吧7 小时前
SQL实战训练之,力扣:2020. 无流量的帐户数(递归)
数据库·sql·leetcode
Channing Lewis8 小时前
salesforce case可以新建一个roll up 字段,统计出这个case下的email数量吗
数据库·salesforce
毕业设计制作和分享9 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis