自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

In-Memory Computing Technology

内存数据库,内存网格技术,包括TimesTen, Redis, HANA, Spark, Coherence等

  • 博客(832)
  • 资源 (4)
  • 收藏
  • 关注

原创 Github命令行,从口令切换到Token

8月期间,命令行运行git pull命令时,虽然执行成功,但每次都警告要从password切换为token,具体说让看邮件。今天有空,看了下邮件。实际操作的链接参见文章:Creating a personal access token整个过程很简单,token的用途如下:Personal access tokens function like ordinary OAuth access tokens. They can be used instead of a password for Git ov

2021-08-30 10:12:52 644

原创 Oracle数据仓库参考架构

基础概念什么是数据仓库Data Warehousing ConceptsIntroduction to Data Warehousing Concepts一文提到了ODS的概念:Operational data stores exist to support daily operations. The ODS data is cleaned and validated, but it is not historically deep: it may be just the data for the

2021-08-25 10:52:30 856

原创 DBID,SID,DB name,DB global name的区别

参考本文参考Difference between DB name, DB global name, DBID and SID (Doc ID 1277854.1),并使用两节点RAC作为示例。DBID按照这里的定义:An internal, uniquely generated number that differentiates databases. Oracle creates this number automatically when you create the database.获

2021-08-10 14:40:47 1215

原创 Oracle 19c 在 Linux上的安装要求

详见:在64位 OL7 或者 RHEL7 上安装 Oracle 19c 数据库的要求 (Doc ID 2610727.1)其中也提到了对Linux文件系统的要求,参见:Supported and Recommended File Systems on Linux (Doc ID 236826.1)最低硬件要求,RAM是1GB,推荐2GB。默认的Vagrant Box使用的就是推荐值。看文档对空间的要求,企业版和标准版是一样的,很怀疑就是同一个介质。...

2021-08-10 13:31:01 695

原创 10G的CSV倒入Oracle数据库会占用多少空间?

