ASM

oracle表空间不足:ORA-01653: unable to extend table

核能气质少年 提交于 2020-11-22 04:06:50
问题背景: oracle表空间不足报错是比较常见的故障,尤其是没有对剩余表空间做定期巡检的系统; 报错代码如下: oracle表空间不足错误代码:ORA-01653: unable to extend table ; 解决方式: 1、查看表空间使用率: 1 set linesize 220 ; 2 set pagesize 500 ; 3 col tbsn for a40; 4 select total.tablespace_name TBSN, 5 round (total.MB, 3 ) as total_space, 6 case when free.MB is null then 0 7 else round (free.MB, 3 ) 8 end as free_space, 9 case when free.MB is null then 0 10 else round (free.MB, 3 ) / round (total.MB, 3 ) * 100 end as free_rate 11 from ( select tablespace_name, sum (bytes / 1024 / 1024 ) MB from dba_data_files group by tablespace_name ) total, 12 ( select tablespace

Spring (AOP和IOC)

試著忘記壹切 提交于 2020-11-11 05:23:46
IoC(Inversion of Control) (1). IoC(Inversion of Control)是指容器控制程序对象之间的关系,而不是传统实现中,由程序代码直接操控。控制权由应用代码中转到了外部容器,控制权的转移是所谓反转。 对于Spring而言,就是由Spring来控制对象的生命周期和对象之间的关系;IoC还有另外一个名字——“依赖注入(Dependency Injection)”。从名字上理解,所谓依赖注入,即组件之间的依赖关系由容器在运行期决定,即由容器动态地将某种依赖关系注入到组件之中。 (2). 在Spring的工作方式中,所有的类都会在spring容器中登记,告诉spring这是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。 (3). 在系统运行中,动态的向某个对象提供它所需要的其他对象。 (4). 依赖注入的思想是通过反射机制实现的,在实例化一个类时,它通过反射调用类中set方法将事先保存在HashMap中的类属性注入到类中。 总而言之,在传统的对象创建方式中

Java在线诊断利器之Arthas

て烟熏妆下的殇ゞ 提交于 2020-11-05 07:06:14
一. 简介 Arthas 是阿里在2019年9月份开源的一款java在线诊断工具,能够分析、诊断、定位java应用问题,例如:JVM信息、线程信息、搜索类中的方法、 跟踪代码执行、观测方法的入参和返回参数等等。 Arthas最大的特点是能在 不修改代码和不需要重新发布的情况下,对业务问题进行诊断 ,包括查看方法调用的出参入参、异常、监测方法执行耗时、类加载信息等,大大提升线上问题排查效率。 二. 适用场景 线上环境某个方法数据处理有问题,但没有日志埋点等记录入参和出参信息,无法debug,并且本地环境无法重现问题 线上接口调用响应缓慢,耗时高,但接口逻辑复杂,接口内部又调用很多其他系统的接口或第三方的jar,不确定是哪个方法导致的耗时高,无法定位到具体方法 出问题的方法被执行的路径非常多,无法确定该方法是在哪些具体的地方被调用或执行,这个方法也可能是第三方的jar包里的 无法确定线上环境是否是最新提交的代码,只能把服务器上的class文件下载下来使用反编译工具打开确认 线上出现偶发问题或只是某些条件下才会触发,通过日志不容易排查 三. 安装使用 目前的arthas版本都是基于命令行的交互方式,所以下面会按照上面的适用场景列出一些重要和常用的命令,全部命令请查看官方安装。 这里有一个坑,如果在widows环境安装,本地之前安装了多个版本的jdk

详解Linux 虚拟机如何进入单用户模式

一笑奈何 提交于 2020-11-05 03:28:46
今天来讨论下如何在云上的Linux虚拟机进入单用户模式,很多人可能没太想过云上的虚拟机还能这么玩,其实是可以的,当然一般情况下需要进入单用户模式的时候都不是为了玩的,而是因为发生了一些意外,导致我们没办法通过正常模式进入系统,比如比较常见的就包括以下几种场景 FSTAB文件损坏或者配置错误,导致找不到磁盘驱动器或者分区 防火墙规则配置错误 文件系统损坏 SSH配置出现问题 引导失败 一旦出现了这些问题,我们都没办法通过正常ssh连接到虚拟机,而云上的服务器我们又没办法直接进入机房,这时候可能就会束手无策。在Global Azure中我们可以使用VM的一项功能serial console通过单用户模式登录到系统,从而解决问题,这项功能在21v目前还不支持,不过也不意味着这种问题在21v没办法解决,如果在21v出现以上的问题,我们可以直接联系support,他们有办法在hyper-v层面直接登录虚机 简单来说,serial console可以连接到 VM 或虚拟机规模集实例的 ttyS0 或 COM1 串行端口,为用户提供访问权限,而不管它的网络或操作系统状态如何。 请注意的是,有几个重点信息我们需要关注下 1. 串行控制台当前与托管的启动诊断存储帐户不兼容。 若要使用串行控制台,请确保使用的是自定义的存储帐户。 2. 不支持经典ASM VM 3. 使用串行控制台的 Azure

反编译之混淆

て烟熏妆下的殇ゞ 提交于 2020-11-04 06:04:16
一 、 反编译原理是什么? C++ 、 C 语言一般不能反编译为源代码,只能反编译为 asm (汇编)语言,因为 C 较为底层,编译之后不保留任何元信息,而计算机运行的二进制实际上就代表了汇编指令,所以反编译为汇编是较为简单的。 C# 、 Java 这类高级语言,尤其是需要运行环境的语言,如果没有混淆,非常容易反编译。原因很简单,这类语言只会编译为中间语言( C# 为 MSIL 微软中间语言, Java 为 Bytecode 字节码),而中间语言与原语言本身较为相似,加上保留的元信息(记录类名、成员函数等信息)就可以反向生成源代码,注意是由反编译器生成,不会与源码完全相同,但可以编译通过。这些特性本身是为反射技术准备的,却被反编译器利用,现在的 C# 反编译器 IL Spy 甚至可以反向工程。 二、 C# 反编译破解工具 常用两种: .NET Reflector 和 ILSyp 工具。 三、 C# 反编译防范措施: ① 设置项目代码反汇编属性(弊大于利,不推荐使用,具体用法:https://www.cnblogs.com/caokai520/p/7711136.html) ② 混淆(重点讲解) 四 、 混淆代码对比 未使用混淆工具,反编译出的源码: 使用混淆工具,反编译出的源码: 优点:效果很明显, C# 代码通过混淆工具生成后,增加了很多转换过程。这使得

Azure Automation (7) 执行Azure SQL Job

百般思念 提交于 2020-11-02 19:05:06
  《 Windows Azure Platform 系列文章目录 》   之前Automation介绍的内容,是在ASM模式下自动化开关机。   本章将介绍如何在Automation中,设置开关机脚本,操作Azure ARM VM   1.首先我们创建一个Azure Automation。图略   2.创建完毕后,点击凭据,添加评估,输入名称为MyAccount   在凭据中,输入我们登录Azure Portal: https://portal.azure.cn/ 的用户名和密码。如下图:      3.我们选择RunBook,选择创建Runbook。类型请选择PowerShell      4.开机的脚本请参考我的GitHub:    https://github.com/leizhang1984/AzureChinaAutomation/blob/master/ARM/StartARMVM.ps1   关机脚本:    https://github.com/leizhang1984/AzureChinaAutomation/blob/master/ARM/StopARMVM.ps1   在脚本中的第一行语句:    $cred = Get-AutomationPSCredential -Name " MyAccount "     

尝鲜!我在华为鸿蒙上编写的第一个 Hello World!

喜夏-厌秋 提交于 2020-11-02 13:55:11
码农那点事儿 关注我们,一起学习进步 最激动入门级选手的心的时刻来了,本示例将演示如何编写简单业务,输出“Hello World”。 修改源码 bugfix和新增业务两种情况,涉及源码修改。下面以新增业务举例,向开发者介绍如何进行源码修改。 1.确定目录结构。 开发者编写业务时,务必先在./applications/sample/wifi-iot/app路径下新建一个目录(或一套目录结构),用于存放业务源码文件。 例如:在app下新增业务my_first_app,其中hello_world.c为业务代码,BUILD.gn为编译脚本,具体规划目录结构如下: . └── applications └── sample └── wifi-iot └── app │── my_first_app │ │── hello_world.c │ └── BUILD.gn └── BUILD.gn 2.编写业务代码。 在hello_world.c中新建业务入口函数HelloWorld,并实现业务逻辑。并在代码最下方,使用OpenHarmony启动恢复模块接口SYS_RUN()启动业务。(SYS_RUN定义在ohos_init.h文件中) #include "ohos_init.h" #include "ohos_types.h" void HelloWorld(void) { printf ( "

尝鲜!我在华为鸿蒙上编写的第一个 Hello World!

核能气质少年 提交于 2020-11-02 08:19:28
最激动入门级选手的心的时刻来了,本示例将演示如何编写简单业务,输出“Hello World”。 修改源码 bugfix和新增业务两种情况,涉及源码修改。下面以新增业务举例,向开发者介绍如何进行源码修改。 1.确定目录结构。 开发者编写业务时,务必先在./applications/sample/wifi-iot/app路径下新建一个目录(或一套目录结构),用于存放业务源码文件。 例如:在app下新增业务my_first_app,其中hello_world.c为业务代码,BUILD.gn为编译脚本,具体规划目录结构如下: . └── applications └── sample └── wifi-iot └── app │── my_first_app │ │── hello_world.c │ └── BUILD.gn └── BUILD.gn 2.编写业务代码。 在hello_world.c中新建业务入口函数HelloWorld,并实现业务逻辑。并在代码最下方,使用OpenHarmony启动恢复模块接口SYS_RUN()启动业务。(SYS_RUN定义在ohos_init.h文件中) #include "ohos_init.h" #include "ohos_types.h" void HelloWorld(void) { printf ( "[DEMO] Hello world.

LNSY集训

纵饮孤独 提交于 2020-11-01 15:06:07
2019.8.5 - 2019.8.18 流水账预警 D1 § 大凶 § T91934 Asm.Def 谈笑风生 T91936 Asm.Def 的基本算法 T91938 Asm.Def 的一秒 T92106 装饰大楼 T92119 备用钥匙 T92117 IOIOI卡片占卜 上午20',下午47',各CE了一个题,总分倒数第二 /cy 话说LNSY对面那华润万家一楼 700cc 的奇异果冰沙挺好喝的...就是大杯太大了(大概25cm高?) 晚上回去的时候下 雨了 ,回去发现室友跑了 (这是好事) 于是ff14 D2 § 凶§ T92260 dtx和他的袜子-A T92261 dtx和他的袜子-B T92262 dtx和他的袜子-C (原题叫po姐姐和他的妹子) 反正就是难 t1看了2h没想出来(完全想偏了...入度什么的考虑了一下就放弃了), t2固输10',t3开黑写了个暴力manacher,居然40' (并且分享了一下自己的代码qwq) 排名很后qwq 反正没压力这样 上午看到考试成绩其实心态有点崩x然后头一直很疼那样的 下午过一会就没事了 今天是蓝莓冰沙...一般吧 晚上...电脑没R6 /kk ff14到12点多(室友居然一直在旁边打音游,太好了/cy) D3 § 中吉 § T92371 dtx的压缩包 T92372 dtx的彩虹桥 T92373 袜子的序列 (原题叫老司机

设计模式之代理模式

落爺英雄遲暮 提交于 2020-10-29 14:14:08
代理模式 通过代理控制对象的访问,可以详细访问某个对象的方法,在这个方法调用处理,或调用后处理。既(AOP微实现) ,AOP核心技术面向切面编程。 1、代理模式应用场景 SpringAOP、事物原理、日志打印、权限控制、远程调用、安全代理 可以隐蔽真实角色 2、代理的分类 静态代理(静态定义代理类) 动态代理(动态生成代理类) Jdk自带动态代理 Cglib 、javaassist(字节码操作库) 3、静态代理 由程序员创建或工具生成代理类的源码,再编译代理类。所谓静态也就是在程序运行前就已经存在代理类的字节码文件,代理类和委托类的关系在运行前就确定了。 1)、静态代理代码 public interface IUserDao { void save(); } public class UserDao implements IUserDao { public void save() { System.out.println("已经保存数据..."); } } 代理类 public class UserDaoProxy implements IUserDao { private IUserDao target; public UserDaoProxy(IUserDao iuserDao) { this.target = iuserDao; } public void save() {