ORACLE - 技术教程文章

Oracle 表分区介绍与使用【代码】

什么是表分区分区表是将大表的数据分成称为分区的许多小的子集,类型有FAT32,NTFST32,NTFS。另外,分区表的种类划分主要有:range,list,和hash分区。划分依据主要是根据其表内部属性。同时,分区表可以创建其独特的分区索引。倘若硬盘丢失了分区表,数据就无法按顺序读取和写入,导致无法操作。 为什么要使用表分区以及什么情况下使用 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对...

oracle数据库结构及基本操作【代码】【图】

本篇博客主讲oracle数据库的基本操作,作为目前世界上使用范围最广的数据库管理系统,充分体现出其功能的强大和可靠。首先,oracle数据库结构是我们必须了解的,有助于掌握oracle数据库操作。 系统简介ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。如图所示:SGA---为数据库提供服务PGA---为用户提供服务整个系统主...

Oracle管道函数(Pipelined Table Function)实现的实例【代码】

1. 简单的例子(返回单列的表) 1>创建一个表类型create or replace type t_table is table of number; 2>创建函数返回上面定义的类型create or replace function f_pipe(s number) return t_table pipelined asv_number number; begin for i in 1..s loop v_number := i;pipe row(v_number); end loop; return; end f_pipe;;3>测试select * from table(f_pipe(5)) 2.复杂一点的例子 1>创建一个表类型(有多个列)create o...

理解及应用 Oracle 12c 插拔数据库【代码】【图】

一、概述1、Oracle 12c 可插拔数据库体系结构 Oracle 12c 中引入了一个新功能就是Oracle Multitenant,这个功能可以在多租户容器数据库中,创建并维护许多个可插拔数据库。Oracle Multitenant是Oracle企业版中需要额外付费的组件。然而,在所有Oracle版本中都可以在一个可插拔数据库中免费使用它。多租户容器数据库(CDB)是指能够容纳一个或者多个可插拔数据库的数据库。容器是指CDB中的数据文件和元数据的集合。可插拔数据库是指...

oracle查询数据库所有用户信息【代码】

看到网上说的查询用户的语句: SELECT * FROM dba_users;这句好像只能系统管理员才能成功执行,普通用户无法执行 SELECT count(*) FROM all_users; , SELECT * FROM USER_USERS;普通用户和系统管理员均可执行 原打算删除创建的一个测试用户,发现这三个dba_users,all_users, user_users都是视图,不能删除,打开all_users视图,查看sql语句,发现他是基于两个表创建的,代码如下:CREATE OR REPLACE FORCE VIEW "SYS"."ALL_USERS"...

oracle小记:dba_data_files【图】

今天给表空间扩展的时候,使用了dba_data_files进行查询。查阅了网上的资料。 该系统系统中含有以下字段 每个字段的含义如下:

Oracle函数【图】

前言: 概念: 是oracle提供的进一步修饰或者处理数据的方法 使用: 直接使用 分类: 字符函数 数值函数 单行函数: 字符函数:select 字段名,函数名(字段名),字段名...from 表名 特点:1.不改变数据...

oracle数据库新建库【图】

1、https://jingyan.baidu.com/article/76a7e409f3f37bfc3b6e15de.html 利用工具新建库。 2、创建时报错 out of memory 调节sga+pga 从默认40%调到15% 3、https://blog.csdn.net/wudiyong22/article/details/78904361 配置服务和监听程序 4、登陆 用户名sys 报错ORA-12154 https://blog.csdn.net/haibo_hn/article/details/68958206 https://blog.csdn.net/lwpoor123/article/details/78327080 5、如果报错是上一步没有配置好 6、报...

oracle修改用户名

一、需求将test用户名修改为test1二、步骤方法一:针对所有版本select user#,name from user$ where name=TEST;update user$ set name =TEST1 where user#=159;commit;alter system checkpoint;alter system flush shared_pool;alter user test1 identified by test1;方法二:针对 oracle 11.2.0.2之后版本alter system set "_enable_rename_user"=true scope=spfile; shutdown immediate;startup restrict force;alter user test ...

Differences Between Enterprise, Standard and Standard One Editions on Oracle 11.2 (Doc ID 1084132.1)

标准版不允许并行、分区、闪回、各种缓存等大数据量必须特性,如此限制,oracle摆明了只卖企业版,买标准版不如mysql(如果不熟悉postgresql的话)。 Oracle企业版1 CPU 20w起,理论上最多打7折,官方75折起步,买了oracle还指望不用oracle各种特性、所谓平台无关的,真是钱烧的慌。报价各总结参考http://www.askmaclean.com/archives/oracle-ee.html,https://www.cnblogs.com/yingsong/p/4437704.html。 Differences Between Ent...

