首页 > 数据库 >Oracle 19C 基于 Docker 部署

Oracle 19C 基于 Docker 部署

时间:2023-10-25 11:33:40浏览次数:43  
标签:name user1 bytes oracle tablespace Oracle Docker backup 19C

1、Docker、Docker-Compose安装

https://www.cnblogs.com/a120608yby/p/9883175.html
https://www.cnblogs.com/a120608yby/p/14582853.html

2、基于Docker-Compose部署Oracle

# vim docker-compose.yml
version: '3.4'

services:
  oracledb:
    image: container-registry.oracle.com/database/enterprise:19.3.0.0
    container_name: oracledb
    restart: unless-stopped
    ports:
      - 1521:1521
      - 5500:5500
    networks:
      - ops_default
    environment:
      ORACLE_PWD: "Admin-123456"
      ORACLE_EDITION: enterprise
    volumes:
      - ./oradata:/opt/oracle/oradata
      - /etc/localtime:/etc/localtime:ro

networks:
  ops_default:
    external: true

3、启动服务

docker compose up -d

4、查看服务启动状态

docker-compose ps

5、访问

连接地址:部署主机的IP:1521/orclcdb

6、表空间查询

SELECT b.file_name 物理文件名,
       b.tablespace_name 表空间,
       b.bytes / 1024 / 1024 大小m,
       (b.bytes - SUM(nvl(a.bytes,
                          0))) / 1024 / 1024 已使用m,
       substr((b.bytes - SUM(nvl(a.bytes,
                                 0))) / (b.bytes) * 100,
              1,
              5) 利用率
  FROM dba_free_space a,
       dba_data_files b
 WHERE a.file_id = b.file_id
 GROUP BY b.tablespace_name,
          b.file_name,
          b.bytes
 ORDER BY b.tablespace_name

7、创建表空间及用户

# 切换到oracle用户
su - oracle

# 登录sys用户
sqlplus / as sysdba

# 创建临时表空间
create temporary tablespace temp1 tempfile '/app/oracle/oradata/orcl/temp1.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;

# 创建数据表空间
create tablespace data1 logging datafile '/app/oracle/oradata/orcl/data1.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;

# 创建用户并指定表空间
create user user1 identified by password default tablespace data1 temporary tablespace temp1;

# 给用户授予权限
grant connect,resource,dba to user1;

8、创建备份目录对象并备份

# 创建备份目录对象
CREATE OR REPLACE DIRECTORY backup_dir AS '/home/oracle/backup';

# 赋予读写该目录的权限
GRANT READ, WRITE ON DIRECTORY backup_dir TO user1;

# 查看已经创建的目录对象和对应的路径
SELECT * FROM DBA_DIRECTORIES;

# 删除不需要的目录对象
DROP DIRECTORY backup_dir;

# 备份脚本
#!/bin/bash
#
USER="user1"
PASS="password"
DB="orclcdb"
DIR="/home/oracle/backup"
DATE=$(date +%Y%m%d)
DUMPFILE="$USER-$DATE.dmp"
LOGFILE="$USER-$DATE.log"

mkdir -p $DIR
expdp $USER/$PASS@$DB directory=$DIR dumpfile=$DUMPFILE logfile=$LOGFILE schemas=$USER
gzip $DIR/$DUMPFILE

find $DIR -name "*.gz" -mtime +7 -exec rm -f {} ;

9、数据恢复

# 切换到oracle用户
su - oracle

# 登录sys用户
sqlplus / as sysdba

# 创建与备份时一致的目录对象
CREATE OR REPLACE DIRECTORY backup_dir AS '/home/oracle/backup';

# 赋予读写该目录的权限
GRANT READ, WRITE ON DIRECTORY backup_dir TO user1;

# 导入数据
impdp usre1/password@orclcdb directory=backup_dir dumpfile=user1-20230921.dmp logfile=user1-20230921.log

参考:https://container-registry.oracle.com/ords/ocr/ba/database/enterprise

标签:name,user1,bytes,oracle,tablespace,Oracle,Docker,backup,19C
From: https://www.cnblogs.com/a120608yby/p/17786746.html

