关于[bigdata-005]用docker搭建oracle11g并提供python3开发和docker部署oracle11g的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Centos7
关于[bigdata-005] 用docker搭建oracle 11g并提供python3 开发和docker部署oracle11g的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Centos7 使用Docker搭建Oracle测试环境、docker 安装oracle11g、docker 搭建oracle环境、docker 运行 oracle11g等相关知识的信息别忘了在本站进行查找喔。
本文目录一览:- [bigdata-005] 用docker搭建oracle 11g并提供python3 开发(docker部署oracle11g)
- Centos7 使用Docker搭建Oracle测试环境
- docker 安装oracle11g
- docker 搭建oracle环境
- docker 运行 oracle11g
[bigdata-005] 用docker搭建oracle 11g并提供python3 开发(docker部署oracle11g)
参考资料
http://www.bubuko.com/infodetail-401514.html
1. docker上的oracle 11g
https://hub.docker.com/r/alexeiled/docker-oracle-xe-11g/
安装和启动命令:
1.1 docker pull alexeiled/docker-oracle-xe-11g
1.2 docker run --name dck-oracle-11g -d -p 1521:1521 -p 8080:8080 alexeiled/docker-oracle-xe-11g
1.3 docker exec -it dck-oracle-11g bash
2.oracle的本地登录用户密码
hostname: localhost
port: 1521
sid: xe
username: system
password: oracle
注意:这个密码在7天后失效,登录要要尽快修改
3. oracle的web管理界面
url: http://localhost:8080/apex
workspace: internal
user: admin
password: oracle
这个密码在首次登录后也要修改。
4. 操作oracle数据库
在1.3步骤,已经登录到容器的bash了。
启动oracle:
su oracle
lsnrctl start
启动sqlplus
sqlplus system/oracle
退出:exit
5. 创建表空间,用户,授权,插入数据等等
http://www.cnblogs.com/furenjian/articles/2889787.html
http://blog.sina.com.cn/s/blog_406a1d3f0100qz2f.html
显示表空间文件位置
select name from v$datafile;
创建表空间
create tablespace briantest datafile ''/u01/app/oracle/oradata/XE/briantest.dbf'' size 100m;
创建用户
create user brisql identified by chun default tablespace briantest;
授权
grant dba,connect to brisql;
修改用户sytem密码成为tigerxx
alter user system identified by tigerxx
显示所有登录用户
select username from dba_users;
用brisql用户登录
sqlplus brisql/chun
创建表:
create table briantable(id number(10),name varchar(100),age number(3));
添加记录:
insert into briantable values(1,''b1'',15);
insert into briantable values(2,''b2'',150);
insert into briantable values(3,''b3'',151);
6. 用python3操作oracle
http://www.cnblogs.com/oubo/archive/2012/07/24/2607034.html
http://blog.csdn.net/lpp1989/article/details/8127318
6.1 在非oracle安装机上,要先安装oracle的client,必须如此,不然不能使用。linux 11g下的client下载位置在此
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html
6.2 因为容器里已经安装oracle了,所以不需要再安装client了。
apt-get update
apt-get python3-pip
pip3 install cx_oracle
6.3 配置环境变量
export ORACLE_HOME="/u01/app/oracle/product/11.2.0/xe"
export LD_LIBRARY_PATH="/u01/app/oracle/product/11.2.0/xe/lib":$LD_LIBRARY_PATH
6.4 此时,在python3里执行 import cx_Oracle,应该没有错误了。
Centos7 使用Docker搭建Oracle测试环境
1.更新yum
yum update
2.安装Docker
yum install docker
安装完成后查看Docker的版本:
docker version
查看Docker的信息:
docker info
3.安装完后启动Docker
systemctl start docker.service
none /sys/fs/cgroup cgroup defaults 0 0
chkconfig docker on
docker pull wnameless/oracle-xe-11g
docker run -d -p 1521:1521 -p 8080:8080 wnameless/oracle-xe-11g
使用:docker ps a 命令查看docker容器:
开启已经存在的镜像:
docker start containerId 如上面的镜像在重新开机后重新开启:
docker start 3bf11df7b744
5.打开端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload
6.用PL/SQL Developer连接
Hostname: 192.168.72.100
Port: 1521
Sid: XE
Username: system
Password: oracle
XE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.72.100)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = XE)
)
)
docker 安装oracle11g
1.准备docker环境;
2. docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g --pull 镜像(6个多G)
3.docker run -d -p 1521:1521 -v /data/oracle:/data/oracle --name oracle11 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g --运行oracle镜像并映射本地1521端口;
4.docker exec -it oracle11 /bin/bash --进入容器;
5.配置环境变量,使用root 配置/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
6.保存后执行source /etc/profile 加载环境变量;
7.su - oracle 切换到oracle用户下执行数据库相关用户的修改与配置信息的修改;
sqlplus /nolog
conn /as sysdba
alter user system identified by system;--修改system用户账号;
alter user sys identified by system;--修改sys用户账号;
create user yan_test identified by yan_test; -- 创建内部管理员账号;
grant connect,resource,dba to yan_test; --将dba权限授权给内部管理员账号;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --修改密码规则策略为密码永不过期;
alter system set processes=1000 scope=spfile; --修改数据库最大连接数据;
8.修改以上信息后,需要重新启动数据库;
sqlplus /nolog
conn /as sysdba
shutdown immediate; --关闭数据库
startup; --启动数据库
9.退出docker后可使用pl/sql等客户端工具进行测试。
docker 搭建oracle环境
1.创建容器
docker run -d -p 9090:8080 -p 1521:1521 -v /home/data/oracle:/u01/app/oracle sath89/oracle-12c
2.登录容器
docker exec -it c5a4400ae7d2 /bin/bash
su oracle
$ORACLE_HOME/bin/sqlplus / as sysdba
conn system/oracle as sysdba
3.实例
hostname: localhost
port: 1521
sid: xe
service name: xe.oracle.docker
username: system
password: oracle
原镜像地址:https://hub.docker.com/r/sath89/oracle-12c/
docker 运行 oracle11g
##image
docker pull registry.cn-hangzhou.aliyuncs.com/qida/oracle-xe-11g
或者自己自动添加表
create role test_role;
grant create any table, alter any table, drop any table,
insert any table, update any table, delete any table,
create any index, alter any index, drop any index,
create any sequence, alter any sequence, drop any sequence, select any sequence,
create any view, drop any view
to test_role;
create tablespace testdb datafile ''/u01/app/oracle/oradata/XE/testdb.dbf'' size 300m autoextend on next 1m maxsize unlimited extent management local;
create user test identified by test default tablespace testdb temporary tablespace temp;
grant connect, resource to test;
alter user test quota unlimited on testdb;
grant test_role to test;
构建镜像
FROM registry.cn-hangzhou.aliyuncs.com/qida/oracle-xe-11g
ADD init.sql /docker-entrypoint-initdb.d/
## 启动
docker run -d -p 49160:22 -p 49161:1521 -e ORACLE_ALLOW_REMOTE=true registry.cn-hangzhou.aliyuncs.com/qida/oracle-xe-11g
## 连接
hostname: 192.168.99.100
port: 49161
sid: xe
username: system
password: oracle
Password for SYS & SYSTEM
##jdbc
- maven
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
- repository
<repositories>
<!-- for ORACLE ojdbc6. -->
<repository>
<id>codelds</id>
<url>https://code.lds.org/nexus/content/groups/main-repo</url>
</repository>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
- 配置
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@192.168.99.100:49161:xe
spring.datasource.username=test
spring.datasource.password=test
spring.jpa.hibernate.ddl-auto=update
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
##doc
- wnameless/oracle-xe-11g
- qida/oracle-xe-11g
- 在 Docker 上配置 Oracle
- docker-oracle-xe-11g-demo
关于[bigdata-005] 用docker搭建oracle 11g并提供python3 开发和docker部署oracle11g的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Centos7 使用Docker搭建Oracle测试环境、docker 安装oracle11g、docker 搭建oracle环境、docker 运行 oracle11g等相关知识的信息别忘了在本站进行查找喔。
本文标签: