GVKun编程网logo

[bigdata-005] 用docker搭建oracle 11g并提供python3 开发(docker部署oracle11g)

20

本文的目的是介绍[bigdata-005]用docker搭建oracle11g并提供python3开发的详细情况,特别关注docker部署oracle11g的相关信息。我们将通过专业的研究、有关数据的

本文的目的是介绍[bigdata-005] 用docker搭建oracle 11g并提供python3 开发的详细情况,特别关注docker部署oracle11g的相关信息。我们将通过专业的研究、有关数据的分析等多种方式,为您呈现一个全面的了解[bigdata-005] 用docker搭建oracle 11g并提供python3 开发的机会,同时也不会遗漏关于Centos7 使用Docker搭建Oracle测试环境、docker 安装oracle11g、docker 搭建oracle环境、docker 运行 oracle11g的知识。

本文目录一览:

[bigdata-005] 用docker搭建oracle 11g并提供python3 开发(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测试环境

Centos7 使用Docker搭建Oracle测试环境

1.更新yum

yum update

2.安装Docker

yum install docker

安装完成后查看Docker的版本:

docker version

查看Docker的信息:

docker info

3.安装完后启动Docker

systemctl start  docker.service
如果启动报错:could not change group /var/run/docker.sock to docker: group docker not found
编辑:vi /etc/fstab 文件并在未尾加入以下内容:
none        /sys/fs/cgroup        cgroup        defaults    0    0
然后再启动Docker
 
开机自启动:
chkconfig docker on
 
4.下载安装Oracle-xe-11g
docker pull wnameless/oracle-xe-11g
下载过程可能要花费一定的时间,下载完成后运行以下命令启动一个Oracle XE容器
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

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环境

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

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等相关知识,可以在本站进行查询。

本文标签: