无法连接Oracle数据库使用Docker容器后问题,怎么解决

作者&投稿:晋吕 (若有异议请与网页底部的电邮联系)
docker中oracle数据库数据持久化的问题,如果将本地的文件夹挂载到docker容器中~

  docker可以支持把一个宿主机上的目录挂载到镜像里。
  docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash
  通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径。
  现在镜像内就可以共享宿主机里的文件了。
  默认挂载的路径权限为读写。如果指定为只读可以用:ro
  docker run -it -v /home/dock/Downloads:/usr/Downloads:ro ubuntu64 /bin/bash
  docker还提供了一种高级的用法。叫数据卷。
  数据卷:“其实就是一个正常的容器,专门用来提供数据卷供其它容器挂载的”。感觉像是由一个容器定义的一个数据挂载信息。其他的容器启动可以直接挂载数据卷容器中定义的挂载信息。
  看示例:
  docker run -v /home/dock/Downloads:/usr/Downloads --name dataVol ubuntu64 /bin/bash
  创建一个普通的容器。用--name给他指定了一个名(不指定的话会生成一个随机的名子)。
  再创建一个新的容器,来使用这个数据卷。
  docker run -it --volumes-from dataVol ubuntu64 /bin/bash
  --volumes-from用来指定要从哪个数据卷来挂载数据。

VMware Workstation:9.0
操作系统:centos6.5
[root@dockerServer Desktop]# uname -a
Linux dockerServer 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
docker版本:
[root@dockerServer Desktop]# docker version
Client version: 1.2.0
Client API version: 1.14
Go version (client): go1.3.3
Git commit (client): fa7b24f/1.2.0
OS/Arch (client): linux/amd64
Server version: 1.2.0
Server API version: 1.14
Go version (server): go1.3.3
Git commit (server): fa7b24f/1.2.0
该例子前提dokcer已安装。基础镜像已生成。前面章节有介绍。
第一步:查看images

oracle在导入数据时报1659的错误的原因主要是数据库表空间剩余空间不足引起的。

分析原因
1、表空间剩余空间不足。
使用下面语句,查看表空间剩余空间
select Upper(f.tablespace_name) "表空间名",
d.tot_grootte_mb "表空间大小(M)",
   d.tot_grootte_mb - f.total_bytes "已使用空间(M)",
to_char(round((d.tot_grootte_mb - f.total_bytes) /
d.tot_grootte_mb * 100, 2),'990.99') || '%' "使用比",
  f.total_bytes "空闲空间(M)",
  f.max_bytes "最大块(M)"
from (select tablespace_name,
round(sum(bytes) / (1024 * 1024), 2) total_bytes,
round(max(bytes) / (1024 * 1024), 2) max_bytes
from sys.dba_free_space
group by tablespace_name) f,
(select dd.tablespace_name,
round(sum(dd.bytes) / (1024 * 1024), 2) tot_grootte_mb
from sys.dba_data_files dd
group by dd.tablespace_name) d
where d.tablespace_name = f.tablespace_name
order by f.tablespace_name;
表空间剩余空间不足时,可以根据原数据库表空间大小增加表空间。
alter tablespace 表空间名 add datafile '数据文件名' size 数据文件大小;
2、剩余表空间还很多。
使用下面语句查看原数据库表表定义,找到initial_extent值大的表,将这些表的
创建语句导出后修改initial_extent值,在目标数据库中创建后再导入数据,导入时
增加参数ignore=y。
select table_name, initial_extent
from user_tables
where initial_extent is not null
order by initial_extent desc
如果找不到原数据库,可以使用
imp userid/userid@service_name file=dmp文件名 indexfile=index文件名 rows=n full=Y
命令将dmp文件中创建表的语句导入到indexfile文件中,查看indexfile如下:
REM CREATE TABLE "TEST"."DM_KJKM_COPY" ("KJZDMB_DM" VARCHAR2(100)
REM ENABLE, "KMID" NUMBER(20, 0), "KMBM" VARCHAR2(100), "KMMC"
REM VARCHAR2(500), "KMQC" VARCHAR2(1000), "KMLB_DM" VARCHAR2(100),
REM ...
使用文本编辑工具,查找INITIAL将过大的初始值改为65536后,将REM去除后,在数据库中创建后再使用exp导入数据,导入时增加参数ignore=y。


Win7系统下让plsql连接64位oracle数据库的方法
1、首先,确保你已经正确完整的安装了oracle 64位的数据库,安装完成后,需要提前打开相应的所有服务;2、然后,百度搜索“plsql”下载下载plsql,按照exe可执行文件的引导进行plsql初期的安装;3、安装完成后接下来我们还需要下载一个补丁压缩包,名为instantclient-basic-win32,将其放入到oracle安装目录的...

客户端连接Oracle的几种方法
下面谈谈使用HOSTNAME连接ORACLE数据库的方法:1、不设置GLOBAL_NAME方式1)可以使用NET MANAGER工具配置概要文件,选择HOSTNAME,也可以直接编辑SQLNET.ORA文件,只保留HOSTNAME方法,如下:# sqlnet.ora Network Configuration File:G:\\oracle\\product\\10.2.0\\db_1\\NETWORK\\ADMIN\\sqlnet.ora#SQLNET.AUTHENT...