利用Oracle示例Schema中的sh.sales表,导出为csv文件。建立外部表sales_ext,对应此csv文件:CREATE TABLE sales_ext ( "PROD_ID" NUMBER, "CUST_ID" NUMBER, "TIME_ID" DATE, "CHANNEL_ID" NUMBER, "PROMO_ID" NUMBER, "QUANTITY_SOLD" NUMB

2021-07-22 10:29:42 465

原创 通过Oracle数据库建立外部表以访问对象存储

ERROR at line 1:ORA-29913: error in executing ODCIEXTTABLEOPEN calloutORA-29400: data cartridge errorKUP-11504: error from external driver: java.lang.NoClassDefFoundError:org/antlr/runtime/RecognitionException/u01/app/oracle/product/18.0.0/dbhome_1...

2021-07-19 18:07:11 670 2

原创 Exadata X8M支持的数据库版本

从 Information Center: Oracle Exadata Database Machine (Doc ID 1306791.2) 中找到了 Exadata Database Machine and Exadata Storage Server Supported Versions (Doc ID 888828.1) 。在Oracle Database部分,支持的数据库版本为:11.2.0.412.1,12.218c,19c当然对Exadata系统软件也有要求。...

2021-07-13 16:59:44 240

原创 Linux扩展根文件系统

有一个虚机模板,剩余空间不多了。于是在导入时指定了更大的根盘空间:100GB。启动以后,可以看到盘确实变大了,但是接下来要扩展VG,LV和文件系统。$ df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/vg_bigdatalite-lv_root 52G 39G 11G 79% /tmpfs 15G 1.2G 1

2021-07-08 00:11:29 333

原创 Oracle数据库18c升级到19c

本实验参考了文档Multitenant : Upgrading to Oracle Database 19c已有数据库系统为Oracle 18.6,本文将其升级到19.3。$ sqlplus / as sysdbaSQL*Plus: Release 18.0.0.0.0 - Production on Tue Jul 6 06:23:29 2021Version 18.6.0.0.0Copyright (c) 1982, 2018, Oracle. All rights reserved.

2021-07-07 06:21:54 1122 1

原创 升级 Oracle Linux 6 到 7

本实验参考:https://docs.oracle.com/en/operating-systems/oracle-linux/7/install/ol7-upgrade.html#ol7-upgrade-inplacehttps://kerneltalks.com/linux/how-to-upgrade-from-oracle-linux-6-to-oracle-linux-7/本实验为操作系统就地升级(In-Place Upgrade),从Oracle Linux 6.9升级到7.9。升级

2021-07-06 20:31:11 1075

原创 MySQL HeatWave Quickstart (快速入门)

本实验参考文档HeatWave Quickstart。今天快速体验了一把MySQL HeatWave,整个过程比较顺畅,应该算是入了门了。建议把HeatWave User Guide快速看一遍,也就60多页。创建一个MySQL数据库系统在OCI上创建一个MDS(MySQL Data Service),其实就是一个MySQL数据库。过程可以参考LiveLabs上的实验:MySQL, Data Integration and Data Science for Marine Life Workshop。

2021-07-06 14:44:25 871 1

原创 dbca 命令行静默方式创建Oracle RAC

昨天有个需求,需要用命令行建一个RAC。先Google了一些文章,最好参照了下面这篇。Create RAC database using DBCA silent mode,感谢此文作者,写得非常简洁。然后遇到了一系列错误。第一个错误,Disk Group不存在:[FATAL] [DBT-06002] Selected disk group (XXXX) is not found. ACTION: Specify a disk group that is accessible from the

2021-06-24 11:50:05 1608

原创 TimesTen Aging会清理未来的数据吗

前一阵用户问一个问题,如果基于时间窗的缓存组中插入了未来的数据,此数据会被清理吗?我感觉不会,下面来验证以下。不过我不准备用缓存组来测试了,直接用缓存表吧。反正概念一样。先建一个带非空时间字段的表t1。-- Database is in Oracle type modecreate table ORATT.T1 ( C1 VARCHAR2(4000 BYTE) NOT INLINE, C2 DATE NOT NULL DEFAULT sysdate);定义基于时间

2021-06-18 13:50:03 152

原创 TimesTen 支持列表

截止2021年6月1日。支持的操作系统(主要的):RHEL 6/7/8; Oracle Linux 6/7/8; SLES 12/15AIX 7.1/7.2Windows 10, 2019 …支持的Oracle数据库版本:12.1.0.112.1.0.212.2.0.11819TimesTen当前版本:18.1.4.12.0如何下载:HOWTO : Find Oracle TimesTen In-Memory RDBMS Patches/Releases/Downlo

2021-06-04 10:59:59 222 1

原创 数字化转型的知识和方法

找到国资委的一个链接,http://www.sasac.gov.cn/n4470048/n13461446/n15927611/index.html。底下有个知识与方法,看上去还不错。

2021-05-28 10:21:11 173

原创 TimesTen与Oracle数据库的兼容性

这篇博文是看了这篇文章:How compatible is TimesTen In-Memory Database with the Oracle Database?后的一些感想。首先TimesTen不可能完全兼容Oracle,反过来还差不多,毕竟Oracle功能太丰富。不够毕竟是一家的产品,所以主要的功能还是兼容的,而且相对于其它的数据库,TimesTen对Oracle的兼容度应是比较高的,而且重点是在交易方面。文章的第一段就说了,一些程序可以不修改源代码直接运行,也可参见我之前的文章:一套程序,两

2021-05-12 14:19:21 237

原创 TimesTen Classic缓存组和NOT NULL

昨天在用户处测试,虽然最终完成,中间磕磕碰碰很多,其实主要就是列的定义需要NOT NULL。以下列举了两种情况:在为缓存组选择主键或唯一索引时,主键不必说,因为主键是不允许NULL的;如果选择唯一索引,唯一索引包含的所有键都必须NOT NULL。在Oracle端,我是通过SQL Developer在线改的表定义,时间最长的1分多钟改完。定义Aging,Aging列也要求NOT NULL。...

2021-05-12 13:25:00 180

原创 TimesTen缓存组与触发器

TimesTen只读缓存组是通过在基础表上添加触发器实现的,变化行的唯一标识(主键或唯一索引)会记录在Change Table中,然后TimesTen定期读取Change Table,再将变化同步到缓存表。那么问题来了,这个会增加Oracle的开销吗?开销会很大吗?首先,开销肯定是有的。这要分两种情况。1)对于查询,由于负载转移到了TimesTen,因此总的来说,查询性能提升了,Oracle的负担小了。2)对于DML,由于触发器的原因,会增加很小的开销。看一个实际的例子,Oracle Data C

2021-05-12 13:17:09 178 2

原创 前台程序放到后台并且nohup

前天测试,有个批处理程序放到前台运行了,如何放到后台运行,以便关机走人?看了这篇How do I put an already-running process under nohup?第一种方法是Ctrl Z + bg+disown,都是任务管理的命令,例如:[vagrant@oracle-19c-vagrant ~]$ sleep 1000^Z[1]+ Stopped sleep 1000$ bg %%[1]+ sleep 1000 &$ jobs

2021-05-10 08:08:43 436

原创 TimesTen磁盘空间管理

TimesTen数据库的的磁盘空间占用主要由两部分组成:checkpoing文件数据库log 文件checkpoint文件因为有两个,因此至少需要2 * Permsize空间,建议预留3-4倍Permsize空间。数据库log文件类似于Oracle的redo log,在checkpoint(默认600秒)时会自动清理,也可以用ttckpt命令手工清理。是否能被清理取决于是否有缓存组,日志,XLA等。写这篇文章的初衷,是由于客户运维关心日志文件清理,这样看来只需要留够足够的空间就好了。比较经典

