一:因为ORACLE数据库它可以存储字节或字符,例如 CHAR(12 BYTE) CHAR(12 CHAR)的意义是不同的.一般来说默认是存储字节,你可以查看数据库参数NLS_LENGTH_SEMANTICS的值. 1: SQL> show parameter nls_length_semantics; 2: 3: NAME                          TYPE        VALUE 4: ------------------------- ----------- --…
一同事由于系统需求关系,将SQL SERVER数据库的一个表导入ORACLE数据库时,发现居然报错:ORA-12899: value too large for column xxxx (actual:56, maximum:50),该字段长度在两个数据库都是50,之所以出现这个错误,原因无外乎两个: 一:因为ORACLE数据库它可以存储字节或字符,例如 CHAR(12 BYTE) CHAR(12 CHAR)的意义是不同的.一般来说默认是存储字节,你可以查看数据库参数NLS_LENGTH_SEM…
1. 自从公司的GS5版本就已经支持Linux下的oracle数据库通过安装工具自动安装注册了, 只不过路径需要使用linux的命名规则, 如图: /home/oracle/ 注意 最后是有一个 斜线的. 不然容易在上一级目录创建一个增加了oracle前缀的数据文件. 数据文件: 2. 最新的7.0 安装工具支持ASM存储的模式: 创建时需要指定ASM存储的路径 方总说 可以不加斜线..  而且我的斜线加反了 他也给解析对了... 注意linux的文件系统目录一定写对 ASM的貌似兼容性做的好很…
上一小结我们简单介绍了存储过程和存储函数,对存储过程和存储函数有了一个基本的了解,接下来介绍在java程序中如何调用我们创建的存储过程和存储函数 1.在应用程序中调用我们的存储过程 创建一个简单的Java工程,如:TestOracle,在项目中新建lib文件夹,并拷贝ojdbc14.jar,添加到系统路径中,目录结构如下: 在项目中创建一个用于连接数据库以及与数据库执行交流的工具类JDBCUtils.java package demo.utils; import java.sql.Connect…
1.存储过程和存储函数 描述:指存储在数据库中供所有用户程序调用的子程序叫做存储过程.存储函数 区别:存储函数可以通过return子句返回一个函数的值 (1)存储过程 语法:create [or replace] PROCEDURE 过程名(参数列表) AS PLSQL子程序体; 存储过程的调用方式: a)exec/execute 过程名(); b)begin 过程名(); 过程名(); end; / 带参数的存储过程: 举例:为指定的员工涨100块钱工资,并且打印涨前以及涨后的工资. 在sql…
oracle中的存储函数,和系统内的函数类似,可以像调用系统函数一样调用存储函数.它与存储过程的唯一区别就是存储过程没有return返回值,存储函数可以与存储过程互换,存储函数可以在存储过程中调用. 存储函数的基本语法结构: create [or replace] function 函数名[(参数名 in|out 参数类型)]   return 返回值数据类型 is 声明变量部分; begin 代码块; return 结果变量; end [函数名]; 例如:查指定员工的年薪 创建存储函数: cr…
首先介绍Oracle 9i新增加的一个系统自带的排序函数 1.按首字母排序 在oracle9i中新增了按照拼音.部首.笔画排序功能.设置NLS_SORT值     SCHINESE_RADICAL_M   按照部首(第一顺序).笔划(第二顺序)排序     SCHINESE_STROKE_M   按照笔划(第一顺序).部首(第二顺序)排序     SCHINESE_PINYIN_M   按照拼音排序 oracle9i中新增了按照拼音.部首.笔画排序功能 用法示例: 拼音 SELECT * FRO…
--创建存储过程CREATE OR REPLACE PROCEDURE first_procISBEGIN DBMS_OUTPUT.PUT_LINE('我是过程'); DBMS_OUTPUT.PUT_LINE('Hello Everyone!');END; --创建函数CREATE OR REPLACE FUNCTION first_funcRETURN VARCHAR2ISBEGIN DBMS_OUTPUT.put_line('我是函数'); RETURN 'Hello Everyone!';…
打印查询结果,中文显示为了??? [('72H FCR', '2.0'), ('?????', '8.0')] E:\Python35\Lib\site-packages中新增文件: sitecustomize.py import os os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'…
添加环境变量 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK…
将初始化代码中 Environment::createEnvironment(Environment::DEFAULT); 改为 Environment::createEnvironment(“UTF8”,“UTF8”);…
查询语句为:select * from Per where khmc like '%李%',其实是字符集的问题. 解决方案:在连接字符串加一个“Unicode=True;”…
一.PL/SQL 块 (一)PL/SQL 程序由三个块组成,即声明部分.执行部分.异常处理部分 PL/SQL 块的结构如下: 1.DECLARE /* 声明部分: 在此声明 PL/SQL 用到的变量,类型及游标,以及局部的存储过程和函数 */ 2.BEGIN /* 执行部分:过程及 SQL 语句 , 即程序的主要部分* 3.EXCEPTION /* 执行异常部分: 错误处理 */ 4.END; 其中 执行部分是必须的. (二)PL/SQL 块可以分为三类: 1.无名块:动态构造,只能执行一次.…
以ORACLE数据库为主提纲:第一部分.SQL语言基础 第一章:Oracle命令类别及sql简单语法介绍第二章:oracle的基本函数第三章:oracle的数据类型第四章:多表连接技术 第二部分.oracle基本对象及SQL优化 第一章:执行计划第二章:oracle表第三章:oracle索引第四章:oracle分区第五章:oracle事务和锁第六章:oracle hint 第四部分.oracle数据库管理简介 第一章:oracle体系结构第二章:oracle高水位线第三章:oracle监听第四章…
Oracle数据库下载: 这里以Oracle 11g为例,推荐去Oracle官网下载 Oracle官网下载地址:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html (1)复制此链接直接进入到oracle数据库的下载界面,如下所示的界面,一直往下滚动找到自己系统对应的版本(我的是Windows X64位系统的):找到之后点击See All(如下图蓝色箭头所指) (2)点击See A…
Oracle服务器主要由实例.数据库.程序全局区和前台进程组成,其中实例就是用来提供管理数据库的功能:数据库由数据库文件组成,用来存储系统数据:实例可以进一步划分为系统全局区(SGA)和后台进程(PMON.SMON等)两部分,其中SGA是所有用户进程共享的一块内存区域,使用操作系统的内存资源,而后台进程需要使用CPU与内存资源.数据库中包含数据文件.控制文件和重做控制文件,数据库存放在硬盘中.程序全局区(PGA)是一个非共享的内存区域,用于管理用户进程的私有资源.前台进程可以再划分为用户进程和服…
一.涉及内容 1.了解数据库的物理存储结构和逻辑存储结构 二.具体操作 1.分别使用SQL 命令和OEM 图形化工具查看本地数据库的物理文件,并使用OEM 工具在现有的users 表空间中添加user02.dbf 数据文件.(要求查看的物理文件包括:数据文件.日志组.控制文件.) (1)使用SQL 命令查看本地数据库的物理文件(物理文件包括:数据文件.日志组.控制文件.) 使用DOS下的命令启动DBConsole服务 使用sql*plus,system用户登录: 查看数据文件: (永久静态数据文…
在上大学的时候,学习操作系统感觉特别枯燥,都是些条条框框的知识点,感觉和实际应用的关联不大.发现越是工作以后,在工作中越想深入了解,发现操作系统知识越发重要.在实践中结合理论还是不错的一种学习方法.自从接触数据库以后,越来越感觉到很多东西其实都是相通的,操作系统中的很多设计思想在数据库中也有借鉴和改进之处. 说到存储管理,是操作系统中最重要的资源之一.因为任何程序和数据等都需要占有一定的存储空间,存储管理会直接影响到系统的性能. 存储器是由主存和外存组成.对于外存,可能覆盖面更广,像硬盘,移动硬…
oracle数据库的存储结构: 逻辑存储结构:oracle内部的组织和管理数据的方式 物理存储结构:oracle外部(操作系统)组织和管理数据的方式 oracle对逻辑存储结构和物理存储结构的管理是分别进行的. oracle数据库物理存储结构与逻辑存储结构的基本关系: 1.一个表数据库在物理上包含多个数据文件,在逻辑上包含多个表空间 2.一个表空间包括一个或多个数据文件,一个数据文件只从属于某一个表空间. 3.数据库的逻辑块由一个或多个操作系统块构成 4.一个逻辑区只能从属于某一个数据文件,而一…
1.Oracle数据库系统结构概述 Oracle数据库由存放在磁盘上的数据库(DB)和对磁盘上的数据库进行管理的数据库管理系统(DBMS)两部分构成,分别对应着数据库的存储结构和软件结构. Oracle数据库的存储结构(Storage Structure)分为物理存储结构和逻辑存储结构两种,分别描述了在操作系统中和数据库系统内部数据的组织管理方式.其中,物理存储结构表现为操作系统中一系列文件)逻辑存储结构是对物理存储结构的逻辑组织与管理. Oracle数据库的软件结构,即Oracle实例(Ins…
最近碰到Oracle乱码问题,刚开始甚是头疼,以前在合肥出差的时候,这种问题也碰到过,当时直接抛给了“乌压压一片”(一个搞数据的同事儿),这次没办法躲过,只好硬着头皮上.虽然我这次碰到的是Oracle乱码问题中的一个,但是我决定将这个乱码问题整理清楚(不整清楚,就觉得身边有个定时炸弹,怕下次整数据库的时候会突然又爆炸).     解决这个问题的关键在于理解字符集的概念,所以在正文开始之前,有必要先提一下字符集的相关知识!(这部分知识,对于解决j2ee中文参数传递过程中出现的乱码,也非常具有参考意…
一.关于字符集 字符集(也称字元集,Character Set)就是字符编码表(codepage),一个字符不论英文.中文.韩文等在计算机系统内存或硬盘中通过二进制的字节(Byte)保存,这个二进制的编码就是字符编码(也称内码),字符集就是字符与内码的对应(映射)表. 因为多国语言的原因,就出现了根据本国语言制作的字符集.如使用最广泛的ASCII编码,由美国国家标准局(即ANSI)制定,适用于所有拉丁.英文字符.中国大陆使用GB2312,GBK,GB18030等字符集,这些字符集包含所有汉字字符…
一.数据块 Oracle对数据库数据文件中的存储空间进行管理的单位是数据块.数据块是数据库中最小的(逻辑)数据单位,是最小的I/O单位.与数据块对应的,所有数据在操作系统级的最小物理存储单位是字节.每种操作系统都有一个被称为块容量的参数.Oracle每次获取数据时,总是访问整个数据块,而不是按照操作系统块的容量访问数据.数据块容量应该设为操作系统块容量的整数倍,以便减少不必要的I/O操作,一般数据块大小为8k. 结构: 头部:(1)块的物理地址 (2)块的段信息.表空间信息 (3) 事物槽 (4…
1.不能创建表空间问题 datafile为表空间的存放位置,没有将表空间存放路径指定为orcl数据库时,创建表空间出错如下 查看自己的Oracle安装位置,我的Oracle10g安装在虚拟XP系统中,Oracle10g安装路径如下图所示.所以解决上述不能创建表空间方法是将表空间创建路径指定为Oracle数据库安装位置的orcl数据库的文件路径 2.正确创建表空间方式 使用Oracle数据库存储数据时,需要先创建表空间 -- 创建表空间 create tablespace jk028 -- 数据文…
原来项目中oracle数据库一直是US7ASCII,我新项目对接的时候,查询以及插入中文,出现乱码问题. 暂时未能解决此问题,最终决定每次转码: 查询的时候: List<Record> list = Db.use("oracle").find("select * from order order by id desc"); for (Record record : list) { String str = record.getStr("depa…
将现有的sql 脚本导入 Oracle数据库 比如 在windows 系统下,可以写一个 bat 来实现直接导入 如:bat 中的内容如下,logs.log 将会记录执行日志 sqlplus user/password@dbname @create.sql > logs.log create.sql 中的内容可以是需要执行的sql 语句,也可以是其他sql 脚本,如: @leave_create.sql exit leave_create.sql 中的内容如下 create table a_em…
PLSQL往Oracle数据库插入中文后变为问号 和 启动PLSQL时提示NLS_LANG在客户端不能确定的解决办法 1.检查服务器的字符编码 Select * from V$NLS_PARAMETERS where PARAMETER='NLS_CHARACTERSET'; Select USERENV('LANGUAGE') from DUAL; 2.增加本地环境变量 完成…
首先,oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构,对于这两种存储结构,oracle是分别进行管理的.   逻辑存储结构:oracle内部的组织和管理数据的方式.  物理存储结构:oracle外部(操作系统)组织和管理数据的方式.接下来我们对上面的两种结构进行详细的介绍.1.逻辑存储结构: oracle在逻辑上将保存的数据划分为一个个小单元来进行存储和维护,更高一级的逻辑存储结构都是由这些基本的小单元组成的.逻辑结构类型按照尺寸从小到大分可分为:块(block)-->区(ext…
Oracle数据库部分迁至闪存存储方案 1.实施需求 2.确认迁移表空间信息 3.确认redo信息 4.确认undo信息 5.表空间迁移到闪存 6.redo迁移到闪存 7.undo迁移到闪存 8.备库修改参数 环境:Oracle 11.2.0.4 RAC(2 nodes) 说明:假设新增闪存挂载点是/flash(使用了第三方的集群文件系统),如果是使用Oracle的ASM,则本文提及的所有/flash目录都可以认定是新的闪存磁盘组是+FLASH. 1 实施需求 为提高数据库IO性能,采购了全闪存…
问题: oracle数据库,通过接口插入的中文数据乱码,中文变成了问号??? 解决方案: 计算机=>属性=>高级系统设置=>环境变量=>新建 变量名:NLS_LANG 值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 此随笔乃本人学习工作记录,如有疑问欢迎在下面评论,转载请标明出处. 如果对您有帮助请动动鼠标右下方给我来个赞,您的支持是我最大的动力.…