oracle常用系统表【代码】

-- DBA/ALL/USER/V_$/GV_$/SESSION/INDEX开头的绝大部分都是视图 -- DBA_TABLES意为DBA拥有的或可以访问的所有的关系表。 -- ALL_TABLES意为某一用户拥有的或可以访问的所有的关系表。 -- USER_TABLES意为某一用户所拥有的所有的关系表。 -- 当某一用户本身就为数据库DBA时,DBA_TABLES与ALL_TABLES等价。 -- DBA_TABLES >= ALL_TABLES >= USER_TABLES -- 需要注意的是在ORACLE数据库中大小写是敏感的,而此三表中数据默认都是大写...

Oracle如何扩展表空间【代码】【图】

一: --查看表空间的名字及文件所在位置select tablespace_name,file_id,file_name,round(bytes / (1024 * 1024), 0) total_spacefrom sys.dba_data_filesorder by tablespace_name --查询表空间信息select username,default_tablespace,t.* from dba_users t 二: --查询当前表空间下使用情况select a.tablespace_name,a.bytes / 1024 / 1024 "sum MB",(a.bytes - b.bytes) / 1024 / 1024 "used MB",b.bytes / 1024 / 1024 "fre...

添加Oracle监控

首先服务器要安装zabbix agent并将服务器添加到zabbix中,还要安装jdk,可以用脚本单句跑,脚本路径不对可以直接上传tar包解压 1、监控Oracle数据库,需要使用orabbix插件(orabbix可以安装在oracle数据库所在的服务器,也可以使任何一台可以访问oracle的服务器上),插件请在附件下载。2 、安装过程,把下载的服务器解压到/opt/目录下,目前名字为orabbix#mkdir -p /opt/orabbix#unzip orabbix-1.2.3.zip -d /opt/orabbix3、赋予权...

oracle整理2

https://blog.csdn.net/daizongxue/article/details/78038965 https://blog.csdn.net/weixin_40733475/article/details/79136123

oracle 11g用exp无法导出空表的解决方案【图】

Oacle 11g中有个新特性,当表无数据时,不分配segment,以节省空间,当我们用exp导出空表时,无法导出。 解决方法是两个方面,一是处理现有的空表,让其能导出;二是设置参数,让后续的新的空表也可以导出 -----------------------------------处理一 ----------------------------------------------------------------------------------- 查询所有空表并分配segment,使用以下语句查询生成修改空表设置的SQL: sele...

Pandas DataFrame写数据到oracle【代码】

导入sqlalchemeimport sqlalchemy写连接串 oracle+cx_oracle://user:pass@host:port/dbname[?key=value&key=value...]to_sql写入数据 from sqlalchemy import create_engine conn_string='oracle+cx_oracle://user:pass@host:port/dbname' engine = create_engine(conn_string, echo=False) df.to_sql('users', con=engine) engine.execute("SELECT * FROM users").fetchall() [(0, 'User 1'), (1, 'User 2'), (2, 'User 3')]参考 ...

【Docker】拉取Oracle 11g镜像配置【代码】

以下是基于阿里云服务器Centos 7操作1.拉取Oracle11g镜像docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g 等待下载即可……下载完成后,使用下列命令查看镜像docker images从上图可以清楚看到镜像拉取完毕2.创建容器docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g说明:如果没有添加1521,先添加1521端口我的安装成功后出现上图3.启动容器docker start or...

Linux下Python cx_oracle.DatabaseError:ORA-12537:TNS:connection closed

相信你已经在Linux上安装好了instantclient-basic-linux.x64-12.2.0.1.0,没有的话参考: Linux下使用Python连接Oracle 安装好oracle客户端之后,参考以下首先,查看下防火墙是否关闭,排除防火墙问题 $ service iptables status 防火墙已停 试一下ftp连接远程数据库ip+端口,如 $ ftp 128.0.1.23 1521 connect:128.0.1.23, remote service connection failed 说明远程数据库拒绝了本服务器的连接,可联系管理员把你的服务器加入到...

在阿里云上遇见更好的Oracle(二)【图】

从上一篇文章的反馈来看,大家还是喜欢八卦多过技术细节,那这一篇继续一些题外话,说说我对“去IOE”的看法。 对同一件事情,参与的没参与的人,讨论起来,都会有各自的立场。所以这里先申明一下,以下内容只是我个人的观点,与任何公司及组织及其他个人皆无关;限于个人记忆力,部分细节可能有出入,如有差错,纯属年老失忆。 淘宝当年从单个Java应用到服务化后的垂直分库,再到水平分库,一步一步走过来,每一步皆有其必然性...

