表空间

Oracle rman备份还原

倾然丶 夕夏残阳落幕 提交于 2020-02-04 03:03:39
备份脚本: oracle备份fullbak.sh 脚本 . /u01/prod/db/12.1.0/PROD_erpdbp.env LOGDATE="`date '+%Y%m%d'`" #delete backup logfile find /u01/backup/log -mtime +360 |xargs rm -f rman target / cmdfile=/u01/backup/scripts/fullbak.rman log=/u01/backup/log/fullbak_$LOGDATE.log rman备份脚本fullbak.rman: run{ sql 'alter system archive log current'; allocate channel ch1 type disk; allocate channel ch2 type disk; allocate channel ch3 type disk; backup as compressed backupset incremental level 0 database format '/u01/backup/data/db_%d_%T_%U.bak' plus archivelog format '/u01/backup/data/arch_%d_%T_%U.bak' delete all input;

Oracle学习笔记1

懵懂的女人 提交于 2020-02-03 08:38:15
  本人刚从MySQL转学Oracle,刚接触时的感觉,MySQL与Oracle在sql语法上大致相似。很大区别是MySQL与Oracle在表空间分配时的区别:MySQL可以建立多个数据库,每个数据库包含多张表。Oracle建立多个表空间,每一个表空间对应多张表。每一个表空间授权给一个用户进行使用。如此看来Oracle的表空间相当于MySQL的库,但是有一个很大的区别是Oracle中可以把一个表空间中的表分区到其他的表空间,来提升查询的速率。   下载: 数据库 Oracle11g,可视化图形界面 Toad for Oracle 12.11   Oracle下好后自带sqlplus,可以对 oracle数据库通过命令行进行操作;比较好用的Oracle的可视化图形界面是toad;个人目前比较偏好于sqlplus。   下面讲一下sqlplus的操作:   进入命令行之后通过输入 sqlplus 用户名/密码 即可进入SQL> 操作。 oracle11g有着几个默认用户 ,其中常用的有sys、system、scott。 但是通过以上行红字操作system和scott是无法进入sql操作的。需 要对用户进行解锁(百度),之后才能对它们进行操作。sqlplus每次进来它的宽度linesize和每页显示个数pagesize都是设置的很不合理的。我们可以写入命令 set linesize

Oracle Data Guard

僤鯓⒐⒋嵵緔 提交于 2020-02-01 16:36:31
DG 是 Oracle Data Guard 的简称。也就是Oracle11g的 数据卫士。 由于在工作中 Oracle 和 SQL SERVER2008 同时都需要维护管理。给我的感觉这里的 DG 其实和 Sql Server 2008的镜像实现的功能是一样的(当然更强大一些)。DG 中的物理备用库 尤其和 Sql Server 2008 的镜像实现的功能是一样的。但也有不同点:DG中的物理备用库可以在特定条件下 以只读或读写方式打开。而镜像则不可以(2012版本虽然可以读,但还是不能打开),当然 Sql Server 2008 的日志传送功能实现的 热备份库,是可以只读的。DG中的逻辑备用库既可以读又可以写(如果写的话需要闪回数据库后才能继续和主库保持同步)基于逻辑备用库的结构可以和 主库的不一样,这点Sql Server 2008 的复制订阅方式实现的从库有些类似。具体有哪些不同点,这里就不累述了,大家自己看书自通吧。 DG 使用3 中服务来管理 REDO数据的传送、REDO数据的应用、更改数据库角色。 1 、REDO 传输服务:控制从主生产库将REDO数据自动传输到一个或多个归档目的地。 2 、日志应用服务:即在备用库上应用REDO 数据,保持与主库事务同步。可以从归档redo日志文件和备用redo日志文件中应用。 3 、角色转换服务:使用切换或故障转移操作

Oracle Data Guard

限于喜欢 提交于 2020-02-01 16:36:13
DG 是 Oracle Data Guard 的简称。也就是Oracle11g的 数据卫士。 由于在工作中 Oracle和 SQL SERVER2008 同时都需要维护管理。给我的感觉这里的 DG 其实和 Sql Server 2008的镜像实现的功能是一样的(当然更强大一些)。DG 中的物理备用库 尤其和 Sql Server 2008 的镜像实现的功能是一样的。但也有不同点:DG中的物理备用库可以在特定条件下 以只读或读写方式打开。而镜像则不可以(2012版本虽然可以读,但还是不能打开),当然 Sql Server 2008 的日志传送功能实现的 热备份库,是可以只读的。DG中的逻辑备用库既可以读又可以写(如果写的话需要闪回数据库后才能继续和主库保持同步)基于逻辑备用库的结构可以和 主库的不一样,这点Sql Server 2008的复制订阅方式实现的从库有些类似。具体有哪些不同点,这里就不累述了,大家自己看书自通吧。 DG使用3中服务来管理 REDO数据的传送、REDO数据的应用、更改数据库角色。 1、REDO传输服务:控制从主生产库将REDO数据自动传输到一个或多个归档目的地。 2、日志应用服务:即在备用库上应用REDO数据,保持与主库事务同步。可以从归档redo日志文件和备用redo日志文件中应用。 3、角色转换服务:使用切换或故障转移操作,把备用库更改为主生产库

