windows本地docker安装oracle以及创建用户

发布于:2025-06-19 ⋅ 阅读:(18) ⋅ 点赞:(0)

# 以19c为例

docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c

# 后台安装并启动容器
docker run -d -p 1521:1521 -p 5500:5500 -e ORACLE_SID=ORCLCDB -e ORACLE_PDB=ORCLPDB -e ORACLE_PWD=123456 -e ORACLE_EDITION=standard -e ORACLE_CHARACTERSET=AL32UTF8 -v D:/Developer/OracleData:/opt/oracle/oradata --name oracle1521 registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c

等10分钟,再执行以下命令,否则执行失败。

# 创建root用户 密码root
docker exec -it oracle1521 /bin/bash
sqlplus / as sysdba
//切换数据库
alter session set container=ORCLPDB;
//创建用户
create user root identified by root;
//授权
grant dba to root;

之后可以用ORCLPDB的root/root登录

--创建表空间
CREATE TABLESPACE TEST_RMMIS2
LOGGING
DATAFILE '/opt/oracle/oradata/test_rmmis2.dbf' 
SIZE 32M 
AUTOEXTEND ON 
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;


--创建临时表空间
CREATE TEMPORARY TABLESPACE TEST_RMMIS2_TEMP
TEMPFILE '/opt/oracle/oradata/test_rmmis2_temp.dbf'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;


--创建用户
create user test_rmmis2
  identified by "test_rmmis2"
  default tablespace TEST_RMMIS2
  temporary tablespace TEST_RMMIS2_TEMP
  profile DEFAULT
  quota unlimited on TEST_RMMIS2;

-- Grant/Revoke role privileges
grant dba to test_rmmis2;

-- Grant/Revoke system privileges
grant unlimited tablespace to test_rmmis2;

字符集不对应(导致数据库导入会提示值过大)
字符集为ZHS16GBK才不会出现字符值过长的问题
默认为:AL32UTF8
 

cmd中:
sqlplus /nolog
conn / as sysdba
shutdown immediate
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
SHUTDOWN IMMEDIATE
STARTUP


网站公告

今日签到

点亮在社区的每一天
去签到