首页 > 数据库 >新数据库常规操作

新数据库常规操作

时间:2023-12-01 11:34:00浏览次数:43  
标签:GROUP DATABASE 数据库 常规 alter 操作 LOGFILE ALTER select

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


数据库日志路径查询


select name,value from v$diag_info;


确保数据库对象完整

  • 从新库建个dblink连接老库
    CREATE PUBLIC DATABASE LINK DBLink_name CONNECT TO user IDENTIFIED BY xxxx USING 'ORACLE_Instance';

  • 新库的对象数
    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@DBLink_name where owner='user' group by object_type order by object_type;

  • 看漏了哪些索引(其他类型的对象也得检查)
    select OBJECT_NAME from dba_objects@DBLink_name 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=>'GROUP_MEMBER',ESTIMA_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/ORACLE_Instance/redo04.log') SIZE 8G;
    ALTER DATABASE ADD LOGFILE GROUP 5 ('/data/oracle/oradata/ORACLE_Instance/redo05.log') SIZE 8G;
    ALTER DATABASE ADD LOGFILE GROUP 6 ('/data/oracle/oradata/ORACLE_Instance/redo06.log') SIZE 8G;

  • 切换日志组
    alter system switch logfile;

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

  • 例子
    ALTER DATABASE ADD LOGFILE GROUP 4 ('/orasysdata/redo04.log') SIZE 16G;
    ALTER DATABASE ADD LOGFILE GROUP 5 ('/orasysdata/redo05.log') SIZE 16G;
    ALTER DATABASE ADD LOGFILE GROUP 6 ('/orasysdata/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 ('/orasysdata/redo01.log') SIZE 16G;
    ALTER DATABASE ADD LOGFILE GROUP 2 ('/orasysdata/redo02.log') SIZE 16G;
    ALTER DATABASE ADD LOGFILE GROUP 3 ('/orasysdata/redo03.log') SIZE 16G;


创建普通表空间

create tablespace SPACS_DATA datafile '/oracle/datafile/SPACS_DATA _01.dbf' size 24G;
alter tablespace SPACS_DATA add datafile '/oracle/datafile/SPACS_DATA _02.dbf' size 24G;


temp 表空间

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


undo表空间

  • 说明
    用于回滚、闪回查询等
  • 字典
    dba_data_files
  • 例子
    alter tablespace UNDOTBS1 add datafile '/oracle/app/oracle/oradata/ORACLE_Instance/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;

  • 重启数据库


impdp导数前建好dblink,因为物化视图依赖它

  • 在新数据库的tnsname.org里加上ORACLE_Instance的配置
  • CREATE PUBLIC DATABASE LINK GM_link CONNECT TO HW_READ IDENTIFIED BY HW_READ USING 'ORACLE_Instance';


支持低版本客户端

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

标签:GROUP,DATABASE,数据库,常规,alter,操作,LOGFILE,ALTER,select
From: https://www.cnblogs.com/teiperfly/p/17869339.html

相关文章

  • 数据库面试题从浅入深高频必刷「2024版」
    什么是数据库事务,它的ACID属性是什么?数据库事务是一组数据库操作的逻辑单元,要么全部执行成功,要么全部回滚。ACID属性是指原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。以下是对ACID属性的详细解释:原子性(Atomicity):原子性确保一个事务中的所有操......
  • vue axios all 接口全部成功之后进行其它操作
    setSelf(){constarr:any=[]list?.forEach((item)=>{constobj={id:1}arr.push(obj)})arr.push()returnt......
  • 图形渲染操作系统分析
    图形渲染操作系统分析迄今为止,博主在博客中阐述的内容包含渲染技术、性能优化、图形API、Shader、GPU、游戏引擎架构、图形驱动等等技术范畴的内容,这些内容都仅仅局限于单个应用程序之中,常常让人有”只缘身在此山中“的感叹。现在是时候更进一步了——进入操作系统(OperatingSyst......
  • 位操作
    数据拼接在通信协议中我们往往只能一个字节一个字节的读取,但是外设一个完整的数据往往不止一个字节,这个时候我们就需要数据拼接:限制数据位数USARTx->DR=(Data&(uint16_t)0x01FF);//USARTx->DR读到的是9位数据(16位数据)检查最高位是否为1 1Byte&0x80//如果最高位......
  • 列表操作符与函数 airScript 1
    #组合操作符并不改变原来的列表的值a=[1,1,1,2]b=[2,2,2,3]c=a+b#print(c)#重复运算符*#print(b*3)##成员资格操作符in#print(2inb)#函数a=[1,2,3,1,1,1]#a.append("haha")#print(a)#b=[3,4,5]a=[1,2,3,1,1,1]#a.extend(b)#改变了a的值,#print......
  • centos上安装redis、redis客户端操作、redis使用场景、通用命令
    centos上安装redis#win上装redis#上线--》centos装了--》详细研究#docker装---》配置--》持久化#官网看看-redis源码-----》自己编译-redisstack----》编译过后的可执行文件-6.x版本#咱们刚刚下了几个软件-redis-6.2.14-reids......
  • SQL 数据操作技巧:SELECT INTO、INSERT INTO SELECT 和 CASE 语句详解
    SQLSELECTINTO语句SELECTINTO语句将数据从一个表复制到一个新表中。SELECTINTO语法将所有列复制到新表中:SELECT*INTOnewtable[INexternaldb]FROMoldtableWHEREcondition;只复制一些列到新表中:SELECTcolumn1,column2,column3,...INTOnewtable[INexte......
  • SQL 数据操作技巧:SELECT INTO、INSERT INTO SELECT 和 CASE 语句详解
    SQLSELECTINTO语句SELECTINTO语句将数据从一个表复制到一个新表中。SELECTINTO语法将所有列复制到新表中:SELECT*INTOnewtable[INexternaldb]FROMoldtableWHEREcondition;只复制一些列到新表中:SELECTcolumn1,column2,column3,...INTOnewtable[INext......
  • openGauss学习笔记-135 openGauss 数据库运维-例行维护-检查openGauss健康状态
    openGauss学习笔记-135openGauss数据库运维-例行维护-检查openGauss健康状态135.1检查办法通过openGauss提供的gs_check工具可以开展openGauss健康状态检查。注意事项扩容新节点检查只能在root用户下执行,其他场景都必须在omm用户下执行。必须指定-i或-e参数,-i会检查指定的......
  • 多种数据库获取最近一天记录的SQL整理
    多种数据库获取最近一天记录的SQL整理背景纯粹当笔记.数据库种类太多,记不住,每次都需要现查,效率实在是太低了将获取最近一天记录的SQL整理好方便后续直接his用简单总结Oracle+DM+神通的语法一样Kingbase+PG+Highgo的语法一样MySQL用的是SUB其他人都是......