Docker安装Oracle

  • 拉取镜像

    1
    docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
  • 创建容器

    1
    docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
    创建容器
  • 启动容器

    1
    docker start oracle11g
  • 进入镜像配置

    1
    docker exec -it oracle11g bash
  • 接着执行如下命令切换到 oracle 数据库的 root 用户下(密码为:helowin

    1
    2
    # 进入 Oracle 容器内执行
    su root
  • 配置环境变量

    1
    2
    3
    4
    vim /etc/profile
    export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
    export ORACLE_SID=helowin
    export PATH=$ORACLE_HOME/bin:$PATH
  • 建立软连接

    1
    ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
  • 切换到oracle 用户

    1
    su - oracle
  • 登录

    1
    2
    3
    4
    # 无密码登录
    sqlplus /nolog
    # 连接 sysdba
    conn /as sysdba
    流程
  • 修改sys、system 用户密码

    1
    2
    3
    4
    alter user system identified by system;
    alter user sys identified by sys;

    ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
  • 清屏幕

    1
    clear scr;
  • 解锁scott

    1
    2
    3
    alter user scott account unlock;
    alter user scott identified by scott;
    commit;
  • 创建用户

    1
    2
    create user test identified by test;
    grant dba to test;
  • Navcait 连接

    基础配置 测试链接
  • 打开SCOTT 用户

    查看基本表
  • 数据导出

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    /*
    Navicat Premium Data Transfer

    Source Server : docker_oracle11g
    Source Server Type : Oracle
    Source Server Version : 110200
    Source Host : 192.168.247.129:1521
    Source Schema : SCOTT

    Target Server Type : Oracle
    Target Server Version : 110200
    File Encoding : 65001

    Date: 04/09/2022 21:07:15
    */


    -- ----------------------------
    -- Table structure for BONUS
    -- ----------------------------
    DROP TABLE "SCOTT"."BONUS";
    CREATE TABLE "SCOTT"."BONUS" (
    "ENAME" VARCHAR2(10 BYTE),
    "JOB" VARCHAR2(9 BYTE),
    "SAL" NUMBER,
    "COMM" NUMBER
    )
    LOGGING
    NOCOMPRESS
    PCTFREE 10
    INITRANS 1
    STORAGE (
    BUFFER_POOL DEFAULT
    )
    PARALLEL 1
    NOCACHE
    DISABLE ROW MOVEMENT
    ;

    -- ----------------------------
    -- Records of BONUS
    -- ----------------------------

    -- ----------------------------
    -- Table structure for DEPT
    -- ----------------------------
    DROP TABLE "SCOTT"."DEPT";
    CREATE TABLE "SCOTT"."DEPT" (
    "DEPTNO" NUMBER(2,0) NOT NULL,
    "DNAME" VARCHAR2(14 BYTE),
    "LOC" VARCHAR2(13 BYTE)
    )
    LOGGING
    NOCOMPRESS
    PCTFREE 10
    INITRANS 1
    STORAGE (
    INITIAL 65536
    NEXT 1048576
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    BUFFER_POOL DEFAULT
    )
    PARALLEL 1
    NOCACHE
    DISABLE ROW MOVEMENT
    ;

    -- ----------------------------
    -- Records of DEPT
    -- ----------------------------
    INSERT INTO "SCOTT"."DEPT" VALUES ('10', 'ACCOUNTING', 'NEW YORK');
    INSERT INTO "SCOTT"."DEPT" VALUES ('20', 'RESEARCH', 'DALLAS');
    INSERT INTO "SCOTT"."DEPT" VALUES ('30', 'SALES', 'CHICAGO');
    INSERT INTO "SCOTT"."DEPT" VALUES ('40', 'OPERATIONS', 'BOSTON');

    -- ----------------------------
    -- Table structure for EMP
    -- ----------------------------
    DROP TABLE "SCOTT"."EMP";
    CREATE TABLE "SCOTT"."EMP" (
    "EMPNO" NUMBER(4,0) NOT NULL,
    "ENAME" VARCHAR2(10 BYTE),
    "JOB" VARCHAR2(9 BYTE),
    "MGR" NUMBER(4,0),
    "HIREDATE" DATE,
    "SAL" NUMBER(7,2),
    "COMM" NUMBER(7,2),
    "DEPTNO" NUMBER(2,0)
    )
    LOGGING
    NOCOMPRESS
    PCTFREE 10
    INITRANS 1
    STORAGE (
    INITIAL 65536
    NEXT 1048576
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    BUFFER_POOL DEFAULT
    )
    PARALLEL 1
    NOCACHE
    DISABLE ROW MOVEMENT
    ;

    -- ----------------------------
    -- Records of EMP
    -- ----------------------------
    INSERT INTO "SCOTT"."EMP" VALUES ('7369', 'SMITH', 'CLERK', '7902', TO_DATE('1980-12-17 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '800', NULL, '20');
    INSERT INTO "SCOTT"."EMP" VALUES ('7499', 'ALLEN', 'SALESMAN', '7698', TO_DATE('1981-02-20 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '1600', '300', '30');
    INSERT INTO "SCOTT"."EMP" VALUES ('7521', 'WARD', 'SALESMAN', '7698', TO_DATE('1981-02-22 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '1250', '500', '30');
    INSERT INTO "SCOTT"."EMP" VALUES ('7566', 'JONES', 'MANAGER', '7839', TO_DATE('1981-04-02 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '2975', NULL, '20');
    INSERT INTO "SCOTT"."EMP" VALUES ('7654', 'MARTIN', 'SALESMAN', '7698', TO_DATE('1981-09-28 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '1250', '1400', '30');
    INSERT INTO "SCOTT"."EMP" VALUES ('7698', 'BLAKE', 'MANAGER', '7839', TO_DATE('1981-05-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '2850', NULL, '30');
    INSERT INTO "SCOTT"."EMP" VALUES ('7782', 'CLARK', 'MANAGER', '7839', TO_DATE('1981-06-09 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '2450', NULL, '10');
    INSERT INTO "SCOTT"."EMP" VALUES ('7788', 'SCOTT', 'ANALYST', '7566', TO_DATE('1987-04-19 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '3000', NULL, '20');
    INSERT INTO "SCOTT"."EMP" VALUES ('7839', 'KING', 'PRESIDENT', NULL, TO_DATE('1981-11-17 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '5000', NULL, '10');
    INSERT INTO "SCOTT"."EMP" VALUES ('7844', 'TURNER', 'SALESMAN', '7698', TO_DATE('1981-09-08 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '1500', '0', '30');
    INSERT INTO "SCOTT"."EMP" VALUES ('7876', 'ADAMS', 'CLERK', '7788', TO_DATE('1987-05-23 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '1100', NULL, '20');
    INSERT INTO "SCOTT"."EMP" VALUES ('7900', 'JAMES', 'CLERK', '7698', TO_DATE('1981-12-03 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '950', NULL, '30');
    INSERT INTO "SCOTT"."EMP" VALUES ('7902', 'FORD', 'ANALYST', '7566', TO_DATE('1981-12-03 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '3000', NULL, '20');
    INSERT INTO "SCOTT"."EMP" VALUES ('7934', 'MILLER', 'CLERK', '7782', TO_DATE('1982-01-23 00:00:00', 'SYYYY-MM-DD HH24:MI:SS'), '1300', NULL, '10');

    -- ----------------------------
    -- Table structure for SALGRADE
    -- ----------------------------
    DROP TABLE "SCOTT"."SALGRADE";
    CREATE TABLE "SCOTT"."SALGRADE" (
    "GRADE" NUMBER,
    "LOSAL" NUMBER,
    "HISAL" NUMBER
    )
    LOGGING
    NOCOMPRESS
    PCTFREE 10
    INITRANS 1
    STORAGE (
    INITIAL 65536
    NEXT 1048576
    MINEXTENTS 1
    MAXEXTENTS 2147483645
    BUFFER_POOL DEFAULT
    )
    PARALLEL 1
    NOCACHE
    DISABLE ROW MOVEMENT
    ;

    -- ----------------------------
    -- Records of SALGRADE
    -- ----------------------------
    INSERT INTO "SCOTT"."SALGRADE" VALUES ('1', '700', '1200');
    INSERT INTO "SCOTT"."SALGRADE" VALUES ('2', '1201', '1400');
    INSERT INTO "SCOTT"."SALGRADE" VALUES ('3', '1401', '2000');
    INSERT INTO "SCOTT"."SALGRADE" VALUES ('4', '2001', '3000');
    INSERT INTO "SCOTT"."SALGRADE" VALUES ('5', '3001', '9999');

    -- ----------------------------
    -- Primary Key structure for table DEPT
    -- ----------------------------
    ALTER TABLE "SCOTT"."DEPT" ADD CONSTRAINT "PK_DEPT" PRIMARY KEY ("DEPTNO");

    -- ----------------------------
    -- Primary Key structure for table EMP
    -- ----------------------------
    ALTER TABLE "SCOTT"."EMP" ADD CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO");

    -- ----------------------------
    -- Foreign Keys structure for table EMP
    -- ----------------------------
    ALTER TABLE "SCOTT"."EMP" ADD CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO") REFERENCES "SCOTT"."DEPT" ("DEPTNO") NOT DEFERRABLE INITIALLY IMMEDIATE NORELY VALIDATE;