docker容器安装oracle11g

docker 安装oracle11g

注意:下面的所有的操作都是在linux 里面直接输入命令

一、安装docker 容器

如果没有 /etc/docker/daemon.json这个文件,那么得创建一个
vi /etc/docker/daemon.json
{
“insecure-registries”: [“192.168.176.246:4000”]
}
然后重启docker,输入命令:systemctl restart docker
外网的下载地址:docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g pull默认会下载最新版本 不用这个外网的,直接用下面老师的 192.168.176.246那个
然后输入这两行命令:docker pull 192.168.176.246:4000/ied/oracle_11g docker run -it -d -p 1521:1521 -v /data/oracle:/data/oracle --name oracle11g 192.168.176.246:4000/ied/oracle_11g

二、进入docker 容器

输入命令:docker exec -it oracle11g bash
输入命令:su root 切换到root管理员
输入密码:helowin
输入命令:vi /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

加载环境变量:source /etc/profile
创建软l连接:ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
切换到oracle用户:su oracle
下面这些可以选择修改,也可以选择不修改
sqlplus /nolog --登录
conn /as sysdba – 最高权限登录系统管理员,远程登录是不能用的
alter user system identified by system;–修改system用户账号密码;
alter user sys identified by system;–修改sys用户账号密码;
create user test identified by test; – 创建内部管理员账号密码;
grant connect,resource,dba to test; --将dba权限授权给内部管理员账号和密码;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --修改密码规则策略为密码永不过期;(会出现坑,后面讲解)
alter system set processes=1000 scope=spfile; –修改数据库最大连接数据;
修改了以上的信息后,需要重启数据库:
conn /as sysdba
shutdown immediate; --关闭数据库
startup; --启动数据库
exit:退出软链接

当执行修改密码的时候出现:database not open
alter database mount;
alter database open;
1、关闭数据库

三、删除容器

如果之前安装的时候出现了错误,那么就把容器删了重新来
1、查看运行容器
docker ps
2、查看所有容器
docker ps -a
3、进入容器,其中字符串为容器的id
docker exec -it d27bd3008ad9 /bin/bash
4、停用全部运行中的容器
docker stop $(docker ps -q)
5、删除全部容器
docker rm $(docker ps -aq)
6、一条命令实现停用并且删除容器
docker stop $(docker ps -q) & docker rm $(docker ps -aq)

四、navciat连接oracle数据库

主机:浮动ip地址
服务名:helowin(密码)
用户名:ciss
密码:123456
在这里插入图片描述

五、修改字符集

1、配置oracle字符集

下面的操作在navcait里面执行
查看oracle字符集:select * from nls_database_parameters where parameter = 'NLS_CHARACTERSET';

2、修改Oracle字符集为ZHS16GBK

下面的操作都是在navcait里面进行操作
1、关闭数据库:shutdown immediate;
2、mount方式打开数据库:startup mount;
3、配置session:
ALTER SYSTEM ENABLE RESTRICTED SESSION; ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; ALTER SYSTEM SET AQ_TM_PROCESSES=0;
4、启动数据库:alter database open;
5、修改字符集:ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
6、关闭,重新启动:shutdown immediate; startup;
7、再次查看编码格式:select * from nls_database_parameters where parameter = 'NLS_CHARACTERSET';

六、导入数据库

前面两个在navcait中操作,从第三个进入容器开始,linux里面操作

1、将数据文件上传到服务器的/data/oracle/目录中然后导入

查看DUMP目录是否存在:select * from dba_directories where DIRECTORY_NAME='DB_DUMP';
创建DUMP目录:create directory DB_DUMP as '/data/oracle/';
进入容器,使用oracle用户执行导入:docker exec -it oracle11g bash
source /etc/profile 保存配置文件
impdp ciss/123456@localhost/helowin DIRECTORY=DB_DUMP DUMPFILE=CISS_2021.dmp
导入完成后删除dmp文件:rm -rf /data/oracle/back_up/CISS_2021.dmp

2、如果提示ORA-39002错误,表示oracle账户没有/data/oracle目录的权限

进入容器:docker exec -it oracle11g bash
切换到root账号:su - root 输入密码:helowin
执行:chown -R oracle:oinstall /data/oracle
切换回oracle账号:su - oracle
然后再次导入即可

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Docker安装Oracle 11g,您可以按照以下步骤操作: 1. 首先,确保您的机器上已经安装Docker。您可以在终端中运行`docker --version`来检查Docker安装情况。 2. 下载Oracle 11g的安装文件。由于Oracle数据库是商业产品,因此您需要从官方网站或授权渠道获取安装文件。 3. 创建一个Docker镜像。在您的终端中,使用以下命令创建一个Dockerfile: ```Dockerfile FROM oraclelinux:7-slim COPY oracle11g_installer.zip /tmp/ RUN yum -y install unzip \ && unzip /tmp/oracle11g_installer.zip -d /tmp/installer \ && rm /tmp/oracle11g_installer.zip \ && cd /tmp/installer/database \ && ./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /tmp/installer/db_install.rsp RUN rm -rf /tmp/installer ENV ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 ENV PATH=$ORACLE_HOME/bin:$PATH ENV LD_LIBRARY_PATH=$ORACLE_HOME/lib EXPOSE 1521 CMD ["/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart", "/u01/app/oracle/product/11.2.0/dbhome_1"] ``` 将上述Dockerfile中的`oracle11g_installer.zip`替换为您下载的Oracle 11g安装文件的路径。 4. 构建Docker镜像。在终端中,使用以下命令构建镜像: ```shell docker build -t oracle11g . ``` 该命令将根据Dockerfile创建一个名为`oracle11g`的镜像。 5. 运行Oracle 11g容器。在终端中,使用以下命令运行容器: ```shell docker run -d -p 1521:1521 --name oracle11g-container oracle11g ``` 该命令将在后台运行一个名为`oracle11g-container`的容器,并将容器的1521端口映射到主机的1521端口。 现在,您应该可以通过连接到`localhost:1521`来访问Oracle数据库。请注意,使用这种方式安装Oracle 11g是仅限于开发和测试用途的。如果您需要在生产环境中使用Oracle数据库,请参考官方文档或咨询专业人士以获取更详细的指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值