Tag: oracle

请参阅Windows上的oracle静默安装中的安装日志

我试图安装oracle客户端12.1.02在一个Windows泊坞窗图像,我第一次testing我的服务器上的静默安装,并确认它正在工作。 现在我正在尝试在泊坞窗图像中做同样的事情。 我使用的命令: setup.exe -silent -showProgress -nowelcome -noconfig -nowait -debug ORACLE_HOME="C:\Oracle\client\product\12.1.0\client_1" ORACLE_BASE="C:\Oracle\client" oracle.install.IsBuiltInAccount="false" SELECTED_LANGUAGES=en 在我的本地安装中,我得到了这个path中的安装日志 – C:\ Program Files \ Oracle \ Inventory \ logs 但在我的泊坞窗容器,我看不到它有一种方法来查看日志文件中屏幕提示的日志? 请记住,运行安装程序命令时,将打开一个新窗口作为java进程。

Docker组合Rails + Oracle数据库

我正在尝试创build一个docker-compose文件,它将启动一个Rails 3.2.13服务器并将其链接到Oracle数据库。 到目前为止,我一直无法从Rails连接到Oracle数据库。 这是来自Rails的错误 oci8.c:513:in oci8lib_191.so: ORA-12154: TNS:could not resolve the connect identifier specified (OCIError) 泊坞窗,compose.yml version: '3.1' services: app: image: local-rails:0.0.1 build: . ports: – "3000:3000" volumes: – "${PWD}:/usr/src/app" depends_on: – db command: bundle exec rails s -p 3000 -b '0.0.0.0' db: image: wnameless/oracle-xe-11g environment: – ORACLE_ALLOW_REMOTE=true ports: – "49160:22" – "49161:1521" 我的Dockerfile中的variables ENV […]

Gitlab-ci bash进程替代阻塞工作

在我的pipe道中的某处,我运行一个oracle12c数据库容器,然后等待它准备就绪。 我曾经运行一个睡眠命令,但最近我改变它到这个命令行: (while read input && [ "$input" != "Database ready to use. Enjoy! ;)" ]; do echo $input; done; echo "Database ready") < <(docker logs oracle-test –follow) 但是由于我在作业最后一条指令完成时进行了更新,作业继续运行,但after_script部分从未完成。 我正在寻找另一种方式来等待数据库准备就绪,或者为什么这个命令行阻止我的工作。 你有想法吗?

如何连接到docker Oracle实例

我正在按照这些说明 。 我已经创build了这样的docker容器: docker run –name oracle \ -p 1521:1521 \ -e ORACLE_SID=ORASID \ -e ORACLE_PDB=ORAPDB \ -e ORACLE_PWD=F1f@f23_ \ -v /mnt_point/oradata:/home/oracle/oradata \ oracle/database:12.2.0.1-ee 输出是: ######################### DATABASE IS READY TO USE! ######################### The following output is now a tail of the alert.log: Completed: alter pluggable database ORAPDB open 2017-08-07T19:16:31.190780+00:00 ORAPDB(3):CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE […]

支持Docker的ASP.NET Core:拒绝连接

我有一个支持Docker的ASP .NET Core(v2.0)应用程序。 我想在启动我的应用程序时启动一个Oracle数据库。 这是我的docker-compose文件的样子: version: '3' services: devarttestapp: image: devarttestapp build: context: ./DevartTestApp dockerfile: Dockerfile oracledb: image: sath89/oracle-12c ports: – "1521:1521" 我使用Devart数据提供程序dotConnect for Oracle。 var conn = new Devart.Data.Oracle.OracleConnection(); conn.ConnectionString = Environment.GetEnvironmentVariable("ORACLE_CONNECTION_STRING"); try { conn.Open(); } catch (Exception e) { Console.WriteLine(e); throw; } 但是,当我尝试连接到创build的Oracle数据库容器的数据库时,我得到以下exception: System.Net.Internals.SocketExceptionFactory + ExtendedSocketException(连接被拒绝127.0.0.1:1521) 我也尝试在我的docker-compose文件中包含depends_on以及networking选项,并得到相同的结果。 什么可能是这个例外的原因? 我该如何解决这个问题?

如何将bash命令转换成docker(-compose)healthcheck

我正在使用sath89 / oracle-12c进行针对oracle数据库的自动化testing。 这工作正常,唯一的问题是,这个容器需要几分钟才能开始(〜10-15取决于硬件)。 我试图拿出这个容器的健康检查。 我设法想出了 status=`su oracle -c "echo -e \"SELECT ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME = 'ANONYMOUS' AND ACCOUNT_STATUS = 'EXPIRED';\" | /u01/app/oracle/product/12.1.0/xe/bin/sqlplus -S / as sysdba | grep ACCOUNT_STATUS"`; if [ "$status" == "ACCOUNT_STATUS" ]; then true; else false; fi 当ANONYMOUS账户被解锁时这将返回0,这是图像entrypoint脚本中的最后一步: entrypoint.sh 。 我使用docker exec -it <containername> bashtesting了这个。 我现在坚持把这个可怕的长长的行转换成docker-compose的健康检查命令: version: "2" services: […]