Oracle数据库基本操作——表空间管理【图】

简介:ORACLE物理上是由磁盘上的以下几种文件:数据文件和控制文件和LOGFILE构成的表空间就只谈相关的数据文件首先明确概念:表空间是ORACLE内部定义的一个概念,是为了统一ORACLE物理和逻辑上的结构而专门建立的,从物理上来说,一个表空间是由具体的一个或多个磁盘上数据文件构成的(至少1对1,可以1对多),从逻辑上来说一个表空间是由具体的一个或多个用户模式下的表,索引等等里面的数据所构成的.因此从用户的角度来看是不应该看到磁盘上...

Win10远程桌面出现身份验证错误,要求的函数不受支持,可能是由于CredSSP加密Oracle修正【图】

微软给出解决方案: https://support.microsoft.com/zh-cn/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018 Win10教育版和家庭版都可以直接修改注册表实现:注册表路径HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters值AllowEncryptionOracle数据类型DWORD值 2

oracle创建用户

每个数据文件20G,共200Gcreate tablespace stg datafile h:/ORA_TBS/stg01.dbf size 20G extent management local segment space management auto; alter tablespace stg add datafile h:/ORA_TBS/stg02.DBF size 20G ; alter tablespace stg add datafile h:/ORA_TBS/stg03.DBF size 20G ; alter tablespace stg add datafile h:/ORA_TBS/stg04.DBF size 20G ; alter tablespace stg add datafile h:/ORA_TBS/stg05.DBF size 20G...

windows server2008 下安装Oracle 11gR2 出现oracleMTSRecoveryService 启动失败【图】

解决方案,下载对应VisualC++并在windows下安装: 32-bit: Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) 64-bit: Microsoft Visual C++ 2005 SP1 Redistributable Package (x64) 最后最终解决了。

SpringBoot 操作docker oracle容器【代码】

SpringBoot 操作docker oracle容器 ##springBoot pom配置org.springframework.boot spring-boot-starter<!-- SpringBoot 测试 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- SpringBoot 拦截器 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><...

Oracle数据库的表空间基本管理【代码】【图】

一、概述Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。 有了数据库,就可以创建表空间。 表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。表空间是数据库中最大的...

Oracle 分区表 收集统计信息 参数granularity

GRANULARITYDetermines the granularity of statistics to collect. This value is only relevant for partitioned tables.参数可选项:GRANULARITY - The value determines granularity of statistics to collect (only pertinent if the table is partitioned).'ALL' - gathers all (subpartition, partition, and global) statistics'AUTO'- determines the granularity based on the partitioning type. This is the default v...

【oracle 处理数值型数据】常见数值处理

计算绝对值 abs(-100) 求四舍五入值 round(186.3430,1) 向上取整 ceil(-204.23) 向下取整 floor(-204.23) 取模求余数 mod(num,2) 判断数值的正负 sign(salary) 求平方根 sqrt(salary) 乘方 power(2,3) 截取数字,不进行四舍五入 trunc(186.658,2) 按照ASCII码转换为字符 chr(108) 格式化数值,转换为字符串 to_char(原数值,格式)

Oracle数据库——存储过程

过程 创建过程: create [ or replace ] procedure 过程名称 [ ( 参数列表) ] { is | as } ----声明变量 begin ----执行代码 end [过程名称]; 例如: create or replace procedure p_hello is begin dbms_output.put_line(hello world); end p_hello; 调用存储过程: exec 存储过程名称 [ (参数) ] execute 存储过程名称 [ (参数) ] begin ----存储过程名称 [ (参数) ] end 删除过程: drop procedure 过程名称 函数 ...

python实现oracle连接池

这个脚本大概是三个月之前写的,当时也看了很多文章。具体是参考哪个文章也忘了,请原作者见谅。 整理出来,给有需要的人。 编程语言 Python 语言版本 3.5.3 实现功能 oracle 连接池,解决频繁连接oracle数据库带来的连接资源耗费问题 程序托管 Github 程序链接 orcl_pools.py 修改日期 2018年10月9日

Oracle用户密码过期和用户被锁解决方法【转】【代码】

【原因/触发因素】确定是由于Oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。 【影响和风险】 影响 密码过期后,业务进程连接数据库异常,影响业务使用。 问题发生频率 数据库密码过期后,业务进程一旦重启会提示连接失败。 【解决方案】 按照如下步骤进行操作: 1、查看用户的proifle是哪个,一般是default:sql>SELECT username,PROFILE FROM dba_users;2、查看指定概要文件(如default)的密码有...