随笔分类 - Oracle学习笔记
Oracle RMAN备份
摘要:恢复资料数据库(Recovery Catalog Database)是一个数据库,用于存放恢复资料。备份数据库时会生成很多文件,RMAN中的恢复资料数据库解决如何记录这些文件的名字及位置等信息。Recovery Catalog 就是一系列的表和视图,RMAN利用这些表存放备份信息,执行备份和恢复时,RMAN将访问这些表或视图,这些备份信息包括:1.文件盒归档日志文件的备份集(backup sets)和备份碎片的信息;2.数据文件副本的信息;3.目标数据库的表空间和数据文件的信息;4.存储脚本(stored scripts);5.RMAN的配置信息。--1创建表空间--CREATE TABLES
阅读全文
oracle数据恢复
摘要:数据冲突的修复数据恢复向导 (DRA)是帮助诊断和修复数据故障的工具。DRA可以诊断的错误:1.数据库文件或者控制文件因为不存在、离线、或者权限等问题而不能被访问;2.块因为各种原因引起的冲突;3.数据文件与其他文件的不一致性;4.由硬件错误、操作系统错误等引起的I/O失败。VALIDATE DATABASE;--对数据库进行验证LIST FAILURE;--列出故障LIST FAILURE 100 DETAIL;--根据故障编号,获得故障的详细信息ADVISE FAILURE;--得到故障的修复建议REPAIR FAILURE;--执行故障修复冷备份的恢复1, shutdown immedi
阅读全文
oracle 函数
摘要:函数创建:CREATE [OR REPLACE] FUNCTION [schema.] function_name [parameter_list]{AS | IS}declaration_sectionBEGIN executable_sectionEXCEPTION exceptioon_sectionEND [function_name];创建一个函数:1 CREATE OR REPLACE FUNCTION f1(par1 IN NUMBER DEFAULT 500)2 RETURN NUMBER 3 IS 4 V1 NUMBER;5 BEGIN6 SELECT 1 INTO V1..
阅读全文
Oracle存储过程
摘要:存储过程的创建:定义部分、执行部分、异常部分。用户要在自己的模式中创建存储过程,则只需具有CREATE PROCEDURE 权限,想在其他模式下创建,用户必须具有create any procedure权限,拥有alter any procedure权限的用户可以替换其他模式的存储过程。CREATE [OR REPLACE] PROCEDURE [schema.] procedure_name [parameter_list]{AS | IS}declaration_sectionBEGIN executable_sectionEXCEPTION exceptioon_sectionEND..
阅读全文
oracle 动态SQL
摘要:动态SQL的书写:1.本地动态SQL(Native Dynamic SQL),用于建立和执行SQL语句, 使用EXECUTE IMMEDIATE命令来执行动态SQL语句。2.包DBMS_SQL也可用于执行动态SQL。CREATE OR REPLACE PROCEDURE CreateTable(tablename VARCHAR2)ISBEGIN EXECUTE IMMEDIATE 'CREATE TABLE ' || tablespace || '(name VARCHAR(20),producer VARCHAR(30),price NUMBER)' ;EN
阅读全文
Oracle 学习PL/SQL
摘要:先上一张实用的图:用于转义字符的。SQL> select chr(42) ||'is what?' from dual;CHR(42)||---------*is what?想转义哪个就转义哪个字符。转义单引号的方法:1.使用两个单引号;2使用chr函数。SQL> select '"It''s a pen",she said.'from dual;'"IT''SAPEN",SHESAID.'----------------------"It's
阅读全文
SQL优化原理
摘要:SQL优化过程:1,捕获高负荷的SQL语句——>2得到SQL语句的执行计划和统计信息--->3分析SQL语句的执行计划和统计信息--->4采取措施,对SQL语句进行调整。1找出高负荷SQL语句的方法:性能检测器ADDM、自动化SQL调整(Automatic SQL Tuning)、自动工作负载库AWR、查看视图V$SQL、来自客户的报告、SQL跟踪工具(SQL Trace)2.查看执行计划一旦获得高负荷的SQL语句,就需要对该SQL语句进行调整,SQL语句的调整工具有:SQL Trace提供单条SQL语句的性能信息(包括统计信息)、AUTOTRACE是SQL*Plus的一个功
阅读全文
oracle 索引
摘要:索引是一种与表相关的、可选的结构,用于加速对表的访问。当用户访问表中的数据时,oracle从索引中找到数据的指针,然后根据指针指向的位置从表中直接取得数据,索引可以减少磁盘I/O,加速数据访问速度。索引由oracle自动维护,无需用户的干预。唯一性索引(Unique Indexes)和非唯一性索引(Nonunique Indexes),唯一性索引能确保索引列不会出现重复值。通常索引都是由一列组成,而复合索引由多个索引列组成。索引的分类:1,二叉树索引(B树索引),是使用最多的一种索引,在默认情况下,我们创建的索引都是B树索引,基于二叉树原理。2.二叉树聚簇索引(B-tree Cluster I
阅读全文
oracle分区
摘要:oracle 分区技术:使用分区技术,Oracle允许把一个大表分成几个部分,每部分叫一个分区,然后把每个部分放在不同的物理磁盘,以提高整个数据库的性能。分区技术的优点:1.分区技术使数据库的可管理性变得更加容易,如:用户可以往一个单独的分区中装载数据,而对其他分区没有任何影响;用户可以再单独的分区上创建索引等。2.分区可以提高表的查询性能,SQL语句的where子句会过滤掉不需要的分区,orac...
阅读全文
oracle LOB类型
摘要:Oracle预定义了4种大对象类型,它们是BEILE、BLOB、CLOB、NCLOB。BFILE:我们可以把大的二进制对象存储在数据之外,BFILE存放在数据库中,存放的是文件指针(file locator),该指针指向数据之外的操作系统文件,数据实际存放在操作系统中,bfile是只读的,不能修改,不参与数据库的事务。BLOB用于存储非结构化的二进制数据,最长可达128TB,数据存储在数据库中。CLOB存放数据库字符集(database character set data)格式的字符数据,最大长度可达128TB,数据存储在数据库中。clob数据类型通过LOB定位器存储在表列中,实际的CLOB
阅读全文
Oracle删除重复数据记录
摘要:删除重复记录,利用ROWID 和MIN(或MAX)函数, ROWID在整个数据库中是唯一的,由Oracle自己产生和维护,并唯一标识一行(无论该表中是否有主键和唯一性约束),ROWID确定了每条记录在哪个数据文件、哪个块上。 利用not in: delete from manager where ROWID NOT IN( select MIN(ROWID) from manager grou...
阅读全文
Oracle 表结构管理
摘要:表其实是数据的‘容器’。oracle有几种类型的表:普通表(ordinary table)又叫堆组织表。聚簇表(clustered table)分区表(partition table)外部表(external table)临时表 (temporary table)索引组织表(index-Organized table IOT)聚簇是表的一种特殊结构,一个聚簇有多个表组成,几个表共享相同的数据块。一个聚簇有一个或者多个公共的列,多个表共享这些列(聚簇关键字 Cluster Key)。Oracle 把多个表的数据物理的存储在一起,以加速表的连接(join),这是聚簇的特点。只有在创建聚簇后,才能在
阅读全文
学习Oracle遇到的实际问题(持续更新)
摘要:有三个用户参与这个事情:system用户,拥有表manager。sys create了一个用户item,并赋予权限:SQL> GRANT SELECT ON SYSTEM.MANAGER TO ITEM;SQL> GRANT INSERT ON SYSTEM.MANAGER TO ITEM;这时 sys用户进行的操作:SQL> set transaction name 'INSERT INTO TABLE manager';事务处理集。SQL> insert into system.manager 2 values (15,'AA',
阅读全文
oracle name
摘要:1、db_name 数据库名 SQL> connect xys/manager as sysdba 已连接。 SQL> show user USER 为 "SYS" SQL> show parameter db_name NAME TYPE VALUE ---- -------- ------------ db_name string test1 db_name是数据库的名字,oracle本身可能是比较有用的,对我们而言没有什么太多的用处,db_name记录在controlfile,datafile_header,redo中,要想修改db_name是比较麻
阅读全文
Oracle 用户管理
摘要:创建用户:create user nokey identified by zero;预定义账户(predefined user accounts):管理员账户有:sys system sysman dbsnmp. DBSNMP 用来监控数据库。样例用户:HR SH OE内部账户 如WKSYS.这些被用来一些新特性或者一些组件。SYS的默认密码是CHANGE_ON_INSTALLSYSTEM 的默认密码MANAGER'ALTER USER NOKEY ACCOUNT LOCK(或者UNLOCK) 锁定用户select * from dab_users; 查看所有的用户信息select *
阅读全文
Oracle进程
摘要:ORACLE 有下面的后台进程:归档进程:当发生一次日志切换的时候,log switch,归档进程会把重做日志文件(online redo log files)复制到指定的存储设备上。归档进程治愈后在数据库运行在归档模式下,且启用自动归档(automatic archiving)的情况下才会出现.(归档模式 archivelog mode):Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里。一般数据库至少要有2个联机重做日志组。当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的
阅读全文
Oracle 内存管理
摘要:内存管理: 有两种管理式手动和自动。启动 自动内存管理(Automatic Memory managemet) 1: show parameter target// 得到SGA_target和pga_aggregate_target的值 1: SELECT (value/1024/1024)||'M' FROM V$pagstat WHERE name='maximum PGA allocate'; 2: //计算实例启动 之后分配给SGA的最大值 3: SHOW PARAMETER MEMORY_MAX_TARGET 4: //查看当前值 5: alter s
阅读全文
oracle 数据文件管理
摘要:使数据文件离线 表空间离线时,表空间中的所有数据文件都离线。也可以使表空间中的单个数据文件离线,离线的数据文件不可访问。 注意:在非归档模式下,不要轻易离线数据文件。这样是危险的,这样离线offline的数据文件可能永远不能重新online。ALTER DATABASE DATAFILE 'D:\data' OFFLINE;如果使用:ALTER DATABASE DATAFILE 'D:\data' OFFLINE FOR DROP;数据文件永远不能再online.移动数据文件 将一个数据文件从一个物理位置移动到另一个物理位置。在数据库打开的情况下,执行:1 S
阅读全文
Oracle表空间
摘要:一个数据库被分成一个个的逻辑单元,这些逻辑单元叫:表空间。表空间用于存放数据库象(表、索引等),一个数据库逻辑上由一个或者多个表空间组成。 表空间由一个或多个数据文件(物理结构)组成。表空间用于存放数据库对象。而这些对象实际上存放在数据文件中。数据文件是数据的物理载体。每个数据库都有一个系统表空间(system tablespace)和一个辅助表空间(Sysaux tablespace).创建数据库时,Oracel会自动创建这两个表空间。数据库有以下类型的表空间:永久表空间(Permanent Tablespaces)、临时表空间(Temporary Tablespace)、回滚表空间(Und
阅读全文
EM配置问题
摘要:配置EM,首先要保证dbconsole在运行。C:\Users\dingqi>emctl start dbconsoleEnvironment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.遇到问题。 重新配置em:sql>alter user dbsnmp identified by xxx;2,删除早期DBCONSOLE创建的用户:sql>drop role MGMT_USER;sql>drop user MGMT_VIEW cascade
阅读全文
浙公网安备 33010602011771号