连接Docker oracle EE + sqlplus

我正在尝试将官方的sqlplus docker容器连接到官方的Oracle数据库EE 首先我启动Oracle Database EE容器: $docker run -d -it –name OracleEE -P store/oracle/database-enterprise:12.2.0.1 $docker port OracleEE 1521/tcp -> 0.0.0.0:32773 5500/tcp -> 0.0.0.0:32772 $docker inspect OracleEE | grep -i IPAddress "SecondaryIPAddresses": null, "IPAddress": "172.17.0.2", "IPAddress": "172.17.0.2", 现在,我如何连接到这个数据库? 在docker的图像文档我读: 您可以交互式运行一个容器来执行SQL * Plus中的临时SQL和PL / SQL语句: docker run -ti –rm store / oracle / database-instantclient:12.2.0.1 sqlplus hr/welcome@example.com/pdborcl 出于这个原因,我明白这个命令必须工作: $docker […]

无法从父主机访问数据库泊坞窗容器

我能够成功启动Oracle数据库Docker容器。 我正在看Kitematic UI中的端口信息来访问数据库。 另外,我也能ping通docker容器的IP地址(192.168.99.100)。 但是当我尝试使用sql plus或sql开发人员访问数据库时,出现错误 这是我在sqlplus中的尝试 sqlplus system/oracle@192.168.99.100:1521:xe 我有一个像下面的错误 ORA-12545: Connect failed because target host or object does not exist 我也尝试访问sqlplus system/oracle@192.168.99.100:1521/xe但我得到像下面的错误 ORA-12514: TNS:listener does not currently know of service requested in connect descriptor 看看这个错误,我看到有一些错误的Oracle TNS监听器。 但是,如何在运行docker集装箱的情况下解决这个问题?

如何从Oracle泊坞窗容器中装载数据?

我只想用docker-compose.yml启动一个oracle docker容器。 这工作到目前为止,直到我添加一个文件夹来同步/挂载/任何从容器。 问题1:如果主机上的文件夹丢失 – docker不会挂载任何东西 问题2:一个空文件夹被git忽略 – 所以我添加了一个空文件.emptyfileforgit 所以,如果我现在开始我的docker组成,docker安装我的假文件的文件夹到Oracle容器,所以数据库是“破”。 docker工人撰写文件: 版本:“3” 服务: mysql_db: container_name:oracle_db image:wnameless / oracle-xe-11g:latest 端口: – “49160:22” – “49161:1521” – “49162:8080” 重新启动:总是 卷: – “./oracle_data:/u01/app/oracle/oradata” – “./startup_scripts:/docker-entrypoint-initdb.d” 环境: – ORACLE_ALLOW_REMOTE = true 问题:我如何摆脱这种行为? 与一个MySQL容器,工作正常… 非常感谢!

容器化的弹簧引导应用程序与oracle数据库重置连接

我有一个使用Oracle数据库的容器化的弹簧启动应用程序的问题。 我成功地构build了我的图像,但是当我使用docker运行它时,应用程序在获取连接池时受阻。 应用程序运行的连接重置exception,如果我尝试连接它,我得到另一个连接重置exception,但如果我刷新页面应用程序正常工作,直到我尝试稍后再次使用该应用程序。 Dockerfileconfiguration如下: FROM openjdk:8-jre-alpine VOLUME /tmp ADD *.jar /app.jar EXPOSE 8082 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","app.jar"] 应用程序属性也很标准: server.port = 8082 spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.url=jdbc:oracle:thin:@<ip>:1521:<database> spring.datasource.username=<username> spring.datasource.password=<password> spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect 我正在构build映像并使用以下命令运行docker容器: docker build -t <image_name> . docker run -p 8082:8082 -d <image_name>` 我已经尝试了几件事情: 使用谷歌search的问题,我发现在Linux内运行时Oracle有熵问题,所以我添加了-Djava.security.egd = file:/ dev /./ urandom 这不起作用,所以我尝试了熵的工具。 我不知道到底在哪里安装它,所以我试图在两个地方安装它(在容器内使用RUN apk -U add haveged在主机上(这是一个Ubuntu的xenial 16.04.4)) 这没有任何工作,所以我试图通过从容器中删除/dev/random来“破解”,并用符号链接replace它,使用ln -s /dev/urandom /dev/random ,但即使这样也不起作用,所以我尝试更改java.security属性securerandom.source=file:/dev/random […]