oracle redo undo

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-01 03:11:35
redo--> undo-->datafile insert一条记录时, 表跟undo的信息都会放进 redo 中, 在commit 或之前, redo 的信息会放进硬盘上. 故障时, redo 便可恢复那些已经commit 了的数据. redo解释: 在Oracle数据库中,执行数据修改操作后, 并不是马上写入数据文件,而是首先生成重做信息 ,并写入SGA中的一块叫LOG_BUFFER的固定区域,LOG_BUFFER的空间并不是无限大,事实上它非常小,一般设置在3~5MB左右。LOG_BUFFER有一定的触发条件,当满足触发条件后,会有相应进程将LOG_BUFFER中的内容写入一个特定类型的文件,就是传说中的联机重做日志文件。 UNDO: undo->记录更改前的一份copy,但你系统rollback时,把这份copy重新覆盖到原来的数据 redo->记录所有操作, 用于恢复 (redo records all the database transaction used for recovery) undo->记录所有的前印象, 用于回滚 (undo is used to store uncommited data infor used for rollback) redo->已递交的事务,实例恢复时要写到数据文件去的 undo->未递交的事务. redo的原因是

ORACLE-数据泵

馋奶兔 提交于 2020-01-29 14:05:29
  oracle通过数据泵进行导入导出(impdp/expdp),区别于普通的导入导出(imp/exp),导出的文件不通用,数据泵导出的只能数据泵进行导入。数据泵导出速度要比普通的exp导出要快,但需要在数据库服务器上才能导出,不能远程导出。 1.导出 expdp 帐号/密码 directory=路径 tables=导出的表名(可选) dumpfile=导出文件名(abc.dmp) logfile=日志文件 compression=NONE content=ALL reuse_dumpfiles=y 常用参数:   directory dmp导入文件目录需要在oracle创建并对用户授权   tables导入的表名逗号分隔   dumpfile 导入文件名   logfile 日志文件名   content 导入类型,数据,元数据,全部等   EXCLUDE 排除内容。比如table=\”aaa\”   INCLUDE 包含特定内容   VERSION 版本号可以导出低版本oracle文件   compression减小有效的转储文件内容的大小 2.导入 impdp 帐号/密码 directory=路径 dumpfile=文件 tables=表(可选,逗号分隔) 常用参数:   REMAP_SCHEMA将一个方案中的对象加载到另一个方案(也可以通过其他参数修改表空间)  

oracle表空间的相关基础操作

笑着哭i 提交于 2020-01-29 05:37:04
前言 写点常用到的笔记,简单好用 正文 查询表空间大小 SELECT a.tablespace_name, round(a.bytes/(1024*1024*1024),2)||' GB' total, round(b.bytes/(1024*1024*1024),2)||' GB' used, round(c.bytes/(1024*1024*1024),2)||' GB' free, round((b.bytes * 100) / a.bytes)||'%' "% USED ", round((c.bytes * 100) / a.bytes)||'%' "% FREE " FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c WHERE a.tablespace_name = b.tablespace_name AND a.tablespace_name = c.tablespace_name; 查询实际表空间分配的大小 select tablespace_name,file_name,autoextensible from dba_data_files ; 表空间扩容 ALTER TABLESPACE HX_DATA ADD DATAFILE '/home/app/oracle/oradata/orcl/hx

如何查看oracle表空间已使用大小

笑着哭i 提交于 2020-01-27 07:34:08
1.查看所有表空间大小 1 select tablespace_name, sum (bytes) / 1024 / 1024 from dba_data_files 2 group by tablespace_name; 2. 未使用的表空间大小 1 select tablespace_name, sum (bytes) / 1024 / 1024 from dba_free_space 2 group by tablespace_name; 3. 所以使用空间可以这样计算 1 select a.tablespace_name,total,free,total - free used from 2 ( select tablespace_name, sum (bytes) / 1024 / 1024 total from dba_data_files 3 group by tablespace_name) a, 4 ( select tablespace_name, sum (bytes) / 1024 / 1024 free from dba_free_space 5 group by tablespace_name) b 6 where a.tablespace_name = b.tablespace_name; 4. 下面这条语句查看所有segment的大小 1

Oracle数据库的导入导出

前提是你 提交于 2020-01-27 04:38:41
1,导出语句 Expdp username/password directory=backup dumpfile=expdp_datatable_20160308.dmp logfile=expdp_datatable_20160308.log version=10.2.0.0.1 schemas=TEST 语法解析 directory 默认的导出数据库的文件存放位置 dumpfile 数据库文件 logfile 数据库日志文件 version 导出指定版本类型的数据库 schemas 实例名(导出实例名对应的数据库)可以缺省 username/password 数据库的登录名和密码 2,导入语句 //1打开Database Configuration Assistant创建数据库也可代码创建 //1,cmd 下sqlplus/nolog,在执行conn用户名密码进入执行环境 //2创建角色并授权 CREATE ROLE RoleTest; GRANT CONNECT,RESOURCE TO RoleTest; GRANT SELECT ANY TABLE TO RoleTest; GRANT UPDATE ANY TABLE TO RoleTest; GRANT DELETE ANY TABLE TO RoleTest; GRANT INSERT ANY TABLE TO

数据库导出导入

核能气质少年 提交于 2020-01-27 02:49:30
select * from dba_directories 可以查看路径后边的‘DATA_PUMP_DIR’指的dmp存放路径 //数据导出 oracle用户登录 su - oracle 语法: expdp 用户名/密码@ip地址/实例 [属性] 属性: DIRECTORY :–导出的逻辑目录,一定要在oracle中创建完成的,并且给用户授权读写权限 dumpfile :–导出的数据文件的名称,如果想在指定的位置的话可以写成 dumpfile =/home/oracle/userxx.dmp schemas :–使用dblink导出的用户不是本地的用户,需要加上schema来确定导出的用户,类似于exp中的owner,但还有一定的区别 logfile :–日志文件,如果不写这个参数的话默认名称就是export.log,可以在本地的文件夹中找到 demo1: expdp mdm / wc8888 @sharedpdb DIRECTORY = DATA_PUMP_DIR schemas = MDM DUMPFILE = MDM1231 . dmp logfile = MDM1231 . log version = demo2:导出用户及对象 expdp scott / tiger @orcl schemas = scott dumpfile = expdp . dmp