2021-05-09 10:22:35 283

原创 CAP理论简单解读

CAP理论是什么?我觉得讲的最清楚的是维基百科。CAP分别表示一致性,可用性和分区容错性。P可以直接理解为分布式系统。理解CAP理论的最简单方式是想象两个节点分处分区两侧。允许至少一个节点更新状态会导致数据不一致,即丧失了C性质。如果为了保证数据一致性,将分区一侧的节点设置为不可用,那么又丧失了A性质。除非两个节点可以互相通信,才能既保证C又保证A,这又会导致丧失P性质。这个解释真是简单明了,符合KISS原则。再补充Stack Exchange这条,就全了。ACID关注一致性C和可用性A,例

2021-04-26 20:56:19 252

原创 Star Schema Benchmark (SSB)数据生成及脚本

SSB 类似于TPC-H,非常适合测试分析型查询,也非常适合体现Oracle Database In-Memory的优势。生成示例数据:git clone https://github.com/electrum/ssb-dbgen.gitcd ssb-dbgensed -i 's/^MACHINE.*=.*/MACHINE=LINUX/' makefile # 将平台改为LINUXmake # 生成可执行程序dbgen# 利用dbgen生成示例数据,-T指定表,-s指

2021-04-23 10:48:28 1771

原创 Oracle Dev Gym上的Databases for Developers新课程

目前共有3门Database for Developers课程:Databases for Developers: FoundationsDatabases for Developers: Next LevelDatabases for Developers: PerformanceDatabases for Developers: Performance是新课程。包含10节课,包括执行计划,统计信息,Join,性能调优等。主要是理论。看了一节Join的课,蛮好的,推荐!...

2021-03-18 14:59:01 212

原创 TimesTen官方案例

目前有两个页面。第一个是:https://www.oracle.com/database/technologies/related/timesten.html第二个是:https://www.oracle.com/cn/database/technology/timesten-overview.html 的中间部分。

2021-03-09 16:52:08 275

原创 Oracle数据库初始化参数:静态还是动态?

例如我想知道修改SGA_TARGET后是否立即生效,还是需要重启?这些信息在Oracle Database Reference中是查不到的。可以从v$parameter中查询,例如:col name for a20col display_value for a20set lines 120SELECT name, display_value, issys_modifiable, isbasicFROM v$parameterWHEREname IN

2021-02-24 08:36:16 268

原创 Oracle数据库升级RU和RUR实验

