一些问题解决

数据库数据迁移后,因序列报错

从老数据库复制出所有序列的create语句

代码大意为:

查询出所有序列的序列名、最小最大值、开始位置自增量等拼接成一条create语句

select 'create sequence '||sequence_name||

' minvalue '||min_value||

' maxvalue '||max_value||

' start with '||last_number||

' increment by '||increment_by||

(case when cycle_flag='N' then '' else ' cycle ' end) ||

(case when order_flag='N' then '' else ' order ' end) ||

(case when cache_size=0 then ' nocache' else ' cache '||cache_size

end) ||';'

from USER_sequences;

将老数据库序列查询出拼接成drop语句

select 'drop sequence '||sequence_name||' ;' from

user_sequences;

错误SQL导致锁表

  1. 查看被锁表信息

    select sess.sid,sess.serial#, lo.oracle_username,lo.os_user_name,
     ao.object_name,lo.locked_mode  from v$locked_object lo,dba_objects ao,
    v$session sess where ao.object_id=lo.object_id and lo.session_id=sess.sid;
    
  2. 查看引起的SQL

    SELECT A.USERNAME,
           A.MACHINE,
           A.PROGRAM,
           A.SID,
           A.SERIAL#,
           A.STATUS,
           C.PIECE,
           C.SQL_TEXT
      FROM V$SESSION A, V$SQLTEXT C
     WHERE A.SID IN (SELECT DISTINCT T2.SID
                       FROM V$LOCKED_OBJECT T1, V$SESSION T2
                      WHERE T1.SESSION_ID = T2.SID)
       AND A.SQL_ADDRESS = C.ADDRESS(+)
     ORDER BY C.PIECE;
    
  3. 杀掉进程

    alter system kill session '932,33021';--分别为SID和SERIAL#号
    

只能作为sysdba登录无法normal登录

用户角色被锁导致,或设置密码出错

  • oracle的dba组是操作系统相关的,ORA_DBA是windows下的dba组。因为使用了操作系统(OS)认证的原因,不要用户名和密码都能以sysdba身份登陆。
  • 通过重新设置用户的密码,可以解决以上问题。

注意:

在SQLPLUS操作中sql语句必须加 分号

错误示范:create user username identified by values 'password'

虽然没有报错,但是这个语法格式是无效的。
正确代码:create user username identified by password

解决方法:

  1. 打开cmd,输入sqlplus进入oracle控制台
  2. 输入用户名 sys/as sysdba和密码管理员用户登录
  3. 输入select username from dba_users;查询用户列表确定有该用户
  4. 输入alter user 用户名 identified by 新密码;修改密码以激活

Tomcat部署项目后访问无法进入问题

在部署Springboot项目到Tomcat后,application.yml中配置的端口为9528,项目运行并未报错但是无法访问

这是由于 yml配置的端口为程序运行端口,实际访问端口为 tomcat --> conf --> server.xml 中的tomcat运行端口

解决

ip + tomcat端口 + 项目访问路径

Tomcat运行控制台乱码

解决

tomcat的日志配置文件的编码需要修改,找到tomcat安装目录,找到conf下的logging.properties文件,将其中的encoding = UTF-8的部分全部修改为encoding = GBK

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值