oracle自然连接的使用方法有哪些
1.如果做自然连接的两个表的有多个字段都满足有相同名称个类型,那么他们会被作为自然连接的条件。2.如果自然连接的两个表仅是字段名称相同,但数据类型不同,那么将会返回一个错误。3.由于oracle中可以进行这种非常简单的natural join,我们在设计表时,应该尽量在不同表中具有相同含义的字段使用相同的名...

客户端连接ORACLE的几种方法
ODBC,ADO,OCX。其中,使用 ODBC 连接,既可以使用 Oracle 提供的驱动程序,也可以使用 Microsoft ODBC for Oracle ,看个人兴趣。如果是 .NET 开发,那么在 Web.Config 文件中的连接串的写法就很多,包括使用 SQLConnection 和 Oracle 提供的 .NET 命名空间。

C# 连接 oracle数据库 的方法
回答:数据库所在ip地址,数据库名称,用户名,密码,这个四个条件,你的不够。

客户端连接ORACLE的几种方法
ODBC,ADO,OCX。其中,使用 ODBC 连接,既可以使用 Oracle 提供的驱动程序,也可以使用 Microsoft ODBC for Oracle ,看个人兴趣。如果是 .NET 开发,那么在 Web.Config 文件中的连接串的写法就很多,包括使用 SQLConnection 和 Oracle 提供的 .NET 命名空间。

如何在Oracle中使用Java方法 详细??
1. 使用oracle 的sql 语句来创建: e.g. 使用create or replace and compile java source named "" as 后边跟上java 源程序。要求类的方法必须是public static 的,才能用于存储过程。 SQL> create or replace and compile java source named "javademo1" 2 as 3 import java.sql.*; 4 public...

oracle的imp使用方法
1. 用户名\/密码@数据库实例名:这部分是连接到Oracle数据库的必要信息,包括用户名、密码以及数据库实例名。2. file=导入文件路径:指定要导入的.dmp文件的路径。3. full=y:表示导入整个.dmp文件的内容,也可以选择导入部分数据,通过其他参数如table_name来指定导入的表。4. 其他参数:imp工具支持多...

plsql developer配置连接oracle11g数据库的方法
大家知道plsqldeveloper配置连接oracle11g数据库的方法吗?不知道的朋友不要着急,现在我就给你们说说吧!1.配置环境变量:ORACLE_HOME=D:\\ProgramFiles(x86)\\instantclient_11_2、TNS_ADMIN=D:\\ProgramFiles(x86)\\instantclient_11_2\\NETWORK\\ADMIN、NETWORK、ADMIN如没有则手动新建。2.设置PLSQLDeveloper...

