set类型
mysql> create table t_col (col set ('a','b','c','d'));Query OK, 0 rows affected (0.27 sec)mysql> desc t_col -> ;+-------+----------------------+--
Oracle DataGuard归档日志丢失处理方法
9.3日dg备库异常关闭,9.17日主库磁盘空间满,删除了归档日志,导致备库丢失了9.3号到9.17号得归档日志,所以当9.24日启动备库时报错 ORA-10458: standby database requires recovery ORA-01196: file 1 is inconsistent due to a failed media recovery session ORA-01110: data file 1: '/u01/oracle/oradata/system/system01.dbf'
在线修改大表结构pt-online-schema-change
使用场景在线数据库的维护中,总会涉及到研发修改表结构的情况,修改一些小表影响很小,而修改大表时,往往影响业务的正常运转,如表数据量超过500W,1000W,甚至过亿时在线修改大表的可能影响在线修改大表的表结构执行时间往往不可预估,一般时间较长由于修改表结构是表级锁,因此在修改表结构时,影响表写入操作如果长时间的修改表结构,中途修改失败,由于修改表结构是一个事务,因此失败后会还原表结构,在这个过程中
ENUM枚举类型
a、创建枚举类型表temmysql> create table tem(gender ENUM('M','F'));Query OK, 0 rows affected (0.40 sec)mysql> SELECT * FROM TEM;Empty set (0.06 sec)插入数据mysql> INSERT INTO tem values(&#
binary和varbinary的区别
binary和varbinary的区别类似char和varchar 不同的是他们包含二进制字符串而不包含非二进制字符串mysql> create table bin(c binary(3));Query OK, 0 rows affected (0.55 sec)mysql> insert into bin set c='a';Query OK, 1 row affec
varchar和char的区别
1、长度不同char是固定长度 0-255的任何值varchar 是可变长度0-655352、检索时候不同char在检索的时候列删除了尾部的空格,而varchar保留这些空格a、创建表mysql> create table vc (v varchar(4),c char(4));Query OK, 0 rows affected (0.27 sec)b、插入数据mysql> inser
data,time,datatime ,timestamp
data,time,datatime ,timestamp 各类型的不同及特点 timestamp 和时区有关,不同时区所见到的同一条时间数据,显示不同 timestamp 和参数explicit_defaults_for_timestamp有关,explicit_defaults_for_timestamp=off时 默认时间为当前系统时间,explicit_defaults_for_timestamp=on时 则为空
查询在什么时候不走索引
查询在什么时候不走索引参考回答主要三种情况1 > 不满足走索引的条件, 常见的情况有1.1 > 不满足最左匹配原则1.2 > 查询条件使用了函数1.3>or 操作有一个字段没有索引1.4 > 使用 like 条件以 % 开头2 > 走索引效率低于全表扫描, 常见的情况有2.1 > 查询条件对 nu
rman全量备份+archivelog 数据迁移
rman数据迁移 此例子是在20200628凌晨备份全量数据,追加日志是28号以后的数据
改变字符集
改变字符集
等待事件db file sequential read、db file scattered read和direct read的区别
在DATABASE的等待事件中有一组比较容易混淆的事件(相对于自己),它们是 DB file Sequential Read、DB file Scattered Read和Direct Path Read。它们之间有什么联系和区别呢,首先它们都涉及到物理磁盘读也就是从数据文件中读取数据。物理读的速度是评估性能的重要因素,对于全表扫描操作(table full scan)来说快
查看硬件配置信息
Linux下获取CPU内存信息的命令1. 获取CPU型号信息在命令行中输入“ cat /proc/cpuinfo | grep name | cut -f2 -d: |uniq -c”可以查询CPU的型号。结果为“4 Intel(R) Xeon(R) CPU E7-4850 v3 @ 2.20GHz”。2.获取CPU的个数(几核CPU)在命令行中输入“grep 'physical
mysql 库和库之间的表授权
机器A :172.17.36.39机器B :172.17.36.42在A36库上创建db1 database,创建用户shen可以让B42库访问,创建T1表mysql> create database db1;Query OK, 1 row affected (0.05 sec)mysql> show databases;+--------------------+| Database
已有数据的非分区表转换成分区表
--操作的用户需要有以下的权限GRANT CONNECT, RESOURCE TO CMIGDW;GRANT EXECUTE ON DBMS_REDEFINITION TO CMIGDW;GRANT ALTER ANY TABLE TO CMIGDW;GRANT DROP ANY TABLE TO CMIGDW;GRANT LOCK ANY TABLE TO CMIGDW;GRANT CREATE
yum源配置
1. 新建/mnt/cdrom目录 :mkdir /mnt/cdrom2.挂载光盘:“mount -o loop /dev/sr0 /mnt/cdrom”,然后进入挂载目录,可以查看光盘的内容。参数“-o loop”是挂载特殊设备的。3.新建yum源配置文件:vim /etc/yum.repos.d/dvd.repo .然后输入内容。注意:baseurl后面跟的
awr报告间隔时间配置
三、实验1.检查AWR报告生成时间间隔SYS@OCM11G >col SNAP_INTERVAL for a30SYS@OCM11G >col RETENTION for a30SYS@OCM11G >set lines 120SYS@OCM11G >select * from dba_hist_wr_control; DBID SN
strace解决sqlplus登陆缓慢的问题一例
公司一台数据库测试服务器,某天开始sqlplus登陆缓慢,要卡四五秒才能登陆成功,而且是sqlplus / as sysdba
由于数据库没有正常关闭hang住,sqlplus -prelim "/as sysdba"
很多情况下,Oracle hang导致sqlplus无法连接,从而无法获得Oracle系统和进程状态,使得定位问题缺少强有力的依据。所幸的是Oracle 10g推出了sqlplus -prelim选项,在Oracle挂起时依然能使用sqlplus,从而能获得数据库状态
更改undo表空间大小
1、查看使用哪个undoselect name,value from v$parameter where name='undo_tablespace';undo 表空间的大小select sum(bytes/1024/1024/1024) "undo sizeG" from dba_data_files where TABLESPACE_NAME='UN
分区表的分区统计信息
大表分区数据量比较多时 ,查询速度慢可能是统计信息不准确造成的,重新收集统计信息