TypeCodes

初始化Oracle数据库的bat批处理脚本和shell脚本

在使用Oracle数据库的时候,经常会用到表结构、存储过程、视图以及表数据等等元素的导入和导出。如果在Windows的cmd窗口中使用sqlplus的命令登录Oracle后,直接使用@ sql导入文件路径或者start sql导入文件路径,就有一个缺陷:不会产生跟踪日志文件,这样就没法了解哪些sql语句执行成功了,哪些sql语句执行失败从而导致整个数据库初始化失败了等情况。另外,无论是在Windows系统还是Linux系统,手输命令很麻烦也很容易出错,所以自己整理了一份适用于Windows的bat批处理脚本和一份适用于Linux系统的shell脚本。

这两份脚本代码比较简单,主要是利用了sqlplus命令将包含多条sql语句用于初始化Oracle数据库的sql文件执行。其中,suntsm/suntsm@127.0.0.1/orcl数据库用户名/用户密码@数据库IP:1521/实例名的组合,当然Oracle默认的端口1521可以省略。另外,tsmstuct.sqltsmdata.sql文件分别用于初始化表结构等数据和表数据。大家可以根据实际情况修改。

- 阅读剩余部分 -

Sybase客户端打开SQL Advantage 12.5.1报错:Internal failure while initializing SQL Advantage(二)

1 打开SQL Advantage报错:Internal failure while initializing SQL Advantage

在sybase官方论坛上找到了两个比较有代表性的提问。二者共同的特点就是之前安装的都是SQL Advantage 11.5.1.3的版本,然后想使用12.5.1的版本(博主只装了12.5.1)。在安装好这两个客户端后,打开SQL Advantage就会报错。根据这两个提问并结合自己的理解,列出解决该问题的参考方法:

- 阅读剩余部分 -

Sybase客户端打开SQL Advantage 12.5.1报错:Internal failure while initializing SQL Advantage(一)

1 打开SQL Advantage报错:Internal failure while initializing SQL Advantage

前几天在用sybase win客户端(OC 12.5.1)的时候,遇到了一个问题。每次打开SQL Advantage 12.5.1后,如果强制关闭窗口(例如有时界面卡死强退),那么再次打开就会报错:

Internal failure while initializing SQL Advantage. 
Please check that Open Client is configured correctly.

正如下图所示,奇怪的是如果这时候重启电脑的话,那么打开SQL Advantage就正常。

sybase客户端打开SQL Advantage 12.5.1报错

- 阅读剩余部分 -

Oracle数据库SQL操作语句报错的解决

最近在小红帽里面用GCCC编译含Oracle数据库SQL操作语句的C程序时候遇到了下面的7个报错信息,现整理出来Mark一下。

1 错误信息
[-1400][ORA-01400: cannot insert NULL into ("CARDMAIN"."CLR_SFTC000BLOCK0"."SE]
<!--
描述:CARDMAIN数据库用户,CLR_SFTC000BLOCK0数据表,SE表字段

原因:Oracle数据库对于特定类型的非空字段无法区分空值和空字符串

解决:明确数据源中的空值类型,并且在INSERT和UPDATE中必须插入一个值,不能将某个值修改为NULL。
-->

- 阅读剩余部分 -

Oracle数据库出现ORA-01034、ORA-27101错误解决

最近在虚拟机中操作Oracle数据库SQL语句时,出现了以下两种报错:

1 ORA-27101: shared memory realm does not exist

具体的错误信息如下:

ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory

- 阅读剩余部分 -

解决Windows中PLSQL连接虚拟机中Oracle缓慢的问题

博主上周末在自己的Windows宿主机中,用PL/SQL连接虚拟机中的oracle数据库时,出现了大概需要等待10多秒的时间才能登录成功的问题。很奇怪的现象,因为我在Windows中ping虚拟机中的oracle服务器IP地址,响应时间都在1ms内。在网上GG了下,没找到答案。后经我搭档指点,原来是Linux系统中的DNS解析在寻址的时候出现“错误”。这个跟我在用桥接模式连接网络的时候,错误配置了“Network Configuration”中的DNS有关(在用Bridged模式联网时,可以不用配置DNS)。

桥接模式错误配置DNS

- 阅读剩余部分 -

如何在Windows宿主机中安装PL/SQL管理虚拟机中的Oracle

和微软SQL server一样,要想远程管理数据库,那么本地的windows主机中就需要安装sql server的客户端。而在Windows宿主机中管理虚拟机中的Oracle数据库,那么我们也需要安装Oracle数据库的客户端(当然是windows版本)。

这是常规的做法,但是oracle出产的软件一向遵守庞大臃肿的传统,Oracle11.2.0.2.0的Windows版本竟然和SQL server一样有2G多了。作为一个远程管理工具,我们没有必要在windows中安装一个完整的Oracle。类似于SQL server的Express版本,甲骨文也考虑到了这点,所以精简版的instantclient就应运而生了。下面就是具体的如何在Windows宿主机中安装PL/SQL管理虚拟机中的Oracle数据库步骤:

- 阅读剩余部分 -