PB内置Oracle数据库接口的使用方法[1]
Login ID:Oracle数据库中实际的用户名 由于PB初次连接到数据库时要自动建立五个系统表(PowerBuilder Catalog Table:PBCATTBL PBCATCOL PBCATEDT PBCATFMT PBCATVLD 存储表的扩展属性) 因此第一个连接到Oracle的用户必须具有建表 给PUBLIC角色授权等权限 例如可用SYSTEM用户进行第一次连接 此后的连接对用户...

北湖区15554157986: 无法连接数据库是怎么回事 -
能凯卡碧: 你好,参考解决办法 1:你可以参照一下几种原因: 1、修改了Oracle Windows 2000服务器的域名,关闭再重新启动数据库,使用“内部连接”无法成功连接. 解决方法: 使用服务GUI关闭服务,特别是tns和代理服务,然后删除ORACLE_...

北湖区15554157986: 新手求助,Oracle服务启动了,但是无法连接 -
能凯卡碧: oracle服务启动,但是没连接可以从如下两方面着手排障.1、确定数据库是OPEN2、确定侦听是启动的

北湖区15554157986: 虚拟机下安装Oracle,无法连接使用 -
能凯卡碧: 进入oracle安装目录,找到下面路径的文件:...\network\admin\listener.ora 修改address的host即可 对应修改...\network\admin\tnsnames.ora 里面address的host 在services.msc里面重启oracle listener

北湖区15554157986: 在windows server 2008上安装了oracle的服务器端后,通过客户机无法连接到oracle数据库,已知客户机上的 -
能凯卡碧: 展开全部1、先在服务器上使用sql plus登陆数据库确认数据库是正常的;2、在客户机上使用tnsping命令确认你配置的监听是正确的;3、在客户机使用sql plus登陆数据库看看什么提示,如果不正常的话,建议先关闭两端的防护墙重试.如果还是不行,请把每一步的结果发出来帮你看看.

北湖区15554157986: oracle的服务无法连接数据库 -
能凯卡碧: 用如下方法连接.配置方法如下:1、找到$ORACLE_HOME/client_1/network/admin目录下的tnsnames.ora文件,并用文本模式打开.2、添加以下内容:本地实例名= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP地址)(PORT = 端口号)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = 服务名) ) )3、用PL/SQL工具登录即可.

北湖区15554157986: 高手进,VS2010连不上Oracle数据库,怎么回事? -
能凯卡碧: 主要是因为64位win7系统的Program Files (x86)路径中的括号引起的,oracle不认识这样的路径,所以就出现不能连接数据库了.解决方法:1、在win7 64位下,先安装Oracle 11g客户端,可以在oracle官网去下载.2、安装好后,将oracle10g的network中的文件全部拷贝到Oracle 11g目录下的network文件夹下.路径例如:E:\app\XXXX\product\11.2.0\client_1\Network\Admin3、上述步骤操作完后,再连接测试,通过~~

北湖区15554157986: 无法建立Oracle连接. -
能凯卡碧: 可能有以下几种原因: 1、windows防火墙没关. 2、你的服务器的oracle监听没开 3、参考下面的网址: http://blog.163.com/beyond_qh/blog/static/706383720092227123685/ 我今天使用jdbc连接o...

北湖区15554157986: ORACLE不管使用何种方式,客户端计算机均无法连接数据库服务器? -
能凯卡碧: 1.确认网络是否能通2.是否有开放oralce中的IP登录限制3.确认客户端是否有安装ole驱动或是否正确配置TnsName连接串(如:IP、实例名),注意集群数据库的连接串设置与非集群的不一样.4.给个具体的提示信息.

北湖区15554157986: 为什么连接不上数据库(ORACLE)了? -
能凯卡碧: 一,你确定你电脑能连上网络?二,你确定,你的连接代码没有修改过什么东西?三,你把数据库在重启一下吧.

北湖区15554157986: 为什么总是链接不上ORACLE数据库 -
能凯卡碧: 最简单是装一个Oracle for ODBC的驱动.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网