相关文章

  • oracle查询scn
    概述在数据库的恢复过程,有时我们需要查询scn,分享一下具体的方法解决方案SQL>setnumwidth50SQL>setlinesize150pagesize1000SQL>select'D'file_type,file#,checkpoint_change#,statusfromV$datafile_headerunionallselect'L',group#,first_change#,......
  • centos7安装Docker(2023/10/24)
    centos7安装Docker(2023/10/24)一、安装前必读系统配置方面,这里使用的是Centos7Linux内核:官方建议3.10以上。注意:本文的命令使用的是root用户登录执行,非root用户所有命令前面要加sudo1.查看当前的内核版本1uname-r如图为3.10,满足条件。 2.使用root权限更......
  • docker新建容器脚本
    新建一个文件夹,vimdocker.sh自动共享该文件夹#!/bin/bashXSOCK=/tmp/.X11-unixxhost+local:rootdockerrun-it\-eDISPLAY=$DISPLAY\-w/humble_ws\-v$PWD:/humble_ws\-v$XSOCK:$XSOCK\-v$HOME/.Xauthority:/root/.Xauthority\-v/dev/bus/usb:/de......
  • 单位机房 服务器 ORACLE数据库服务器
    开发好的软件系统都部署在服务器上才能访问,服务器是专门伺候大家为大家服务的计算机。上几张图片看下服务器的样子 ......
  • 白嫖在线云服务器,免费在 linux 服务器使用 docker 。 附视频+附文档
    白嫖在线云服务器,免费在linux服务器使用docker。附视频+附文档@目录前言启动Nginx案例最后视频:https://www.bilibili.com/video/BV1WN411W79V/国内互联网经过多年发展,单体应用已经无法支持我们的互联网业务,分布式、微服务架构已经是大势所趋。就算是一些小公司,也已......
  • 白嫖在线云服务器,免费在 linux 服务器使用 docker 。 附视频+附文档
    <!--@Author:JavaPub@Date:2023-10-2419:34:55@LastEditors:yourname@LastEditTime:2023-10-2423:00:26@Description:HereistheJavaPubcodebase.SearchJavaPubonthewholeweb.@FilePath:\JavaPub-Blog\docs\posts\docker\免费使用云服务器部署docker.......
  • Oracle特殊恢复原理与实战_12 Oracle坏块处理
       http://dbase.cc/2018/05/22/oracle/Oracle%E7%89%B9%E6%AE%8A%E6%81%A2%E5%A4%8D%E5%8E%9F%E7%90%86%E4%B8%8E%E5%AE%9E%E6%88%98-%E8%AF%BE%E7%A8%8B%E5%AD%A6%E4%B9%A0/12_Oracle%E7%89%B9%E6%AE%8A%E6%81%A2%E5%A4%8D%E5%85%A5%E9%97%A8/......
  • [转]Oracle数据文件损坏的模拟和修复(一) |ORA-01578 data block corrupted|
    造成数据块损坏的原因通常是由于开启了异步I/O或者增加了写进程,还有可能是硬件引起的,今天模拟一下该问题的发生及修复方法。由于水平有限,那面疏漏,欢迎大家指正。 创建测试环境建立测试表空间:123456create tablespacetestdatafile  '/u02/oradata/logdw......
  • oracle rac集群
    操作系统:centos7.6oracle:19c两台RAC服务器配置hosts文件#cat/etc/hosts192.168.3.37rac1192.168.3.105rac2192.168.2.2racprv1192.168.2.3racprv2192.168.3.201racvip1192.168.3.202racvip2192.168.3.200scanip......
  • Oracle Preinstall 调优参数的学习
    OraclePreinstall调优参数的学习背景学习是一个痛苦并快乐的过程.之前自己手工安装过很多套Oracle数据库,也总结过很多但是很多都是比较皮毛的.最近遇到了一些问题.才发现.快餐只能吃饱,要是想学到东西必须精读.必须多方考证多方学习.用户相关所有的应用都不应......