数据类型决定了它的存储格式、有效值范围以及可以对它进行的操作。本文主要记录一些PL/SQL中标量数据类型需要注意的一些点。
首先简单解释下什么是标量数据类型,当第一次在ORACLE官方文档中看到这个词的时候也是有点懵的。ORACLE对其的解释是store values with no internal components
,意思是标量数据类型只有一个值,没有内部分量,比如VARCHAR2、BOOLEAN、NUMBER等。与其相对的就是属性数据类型,比较常见的就是在PL/SQL中定义一个变量为数据库中的一行。
聊聊PL/SQL条件编译
说说PL/SQL一个比较冷门但是很强大的东西——条件编译,顾名思义,条件编译就是根据不同的条件编译PL/SQL应用而无需移除源码中的文本。比如,根据不同的数据库版本,编译不同的源码;在开发环境中用于debug的语句,当在生产环境部署时不编译该部分语句。
ORACLE数据库启停概述
这段时间有点迷惘,不知道接下来干嘛了。想辞职,重新找一份java开发相关的工作,也就意味着这一年多数据库运维、开发的经验就浪费了,而且换到java岗我是否就真的热爱这份职业呢?真不知道干嘛了,毕业一年多,走走停停,各种折腾,24岁了,一无所成。最近迷上了一首歌4 Non Blondes - What's Up
唱出了自己的迷茫与无措,希望在25岁的时候听到这首歌是不一样的感觉。
只要使用过oracle database,那么肯定执行过很多次的startup
和shutdown
的操作,但是你是否关心过这个过程发生了什么?这篇文章主要讲讲oracle启动与停止过程oracle后台发生的事情。
ORA-00600-[kcratr_nab_less_than_odr]问题小记
上午一实施哥们来求救说一个做ETL的数据库无法启动了,出现了ORA-00600的错误。之前也遇到过几次ORA-00600内部错误的问题,几次都是因为数据库服务器异常断电导致的,这类错误一般是oracle自己内部的bug。下面记录下解决的过程:
静默安装ORACLE数据库
OUI的安装方式便捷、直观,但是有时候出于一些原因(PS:网络等原因),无法在服务器上使用OUI的方式,此时就只有用命令行来进行安装了。
本文记录了利用静默方式安装ORACLE数据库软件,再利用dbca命令创建数据库。也可以直接利用静默安装文件同时安装ORACLE数据库软件和创建数据库,但是同时进行的时候容易出错,所以本文将其分为两步进行。
java基础回顾——浅谈java初始化
干了接近两年的ETL和数据库运维,开发相关的东西已经忘了很多了,学了的东西还是不能丢。java基础回顾系列作为对以前学习知识的重温、记录以及分享。
作为科班出生的,第一门编程语言就是C,曾经产生了很多由于未正确初始化导致的错误。java尽力保证所有变量在使用之前都会得到恰当的初始化(对于方法的局部变量,Java会以编译时错误的形式来提醒程序员进行初始化),但是并不意味着我们可以忽略初始化这个问题。
伪分布式HADOOP环境搭建
本文伪分布式集群的搭建基于CentOS 7+hadoop 2.8.0+server jre 8。
配置防火墙规则
本文主要目标是单节点集群的搭建,为了简单省事直接把防火墙关闭了。
1 | [root@localhost storage]# systemctl stop firewalld |
关于CENTOS 7为firewalld新增开放端口的方式请移步CentOS 7 为firewalld添加开放端口及相关资料。
oracle服务无法注册到监听的解决流程
有时候我们lsnrctl start
成功启动监听之后,查看status一直显示no service
1 | The listener supports no services |
对于这类问题,一般我的解决步骤如下:
ORACLE重建控制文件
因为一次断电导致控制文件丢失,启动数据库报ORA-00205错误:
1 | SQL> startup |
通过v$instance
查看数据库status是started但是无法对数据库进行操作,show pdbs
命令不显示任何信息。由于两份控制文件均丢失,无奈只能手动重建控制文件。
JAVA反射机制
反射可以让我们在运行时动态的加载类,访问、调用类的字段、方法、构造器。反射机制是构建框架的基础,如Spring框架核心,各种RPC框架等。
Class:class的抽象
首先我们需要知道在java中,类的信息是由Class对象来描述的,每个类对应一个Class对象,它表示一个类或者接口(一个annotation也算是一个接口)在运行时的类型信息。Class只有一个private的构造器,你并不能手动的去创建它,Class对象只能由JVM在加载一个类或者是在调用一个方法的时候去创建它。