一. 关于Oracle 11g数据库在查询表中数据显示中文乱码问题web
【描述】本人一开始使用的Oracle是11g版本的,用PLSQL一次查询表中的数据时出现了中文显示乱码,为此搜了许多解决办法,最终经过下面三个步骤解决了问题 【解决】三个步骤: 1. 查询一下当前的字符集类型 select userenv('language') from dual 若不是IMPLIFIED CHINESE_CHINA.ZHS16GBK,须要去设置环境变量 2. 个人电脑上右键属性--高级系统设置--高级--环境变量,新建用户变量: 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 3. 重启PLSQL
二. 关于数据库被锁的解决方法sql
【描述】整个项目开发的过程当中,许多人会同时操做数据库,有时候不经意间会遇到本身插入SQL语句执行时,下方的显示栏一直显示“正在执行...”,出现这种状况的缘由是有人操做数据库时没有commit,致使数据库被锁,本身就没法进行增删改数据的操做了! 【解决】杀掉当前系统的会话,经过如下三个步骤便可解决被锁状况: 1. 查询被锁的模块,会话 select object_id,session_id,locked_mode from v$locked_object 2. 查询被锁的用户名,sid,seria以及其余信息 select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid order by t2.logon_time 3. 填写步骤2对应的sid,serial# alter system kill session 'sid,serial#‘
三. Oracle数据库长时间不使用会出现一些问题,如服务没开完出现:Oracle initialization or shutdown inprogress数据库
【解决】Windows的服务中找到如下服务启动,若是跟随系统启动能够设置为自动 OracleDBConsoleorcl OracleOraDb11g_home1TNSListener OracleServiceORCL 【服务解释】 OracleDBConsolexx(xx表示实例名称,非必须启动):Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。在运行Enterprise Manager(企业管理器OEM)的时候,须要启动这个服务。 OracleOraDb11g_home1TNSListener(非必须启动):监听器服务,服务只有在数据库须要远程访问的时候才须要。 OracleServicexx(xx表示实例名称,必须启动):数据库服务(数据库实例),是Oracle核心服务该服务,是数据库启动的基础, 只有该服务启动,Oracle数据库才能正常启 【总结】 要是只用Oracle自带的sql*plus的话,只要启动OracleServiceORCL便可,要是使用PL/SQL Developer等第三方工具的话,OracleOraDb11g_home1TNSListener服务也要开启。OracleDBConsoleorcl是进入基于web的EM必须开启的,其他服务不多用。注:ORCL是数据库实例名,默认的数据库是ORCL,你能够建立其余的,即OracleService+数据库名。