Oracle新装数据库常规操作

举报
fei123 发表于 2022/06/29 14:52:05 2022/06/29
【摘要】 oracle升级、迁移的一些注意要点

新安装数据库,导完数据后的常规操作,能避免后期使用可能发生的问题



确保数据库对象完整

以 user 用户为例

  • 从新库建个dblink连接老库
    CREATE PUBLIC DATABASE LINK OLDDB CONNECT TO user IDENTIFIED BY xxxx USING ‘DB’;

  • 新库的对象数
    select object_type,count(1) from dba_objects where owner=‘USER’ group by object_type order by object_type;

  • 旧库的对象数
    select object_type,count(1) from dba_objects@OLDDB where owner=‘USER’ group by object_type order by object_type;

  • 看漏了哪些索引(其他类型的对象也得检查)
    select OBJECT_NAME from dba_objects@OLDDB where owner=‘USER’ and object_type=‘INDEX’
    minus
    select OBJECT_NAME from dba_objects where owner=‘USER’ and object_type=‘INDEX’;

  • 在旧库生成创建对象的SQL
    set line 1000
    set linesize 256
    set pagesize 9999
    set long 999999
    set heading off
    select dbms_metadata.get_DDL(‘INDEX’,‘IDX_SUBS_SUBSCRIBER_ACCTID’,‘USER’) from dual ;


统计信息更新

避免统计信息不准确,导致生成SQL的执行计划错误,造成全表扫描等消耗资源的问题

  • 对用户进行统计信息更新
    exec dbms_stats.gather_schema_stats(ownname => ‘USER’,estimate_percent => dbms_stats.auto_sample_size);

  • 对某个表进行统计信息更新
    EXEC DBMS_STATS.GATHER_TABLE_STATS(OWNNAME=>‘USER’,TABNAME=>‘CM_GROUP_MEMBER’,ESTIMATE_PERCENT=>10);


增加redo表空间

安装完数据库后默认的redo表空间偏小,调大redo表空间,能减少IO次数,通过批量写数据提高性能

  • 查看redo的组和大小
    select * from v$log ;

  • 查看redo的数据文件
    select * from v$logfile ;

  • 增加日志日志组(路径更加实际情况调整)
    ALTER DATABASE ADD LOGFILE GROUP 4 (’/data/oracle/oradata/DB/redo04.log’) SIZE 4G;
    ALTER DATABASE ADD LOGFILE GROUP 5 (’/data/oracle/oradata/DB/redo05.log’) SIZE 4G;
    ALTER DATABASE ADD LOGFILE GROUP 6 (’/data/oracle/oradata/DB/redo06.log’) SIZE 4G;

  • 切换日志组
    alter system switch logfile;

  • 查看redo的组
    select * from v$log ;

  • 例子
    ALTER DATABASE ADD LOGFILE GROUP 4 (’/oradata/redo04.log’) SIZE 16G;
    ALTER DATABASE ADD LOGFILE GROUP 5 (’/oradata/redo05.log’) SIZE 16G;
    ALTER DATABASE ADD LOGFILE GROUP 6 (’/oradata/redo06.log’) SIZE 16G;
    ALTER DATABASE DROP LOGFILE GROUP 1;
    ALTER DATABASE DROP LOGFILE GROUP 2;
    ALTER DATABASE DROP LOGFILE GROUP 3;
    ALTER DATABASE ADD LOGFILE GROUP 1 (’/oradata/redo01.log’) SIZE 16G;
    ALTER DATABASE ADD LOGFILE GROUP 2 (’/oradata/redo02.log’) SIZE 16G;
    ALTER DATABASE ADD LOGFILE GROUP 3 (’/oradata/redo03.log’) SIZE 16G;


temp 表空间

  • 说明
    temp临时表空间,用于排序和存储临时表
  • 字典
    select * from dba_temp_files;
    select * from v$tempfile;
  • 操作例子
    alter tablespace TEMP add tempfile ‘/oradata/temp01.dbf’ size 16G;
    alter tablespace TEMP add tempfile ‘/oradata/temp02.dbf’ size 16G;
    alter tablespace TEMP add tempfile ‘/oradata/temp03.dbf’ size 16G;
    alter tablespace TEMP add tempfile ‘/oradata/temp04.dbf’ size 16G;
    alter tablespace TEMP drop tempfile ‘/oracle/app/oracle/oradata/DB/temp01.dbf’;


undo表空间

  • 说明
    用于回滚、闪回查询等
  • 字典
    dba_data_files
  • 例子
    alter tablespace UNDOTBS1 add datafile ‘/oracle/app/oracle/oradata/DB/undotbs02.dbf’ size 16G reuse autoextend on next 400m maxsize unlimited;


关审计

默认情况审计是开着的,会消耗cpu,随之时间推移会占用大量的系统表空间,一直到耗尽后报错

show parameter audit_trail
VALUE 是 DB 表示开着的

alter system set audit_sys_operations=FALSE scope=spfile;
alter system set audit_trail=none scope=spfile;
重启数据库

清理旧审计数据:
truncate table aud$;


密码策略

不安全,但对测试环境来说很实用

  • 查看用户的PROFILE,一般是DEFAULT
    SELECT username,PROFILE FROM dba_users where username=‘USER’;

  • 密码永不过期
    ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

  • 可无限次输错密码
    ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED; 


加大连接数

  • 查连接数配置
    show parameter processes
    show parameter sessions

  • 查目录已经有多少连接
    select count(1)  from v$process;
    select count(1)  from v$session;

  • 设置连接数
    alter system set processes=2000 scope=spfile;

  • 重启数据库


支持低版本客户端

在 $ORACLE_HOME/network/admin/sqlnet.ora 里添加以下内容:
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。