Oracle

java学习day1--了解java及JDK环境变量的配置

别等时光非礼了梦想. 提交于 2021-02-13 18:24:24
  了解java及JDK环境变量的配置    Java由sun公司开发,目前被甲骨文(Oracle)公司所收购。    Java主要包括三大块: JavaSE(Java标准版),也是目前正主学的内容 JavaEE(Java企业版) JavaME(Java微型版)    Java语言的特性: 开源,免费,简单性,面向对象,跨平台(可移植性) 。    跨平台 主最主要是依靠 JVM(Java Virtual Machine):Java虚拟机 。    由于系统不同,所以需要JVM作为介质来编译和运行Java代码    Java中最主要的三个概念:    JDK :Java开发工具包,是Java编译和运行的主要工具;其中 javac.exe 负责 编译xxx.java文件 成为 xxx.class文件 ;再由 java.exe 将 xxx.class 文件 运行 。    JVM :Java虚拟机。实现跨平台的主要工具。    JRE :Java开发环境。    JDK环境变量的配置:     我下载的是JDK1.8,下载地址https://www.oracle.com/technetwork/java/javase/downloads/index.html     Step1:将JDK解压到C盘下将其 绝对路径 复制          Step2

PLSQL 操作oracle数据库中文乱码

生来就可爱ヽ(ⅴ<●) 提交于 2021-02-13 14:54:13
1 .下面小编给大家讲解以前经历的问题,刚将PLSQL与Oracle配置好,可是在PLSQL中插入数据时,出现一个问题,PLSQL中的表里无法显示中文,中文无法保存、无法输出,中文在表中显示问号,希望可以帮到大家,如图: 步骤一:开始 -运行-输入regedit-回车进入注册表,依次单击HKEY_LOCAL_MACHINE--->SOFTWARE ---> ORACLE---> KEY_OraDb11g_home1(不同版本的Oracle显示的都不太一样,但都会包含home这个单词),找到“NLS_LANG”查看数值数据是否为:“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,如果不是就将它设置为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”。 2 步骤二:设置完注册表后,接下来设置我们的环境变量,计算机(右键) --->属性--->高级系统设置--->高级--->环境变量---> 新建,个人建议新建用户变量,变量名输入:“NLS_LANG”,变量值输入:“SIMPLIFIEDCHINESE_CHINA.ZHS16GBK”。点击确定即可,到此我们就设置完了 3 . 步骤三:下面就看下我们的效果,关闭PLSQL,重新启动,中文果然出现了,这样就处理完成了,如图: UTF -8 改成 SIMPLIFIED CHINESE_CHINA

oracle填坑之PLSQL中文显示为问号

久未见 提交于 2021-02-13 14:06:46
刚入坑oracle就遇到个坑。 坑描述 : 系统: Windows7 oracle: 同时安装 ,11g和12c(安装顺序,先装的12c然后装的11g) 坑: 开始安装的12c用SQL Developer使用本地数据库一切正常,公司服务器上的oracle是11g版本,PLSQL是公司用的绿色版(公司全用的oracle_11g)好像也只适用11g,结果PLSQL连不上公司服务器的数据库。于是就又装了一个oracle_11c,装完后到是连上了公司服务器,坑也就来了,库里所有中文全变成了问号,用其他同事的电脑查都是正常的,就我电脑显示异常。 异常提示: 解决办法: 1、 先看PLSQL的信息,找到Character Sets下的 NLS_LANG 值是什么。(我的 NLS_LANG 是空值) 2、 查看/修改注册表 开始 → 运行 → 输入“regedit ” 进入注册表后,以此找到 “HKEY_LOCAL_MACHINE” → “SOFTWARE” → “ORACLE”(完整路径“HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE”) 找到 “NLS_LANG” 键(如果没有请手动添加,我是手动加的),将值修改为 “SIMPLIFIED CHINESE_CHINA.ZHS16GBK” 。 3、 添加环境变量 右键“我的电脑” → 属性 → 高级系统设置 → 高级 →

MySQL并行复制的一个坑

和自甴很熟 提交于 2021-02-13 14:04:26
早上巡检数据库,发现一个延迟从库的sql_thread中断了。 Last_SQL_Errno: 1755 Last_SQL_Error: Cannot execute the current event group in the parallel mode. Encountered event Gtid, relay-log name ./oracle-relay-bin.000093, position 152912092 which prevents execution of this event group in parallel mode. Reason: The master event is logically timestamped incorrectly.. 检查performance_schema下的replication_applier_status_by_worker表,除了GTID之外也没有更具体的信息: "root@localhost:mysql3308.sock [(none)]>select * from performance_schema.replication_applier_status_by_worker; +--------------+-----------+-----------+---------------+------------

mstsc远程报:这可能是由于CredSSP 加密Oracle修正的两种完美解决方法

▼魔方 西西 提交于 2021-02-13 07:32:42
mstsc远程报:这可能是由于CredSSP 加密Oracle修正的两种完美解决方法 参考文章: (1)mstsc远程报:这可能是由于CredSSP 加密Oracle修正的两种完美解决方法 (2)https://www.cnblogs.com/yilezhu/p/9327358.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4437974/blog/4540770

DATE类型的“小陷阱”

