oracle 问题解决笔记

1.Oracle查看用户密码过期,修改永不过期

01、查看当前open用户#

select username,account_status,expiry_date,profile from dba_users;

02、查看目前的密码过期策略#

select * from dba_profiles s where s.profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';

03、修改密码过期策略#

alter profile default limit password_life_time unlimited;

04、过期的账户,重置密码后期不会再过期#

sqlplus /nolog
conn /as sysdba

alter user smsc identified by <原来的密码> ----不用换新密码

2.oracle 安装完成后,ip发生改变,连不上监听

1.查看listener.ora的内容,app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora,修改监听的ip,端口号,ORACLE_HOMEENVS 地址是否正确,还是不行注释掉  (PROGRAM = extproc),前面加# 号

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = orcl)
      (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
      # (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\BIN\oraclr11.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = D:\app\Administrator

3.使用plsql Developer连接时,oracle11g 客户端,连接oracle 12c 服务器,发现报ora-28040 No matching authentication protocol

  在默认情况下Oracle12.2对客户端版本有限制的,我们客户端版本是11g以下的

1.下载oracle 12c 客户端,进入 https://edelivery.oracle.com/osdc/faces/SoftwareDelivery;jsessionid=x7UR_fI7cfkJWYmoad2QbtQMvuHRpxVI0bXF0lFmWTP2NqqUyER3!-2063007283 下载客户端

 

 

 2.安装oracle12c 客户端,直接下一步安装

  如果安装第一步,出现无法打开服务器服务性能对象,在cmd中执行命令,切换到oracle的安装目录,执行命令:setup.exe -ignorePrereq -J"-Doracle.install.client.validate.clientSupportedOSCheck=false",跳过第一步检查的内容

3.plsqldev 选择客户端,tools-preferences,设置客户端地址

 4.误删数据库表恢复

  FLASHBACK TABLE tableName TO BEFORE DROP;

  即彻底删除某张表:

  drop table tableName purge;

5.数据库闪回表数据

  1.开启行移动

  ALTER  TABLE  表名称  ENABLE ROW MOVEMENT;

2. //闪回

FLASHBACK  TABLE 表名称   TO TIMESTAMP TO_DATE('2022-04-10 11:33:00','YYYY-MM-DD HH24:MI:SS');

//闪回30分钟之前数据

flashback table 表名 to timestamp( systimestamp - 30/1440);

flashback table 表名  to timestamp(systimestamp-interval'120'minute);(返回到120分钟以前的数据);


3.关闭行移动

ALTER  TABLE  test_a  DISABLE ROW MOVEMENT;

6.删除归档日志

RMAN target 账号/密码@实例名;

DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

SYSDATA-7,表明当前的系统时间 7 天前,before 关键字表示在 7 天前的归档日志,如果使用了闪回功能,也会删除闪回的数据。

 7.非系统表空间 ‘XXX‘不能使用系统回退段 ORA-01552

故障分析:
UNDO表空间数据文件受损,导致执行更新操作失败。

故障解决:
创建的新的undo表空间,undo_management置为MANUAL,重置undo指向新的undo表空间,undo_management置为AUTO,正常打开数据库。

执行步骤如下:

SQL> create undo tablespace undotbs2 datafile 'D:\app\Administrator\oradata\orcl\UNDOTBS02.dbf' size 3g;

SQL> alter system set undo_management=manual scope=spfile;

SQL> shutdown immediate;
SQL> startup

SQL> alter system set undo_tablespace=undotbs2 scope=spfile;

SQL> alter system set undo_management=auto scope=spfile;

SQL> shutdown immediate;
SQL> startup

 

posted @ 2020-10-09 09:31  木木丶五百万的梦  阅读(93)  评论(0编辑  收藏  举报