本文包括两个实验:从19.3.0升级到19.9.0 (RU升级)从19.9.0升级到19.9.1 (RUR升级)基础环境准备使用的是标准的Vagrant Box,参考这里。安装完成后,版本为19.3.0。下载RU和RUR利用[Oracle补丁下载助手](Assistant: Download Reference for Oracle Database/GI Update, Revision, PSU, SPU(CPU), Bundle Patches, Patchsets and Base

2021-02-21 09:46:59 1149

原创 Oracle数据库升级OPatch全过程

opatch是用来升级的,但有时也需要升级它自己。例如在19.3.0升级到19.9.0过程中,报错以下:$ opatch applyOracle Interim Patch Installer version 12.2.0.1.17Copyright (c) 2021, Oracle Corporation. All rights reserved.Oracle Home : /opt/oracle/product/19c/dbhome_1Central Inventory :

2021-02-21 06:50:48 2751

原创 修改VirtualBox和SQL Developer的菜单的字体

操作系统为Windows 10,VirtualBox和SQL Developer的菜单中的英文字体太难看了。按照这篇文章,修改注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize\GUIFont.Facename将默认值从Simsun改成为Microsoft YaHei UI,重启就好了。...

2021-02-15 17:05:40 526

原创 Redis RU330课程 Redis Security 第3周学习笔记

Week Overview and Introduction to TLSTLS用来保证网络通讯安全,在Redis 6中引进,实现3点:PrivacyIdentityIntegrityRedis Horror Story #3packet sniffing:拦截未加密的网络数据upshot:结果很好的对比例子。先安装tcpdump:$ sudo yum install -y tcpdumphset user:1:secret gender m birthday 20200101

2021-02-02 10:39:00 786

原创 Redis RU330课程 Redis Security 第2周学习笔记

Introduction and Principle of Least PrivilegeOverview and Principle of Least PrivilegeJerome Saltzer,美国计算机科学家。Least privilege: Every program and every user of the system should operate using the least set of privileges necessary to complete the job最小

2021-01-27 13:01:17 658

原创 Redis RU330课程 Redis Security 第1周学习笔记

Overview of RU330https://github.com/redislabs-training/ru3303个部分:基础认证与授权TLSIntroductionCIA Triad (Confidentiality, Integrity, Availability)- confidentiality is a set of rules that limits access to information- integrity is the assurance that

2021-01-27 13:00:40 181

原创 Redis RU202课程 Redis Streams 第1周学习笔记

Overview of RU202https://github.com/redislabs-training/ru202https://redis.io/topics/streams-introWelcome to RU202此课程的前提是RU101。申请一个免费的云端Redis,即Redis Cloud Essentials,参见这里Redis Cloud Essentials适用于开发环境或低吞吐量应用,其特点为:30MB 存储,无需信用卡关键企业级特性新功能: RediSear

2021-01-22 18:31:31 272

原创 Oracle Linux下安装Python 3

本文参照https://yum.oracle.com/oracle-linux-python.html#InstallPythonOracle Linux 7默认包括Python 2.7:$ python --versionPython 2.7.5$ sudo yum install -y oracle-epel-release-el7 oracle-release-el7$ sudo yum install -y python3如何激活Python 3:$ python --vers

2021-01-22 14:57:26 630

原创 Linux上安装MongoDB

安装MongoDBOS为Oracle Linux 7。参照的安装手册见这里创建文件/etc/yum.repos.d/mongodb-org-4.4.repo,内容如下:[mongodb-org-4.4]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb

2021-01-22 14:41:08 465

原创 Windows 10安装Vagrant

登录页面,选择Windows 64bit,安装文件232MB。单击安装文件即可。确认vagrant已安装:$ which vagrant/c/HashiCorp/Vagrant/bin/vagrant大小873MB,空间占用928MB。重启计算机。

2021-01-20 11:31:38 348

原创 安装Git SCM for Windows

Windows 10操作系统。登录网页,单击64-bit Git for Windows Setup。Git for Windows Portable是可移植版,也就是解压即安装,此处不考虑。单击下载文件,约46.6M,开始安装。提示需要259.1M空间。一路点击Next,选择默认配置即可。确认git已安装:$ where gitC:\Program Files\Git\mingw64\bin\git.exe此时可运行gitbash。...

2021-01-20 11:02:41 573

原创 对于销售,Oracle的产品如何快速入门

这里的入门,是针对销售的,知道Oracle有哪些重要的产品,能用在什么场景,有什么好处。以下所有的资料都是中文的。数据库产品数据库产品包括4部分:数据库企业版及选件OEM管理包ExadataGoldenGate这一部分请先看完“甲骨文云技术”微信公众号中的文章《王宝器漫游O记数据商店》。看完后对数据库产品的框架会有一基本了解。然后对于每一产品,可以看中文官网的介绍。只看中文的,如果出现英文即可跳过。重点看下面红框中的。然后请下载Oracle数据库中文白皮书大全,不需要看具体的白皮书

2021-01-19 18:47:12 370

原创 Do better,look better, connect better

这是一篇对我有所启发的文章,怕丢了,先存在这里吧。“对话硅谷华人高管”第四期精华总结其中推荐了一本书,找机会看看。Rise: 3 Practical Steps for Advancing Your Career, Standing Out as a Leader, and Liking Your Life...

2021-01-16 09:55:10 159

原创 TimesTen缓存管理员用户到底需要什么权限?

TimesTen缓存组做初始化时需要用SYS用户执行一个脚本,即$TIMESTEN_HOME/install/oraclescripts下的grantCacheAdminPrivileges.sql。其实从此脚本输出中也可以看到一些信息:SQL> @grantCacheAdminPrivileges "cacheadm"Please enter the administrator user idThe value chosen for administrator user id is cac

2021-01-13 12:09:12 353

原创 将TimesTen缓存组aging lifetime设置更长会自动加载历史数据吗?

已有一个缓存组,aging lifetime设为1年,数据已加载。如果将aging lifetime设为2年,1年前到2年内的数据会自动刷新到缓存组吗?通过实验,发现不行!如果将aging lifetime设为更长,希望所有数据都能进入缓存组,方法是卸载缓存组后,再加载缓存组。这是由于aging是TimesTen表的属性,缓存代理刷新数据是根据Oracle端的触发器,修改aging lifetime是不会去动Oracle端的跟踪表的。修改aging lifetime示例如下:alter table

2021-01-03 19:51:13 197 1

Oracle自治数据库自动分区报告

Oracle LiveLab实验“Boost Database Performance with Oracle Auto Partitioning”中的自动分区报告。

2022-11-16

Martin :另一篇优化的文章

Martin :另一篇优化的文章

2022-04-29

twp-stats-concepts-19c-5324209.pdf

优化器统计信息基本概念

2021-10-26

result.html

result.html

2021-07-07

TImesTen博客示例源代码

我的内存计算专栏示例源代码

2017-03-05

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除