浪尽此生 提交于 2021-02-12 19:04:02
朋友提了个问题,虽然不是难题,但确实很细微,很可能就掉进了陷阱中,假设执行日期是2020-08-26,创建测试数据, SQL> create table t01 (id number, insert_time date); Table created. SQL> insert into t01 values(1, to_date( '2020-08-25' , 'yyyy-mm-dd' )); 1 row created. 需求是检索insert_time是昨天的记录,他用这条SQL,通过trunc(sysdate)-1得到前一天的日期作为条件,乍看很合理,但是结果是0, SQL> select * from t01 where insert_time > trunc(sysdate) -1 ; no rows selected 但是他使用trunc(sysdate)-2,能得到记录,“-2”不是前天?不是昨天啊? SQL> select * from t01 where insert_time > trunc(sysdate) -2 ; ID INSERT_TIME ---------- ------------------ 1 25 -AUG -20 其实这个问题很简单,DATE类型在Oracle中定义包含了“年、月、日、时、分、秒”,即使像上例中,to_date('2020

Spring事务传播及数据库事务操作

此生再无相见时 提交于 2021-02-12 18:54:50
从Spring 事务配置说起   先看看Spring 事务的基础配置 <aop:aspectj-autoproxy proxy-target- class = " true " />   <bean id= " transactionManager "      class = " org.springframework.jdbc.datasource.DataSourceTransactionManager " >     <property name= " dataSource " ref = " dataSource " />   </bean>   <tx:annotation-driven transaction-manager= " transactionManager " />   <!-- 配置事务传播特性-->   <tx:advice id= " transactionAdvice " transaction-manager= " transactionManager " >     <tx:attributes>       <tx:method name= " add* " propagation= " REQUIRED "       rollback - for = " Exception,RuntimeException,SQLException "

Oracle v$session视图显示客户端IP地址

烈酒焚心 提交于 2021-02-12 15:28:01
在Oracle数据库中,我们使用session相关视图(v$session、v$active_session_history,dba_hist_active_session_history等)查找问题时,往往可以定位到相应的主机名,但是,想要更进一步查找IP地址时,却发现各个数据字典表里面都没有记录IP。而开发人员和领导往往更关注IP地址,那么,如何让Oracle数据库显示IP呢? 可以创建系统触发器来捕获IP地址,系统触发器如下: -- 使用sys执行 create or replace trigger on_logon_trigger after logon on database begin dbms_application_info.set_client_info(sys_context( ' userenv ' , ' ip_address ' ) ); end ; 之后就可以在v$session中看到IP地址了 但是在历史视图v$active_session_history,dba_hist_active_session_history中还是没有IP。 来源: oschina 链接: https://my.oschina.net/u/4261744/blog/3316122

oracle学习-V$ACTIVE_SESSION_HISTORY 视图-官方文档解释

亡梦爱人 提交于 2021-02-12 14:29:23
V$ACTIVE_SESSION_HISTORY 显示数据库中的采样会话活动。它包含每秒执行一次的活动数据库会话的快照。如果数据库会话在CPU上或正在等待不属于 Idle wait类的事件,则认为该数据库会话是活动的。 V$EVENT_NAME 有关等待类的更多信息,请参阅视图。 此视图为每个样本的每个活动会话包含一行,并首先返回最新的会话样本行。描述活动会话历史记录中的会话的大多数列都存在于 V$SESSION 视图中。 柱 数据类型 描述 SAMPLE_ID NUMBER 样本的ID SAMPLE_TIME TIMESTAMP(3) 采集样品的时间 IS_AWR_SAMPLE VARCHAR2(1) 指示此样本是否已刷新或将刷新到自动工作负载存储库( DBA_HIST_ACTIVE_SESS_HISTORY )( Y )或不是( N ) SESSION_ID NUMBER 会话标识; 映射到 V$SESSION.SID SESSION_SERIAL# NUMBER 会话序列号(用于唯一标识会话的对象); 映射到 V$SESSION.SERIAL# SESSION_TYPE VARCHAR2(10) 会话类型: FOREGROUND BACKGROUND FLAGS NUMBER 保留供将来使用 USER_ID NUMBER Oracle用户标识符; 映射到 V$SESSION

Java优化性能

☆樱花仙子☆ 提交于 2021-02-12 12:00:36
尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步来控制资源的并发访问; 第二,控制实例的产生,以达到节约资源的目的; 第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。 2、尽量避免随意使用静态变量 当某个对象被定义为static变量所引用,那么GC通常是不会回收这个对象所占有的内存,如 3、尽量避免过多过常地创建Java对象 尽量避免在经常调用的方法,循环中new对象,由于系统不仅要花费时间来创建对象,而且还要花时间对这些对象进行垃圾回收和处理,在我们可以控制的范围内,最大限度地重用对象,最好能用基本的数据类型或数组来替代对象。 4、尽量使用final修饰符 带有final修饰符的类是不可派生的。在JAVA核心API中,有许多应用final的例子,例如java、lang、String,为String类指定final防止了使用者覆盖length()方法。另外,如果一个类是final的,则该类所有方法都是final的。java编译器会寻找机会内联(inline)所有的final方法(这和具体的编译器实现有关),此举能够使性能平均提高50%。 5、尽量使用局部变量