一. 解决输入 BACKSPACE 键变成 ^h 的问题 #su - oracle   $stty erase ^h. 要永久生效,可以加入到用户环境配置文件.bash_profile中(vi .bash_file),加入如下一行: stty erase ^h 立即生效: source .bash_profile   二. 解决上下左右键问题 1.  安装 readline 组件包 到 ftp://ftp.gnu.org的 gun/readline目录下,下载最新版本的 read.*.tar.g…
1.  解决不能backspace 方法1: stty erase ^h 在oracle用户下:在用户环境配置文件.bash_profile中加入如下语句 stty erase ^h 方法2:在secureCRT工具操作 把图中的选项勾上即可: 相比之下:选择方法2吧. 2. 解决不能上下左右 在linux 上的oracle sqlplus 不能利用 上, 下 键来查看命令 而苦恼. rlwarp 工具可以帮助我们解决这个问题. 官方下载地址:  http://utopia.knoware.nl…
一. 解决输入 BACKSPACE 键变成 ^h 的问题 #su - oracle $stty erase ^h. 要永久生效,可以加入到用户环境配置文件 .bash_profile 中 , 加入如下一行 : stty erase ^h 二. 解决上下左右键问题 1.  安装 readline 组件包 到  ftp://ftp.gnu.org 的 gun/readline目录下,下载最新版本的 read.*.tar.gz 文件, 如:   ftp://ftp.gnu.org/gnu/readli…
1. wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/matthewdva:/build:/EPEL:/el7/RHEL_7/x86_64/rlwrap-0.42-1.el7.x86_64.rpm 2. rpm -ivh rlwrap-0.42-1.el7.x86_64.rpm 3. vim /home/oracle/.bash_profile alias sqlplus='rlwrap s…
一.配置yum源并安装readline* 配置本地yum 1.挂载光盘 mount /dev/cdrom /mnt/media 2,新建本地yun源的配置文件 vi /etc/yum.repos.d/local.repo 加入下面信息: [Local] name=Local baseurl=file:///mnt/media enable=1 gpgcheck=0 然后 yum -y install readline* 二.下载并安装rlwrap tar ./configure make mak…
yum -y install readline,rlwrap…
简述 进入 Python shell,按下 Delete/Backspace 键,会出现 ^H 字符.命令输入错误后只能从头开始,无法删除,让人很头疼.为了便于后期使用,分享一个一劳永逸的方式. 基本现象 进入 Python shell,按下 Delete/Backspace 键: Python 3.5.2 (default, Mar 29 2017, 11:05:07) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux Type "help&qu…
window下的sqlplus可以通过箭头键,来回看历史命令,用起来非常的方便. 但是在Linux下,会出现各种乱码,非常不方便,如下图所示,每次打错一个字符就需要重新打一遍. 解决办法:rlwrap 可以用来支持Oracle下sqlplus历史命令的回调功能,提高效率. 解决过程: 1.首先下载rlwrap和readline: ? 1 2 readline-6.3.tar.gz   rlwrap-0.30.tar.gz 2.安装readline包 ? 1 2 3 4 5 tar -zxvf r…
功能描述:Oracle sqlplus中退格键.DEL键.上下左右键无法使用乱码 1.安装readline-8.0 ①下载readline-8.0.tar.gz文件,百度网盘下载路径: https://pan.baidu.com/s/17doxBx4cwOtiMHu5i9TESQ,提取码:hizy ②解压文件,tar -zxvf readline-8.0.tar.gz ③cd readline-8.0 ④./configure && make && make install…
转: Oracle中使用Table()函数解决For循环中不写成 in (l_idlist)形式的问题 在实际PL/SQL编程中,我们要对动态取出来的一组数据,进行For循环处理,其基本程序逻辑为: 1 2 3 4 5 6 7 8 9 10 11 12 create or replace procedure getidlist is   l_idlist varchar2(200); begin   l_idlist:='1,2,3,4';   for brrs in (select * fro…
登录数据库: 方式(1)当我们刚安装Oracle数据库时,登录账户时可以使用win+r 输入sqlplus,进入sqlplus命令窗口,然后输入用户名和密码,这里输入密码时不会有回显 方式(2)使用win+r 输入cmd,进入dos命令窗口,然后输入用户名和密码,这里输入密码时不会有回显 或者使用直接输入命令sqlplus 用户名/密码即可 登录账户后,我们可以使用 SHOW USER 来显示我们当前的用户名 如果想要切换用户: 使用CONN SYSTEM/ADMIN 格式为CONN 用户名/密…
安装rlwrap,前提是安装readline和readline-devel yum list | grep readlineyum install -y readline.x86_64 readline-devel.x86_64 上传并解压rlwraptar -zxvf rlwrap-0.37.tar.gz cd rlwrap-0.37/./configure make make install vim /home/oracle/.bash_profile alias sqlplus='rlwr…
通过再sqlplus 中使用 new_value,可以把从表中查询出来的值,放置到 变量中.然后使用变量时,类似与宏定义一样,就可以像使用表中字段一样方便. 这使得sqlplus 的脚本具备和pl/sql 类似的能力,方便监控和诊断程序的编写. 下面是一个小例子,通过 new_value ,使得 查询出来的 opt_mode_val 的内容,直接赋予给了 my_opt_mode_val. col  opt_mode_val new_value my_opt_mode_val noprint se…
在实际生产中有时我们需要将一张表的数据导入到另外一张表,如果有PLSQL,我们可以通过PLSQL工具将数据导出为sql脚本,然后再在另外一个数据库中执行这个脚本.但有时在实际生产中我们没有PLSQL这个工具,而且PLSQL的导出工具也不是特别好用.这时我们可以通过sqlplus中的spool工具,将我们需要的数据导出为sql建表脚本. spool工具是将我们在sqlplus中的输出写入自己需要的文件中,如此也就是说,我们通过查询,将查询结果输出为建表语句,然后将这些语句输出到sql脚本中即可.…
oacle的安装 一.在oracle官网可以免费下载oracle的软件和安装文档,如果是在虚拟机中的linux系统里安装,可以用FileZilla Client把软件发送到系统中. linux_11gR2_database_1of2.zip linux_11gR2_database_2of2.zip 二.硬件要求 1.oracle11g内存至少是1G,磁盘不要选择虚拟机中默认的20G,要更大些(30,40即可). 虚拟内存容量,检查的命令 内存 # grep MemTotal /proc/mem…
一.不能导出空表的原因 1.Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出. 2.设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment. 在sqlplus中,执行如下命令: SQL>alter system set deferred_segment_creation=false; 查看:   SQL>show parameter deferred_segment_cre…
Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法 登陆数据库时提示 “ORA-01033”错误在命令窗口以sys方式登陆 即sqlplus AS SYSDBA--注意<sqlnet.ora>文件中的SQLNET.AUTHENTICATION_SERVICES参数后面的值需为NTS 执行shutdown 后提示数据库未打开然后执行startup MOUNT 提示未初始化句柄之类的错误 后面又试过几次类似这…
实践结论可行,看"2.解决办法" 一.问题原因:     11G中有个新特性,当表无数据时,不分配segment,以节省空间     1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 2.设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME                           …
在linux下面使用sqlpus连接数据库处理,实在不是很方便,还好有一个工具rlwrap,通过这个能够调用历史命令和回调功能,能够极大的提高效率. 1. 下载 从http://utopia.knoware.nl/~hlub/uck/rlwrap/下载rlwrap-0.37.tar.gz 2. 解压缩安装 [root@localhosttmp]# tar -zxvf rlwrap-0.37.tar.gz [root@localhosttmp]# cd rlwrap-0.37 [root@loca…
三.SQLPLUS ​ SQLPlus 是 Oracle 数据库提供的一个专门用于数据库管理的交互式工具,使用 SQLPlus 可以管理 Oracle 数据库的所有任务,SQLPlus 通过命令的方式对数据库进行管理,也可以通过 SQLP lus 执行 SQL 语句的操作. 3.1.SQLPlus设置 ​ 如果要想了解 sqlplus 命令,首先要解决一个新的问题:数据问题. ​ 在 Oracle 12C 中由于存在了 CDB 和 PDB 概念,所以所谓的测试数据,默认是找不到的,所以下面必须首…
一.问题原因: 11G中有个新特性,当表无数据时,不分配segment,以节省空间 .insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. .设置deferred_segment_creation 参数 show parameter deferred_segment_creation NAME TYPE VALUE ------------------------------------ ----------…
1.1 sqlplus中可以执行上键查询backspace删除 1.1.1 上键查询 方法1: 安装源-导入key-安装rpm包-进入配置文件修改参数 rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 yum install rlwrap readline readline…
--解决 Oracle 11g 不能导出空表的问题 --执行下面语句,查询数据库中的空表,同时产生分配空间.把生成的结果复制出来并执行. select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 --如果以上方法不行,可改用下面方法 select 'alter table '||table_name||' allocate extent(size 64k);' from tab…
错误提示:oracle在toad中执行一段sql语句时,出现错误‘ORA-01704:字符串文字太长’.如下图: 原因:一般为包含有对CLOB字段的数据操作.如果CLOB字段的内容非常大的时候,会导致SQL语句过长.隐式转换:oracle默认把字符串转换成varchar2类型,而这个字符串的长度,又比4000大,所以会报ora-01704错误.说得通俗一点,就是两个单引号之间的字符不能超过4000. 解决办法:使用PL/SQL语法,采取绑定变量的方式解决,而不是直接拼接SQL DECLARE c…
我们开始时向一个空的带索引的表中插入大量数据后,是不会产生碎片问题的,但是,数据库经过很长一段时间的增删改查后,难免会出现碎片问题,影响数据库的性能,Oracle对于这一问题有自己的解决方案. 下面介绍解决这一问题的方案: 首先要对索引进行分析:analyze index ind_1 validate structure;  ind_1为你自己建立的索引 分析后查询几个主要的参数判断是否需要整理碎片:select name,HEIGHT,PCT_USED,DEL_LF_ROWS/LF_ROWS…
解决Oracle用户被锁定的方法 1,cmd控制台: 使用sqlplus 命令:sqlplus sys/密码@ip/orcl as sysdba; 2,先设置具体时间格式,以便查看具体时间 SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; 3,查看具体的被锁时间 SQL> select username,lock_date from dba_users where username='TEST'; 4,解锁 SQL&…
解决Oracle.DataAccess.Client.OracleConnection”的类型初始值设定项引发异常. 这个问题他们说是oracle的版本问题 但是好像不是...(我感觉VS版本问题,我的是2019 2017) 解决办法是: 在项目中引用Oracle.ManagedDataAcces 如下图: 官网下载:https://www.nuget.org/packages/Oracle.ManagedDataAccess/19.3.1 安装命令: Install-Package Oracl…
今天用Oracle突然出现Oracle ORA-01033: ORACLE initialization or shutdown in progress. 想起前两天删掉了几个DBF文件,幸好还没有清回收站,赶紧的还原文件.但很不幸,即使重启之后依然存在这个问题.然后上百度查,依着人家的解决方案也是不行: 蹲坑的时候忽然想到,我的系统是win10,里面有个快速启动的选项,会不会是重启的时候Oracle的那些服务根本就没关,一个激灵赶紧的提裤子上手,把服务里所有Oracle起头的都重启了一遍(对,…
解决oracle v$sqlarea sql不完整根据SELECT * FROM v$sqlarea中找到hash_value然后执行SELECT * FROM v$sqltext WHERE hash_value = '&hash_value' ORDER BY piece即可得到完整的sql语句…
原文:PowerDesigner生成的ORACLE 建表脚本中去掉对象的双引号,设置大.小写 若要将 CDM 中将 Entity的标识符都设为指定的大小写,则可以这么设定: 打开cdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase或者Lowercase,只要不是Mixed Case(大小写混合)就行!把PD自动生成的ORACLE脚本去除双引号,可以如下设定: Databa…