美文网首页
【转载】docker安装oracle瘦身版

【转载】docker安装oracle瘦身版

作者: andycheng | 来源:发表于2024-06-23 17:59 被阅读0次

将Linux中安装了Docker,并打算使用Oracle数据库。

一开始只是直接下载镜像使用,但由于无法连接账户,重新下载了一次。

版本是oracle-12c

  1. 登录Docker
$ docker login -u <用户名> -p <密码>

$ docker login
username: [dockerid]
password: [dockerPassword]

请填写您的Docker账号和密码,有Docker账号吧?

尽管会提示密码未加密,但可以忽略。

  1. 拉取Oracle镜像
docker pull wvbirder/database-enterprise:12.2.0.1-slim

拉取后,通过docker images命令确认镜像是否下载成功。

  1. 运行Oracle容器
docker run -dit --name local_db -p 1521:1521 wvbirder/database-enterprise:12.2.0.1-slim

运行后,请使用docker ps命令再次确认进程是否正常启动。

  1. 检查Docker运行日志并等待完成
docker logs -f local_db

以下是一些日志示例:

Setup Oracle Database
Oracle Database 12.2.0.1 Setup
...
Database opened.
...
DONE!
Remove password info
Docker DB configuration is complete!

当看到日志中提示ALTER SYSTEM SET encrypt_new_tablespaces='DDL' SCOPE=BOTH;,表示配置完成。

  1. 创建用户

执行以下命令进入Oracle容器:

docker exec -it local_db bash -c "source /home/oracle/.bashrc; sqlplus sys/Oradoc_db1@ORCLCDB as sysdba"

创建用户并授予权限:

SQL> alter session set "_ORACLE_SCRIPT"=true;
SQL> create user test identified by password;
SQL> grant connect, resource, dba to test;
SQL> commit;

设置字符集以适应中国时区和中文:

update sys.props$ set value$='AL32UTF8' where name='NLS_CHARACTERSET';
update sys.props$ set value$='AL32UTF8' where name='NLS_NCHAR_CHARACTERSET';
update sys.props$ set value$='AMERICAN_AMERICA.AL32UTF8' where name='NLS_LANGUAGE';
commit;

重启数据库:

shutdown immediate;

之前使用MySQL时,由于使用了sysdate等功能,显示的都是美国时间,花了很长时间才修改成功。尽管资料很多,但修改起来总是出问题。

现在需要确认Oracle连接是否正常。

通常我使用HeidiSQL连接MySQL或MariaDB,但对于Oracle,我使用DBeaver。

点击红色按钮,会出现以下窗口:

如果是本机,Host填写localhost;如果是其他服务器,填写服务器IP。

Database可以通过以下命令查询,且在Database旁边的SID必须设置:

select name from v$database;

填写用户名和密码,然后点击左下角的“Test Connection”按钮即可。完成!

注意事项

实际测试,只改上面的字符集是不够的,还需要修改其他表,具体操作参考ORA-06552错误的解决-CSDN博客

相关文章

网友评论

      本文标题:【转载】docker安装oracle瘦身版

      本文链接:https://www.haomeiwen.com/subject/gbhrcjtx.html