Oracle数据库学习笔记
ORACLE数据库基础知识总结

ORACLE数据库基础知识总结1、RMAN全备备份⽂件的顺序备份归档⽇志、所有的数据⽂件、控制⽂件、spfile、再次备份归档⽇志2、redo⽇志丢失恢复redo⽇志的三种状态是current、active、inactiveinactive,可以重建 clear logactive、current不能变成inactive,只能通过不完全恢复进⾏恢复,然后重建⽇志⽂件3、⼝令⽂件丢失恢复丢失可重建 orapwd file= password= enfries=重建完成之后ORACLE正常使⽤4、控制⽂件丢失恢复a> rman 可以备份控制⽂件b> 控制⽂件可以cp⼀份备⽤c> 控制⽂件可以重建⼿写5、体系结构物理:ORACLE数据库包括instance、database两部分。
instance包括SGA(系统全局区)跟⼀些后台进程组成的。
SGA包括:share pool、db buffer cache、redo log buffer、流池、⼤型池、JAVA POOL、share pool(共享池) :库缓存:缓存最近执⾏的代码,同样的sql多次执⾏不需要频繁读取数据字典中得数据数据字典缓存:存储oracle中得对象定义PL/SQL区:缓存存储过程、函数触发器等数据库对象。
db buffer cache(数据库缓存区)redo log buffercache(⽇志缓存区)常见的后台进程:DBWn:⽤于数据库缓存写⼊磁盘LGWn:⽤于log⽇志写⼊磁盘CKPT:检查点进程SMON:实例维护进程,系统监视器MMON:AWR主要进程PMON:维护⽤户进程,进程监视器ARCN:归档进程database包括数据⽂件、控制⽂件、⽇志⽂件等。
逻辑:oracle数据块-区-段-表空间-数据库-⽅案多个oracle数据块组成⼀个区,多个区组成⼀个段,多个段组成⼀个表空间,多个表空间组成⼀个数据库表空间和数据⽂件的关系:表空间是由⼀个或多个数据⽂件组成的,⼀个数据⽂件只属于⼀个表空间,表空间的⼤⼩是所有数据⽂件⼤⼩的总和。
Oracle 学习笔记 - SYSDBA登陆权限问题

5.
6.C:\>sqlplus wrong_user/wrong_password sysdba
7.ERROR:
8.ORA-01017: invalid username/password; logon denied
9.Enter user-name:
1.C:\>sqlplus / as sysdba
2.ERROR:
3.ORA-01031: insufficient privileges
4.Enter user-name:
5.
6.C:\>sqlplus sys/change_on_install as sysdba
With the OLAP and Data Mining options
SQL>
C:\>sqlplus wrong_user/wrong_password as sysdba
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
14.With the OLAP and Data Mining options
15.SQL>
C:\>sqlplus / as sysdba
ERROR:
ORA-01031: insufficient privileges
Enter user-name:
C:\>sqlplus wrong_user/wrong_password sysdba
测试一:ora_dba用户本地登陆
oracle数据库知识点总结

oracle数据库知识点总结一、概述Oracle是一种关系型数据库管理系统(RDBMS),它是由Oracle Corporation开发和维护的。
Oracle数据库具有高可用性、可扩展性、安全性和可靠性等优点,因此被广泛应用于企业级应用程序。
二、基础知识1. 数据库对象:表、视图、索引、序列等。
2. 数据类型:数值型、字符型、日期型等。
3. SQL语言:DDL(数据定义语言)、DML(数据操作语言)、DCL (数据控制语言)等。
4. 数据库事务和锁:ACID特性、并发控制、锁机制等。
三、高级特性1. 分区表:将大表分解为多个小表,提高查询效率。
2. 备份和恢复:使用RMAN进行备份和恢复,保证数据的完整性和可靠性。
3. 高可用性:使用Data Guard实现主备库切换,保证系统的连续性。
4. 性能优化:使用AWR报告进行系统调优,提高系统响应速度。
四、安全管理1. 用户管理:创建用户并分配权限,限制用户对数据库的访问权限。
2. 角色管理:创建角色并分配权限,方便对多个用户进行权限管理。
3. 数据加密:使用TDE对敏感数据进行加密,保证数据安全。
4. 审计管理:记录用户的操作行为,并进行审计分析,保证数据的安全性和完整性。
五、常见问题1. ORA错误:常见的ORA错误有ORA-00904、ORA-01017等。
2. 数据库性能问题:常见的数据库性能问题有慢查询、死锁等。
3. 数据库备份和恢复问题:常见的备份和恢复问题有备份失败、恢复失败等。
4. 安全管理问题:常见的安全管理问题有密码泄露、权限不当等。
六、总结Oracle数据库是企业级应用程序中最为流行的关系型数据库之一。
掌握Oracle数据库的基础知识和高级特性,以及安全管理和常见问题解决方法,对于保证系统稳定运行和数据安全具有重要意义。
数据库oracle知识点(自己整理的,可能部分有点小问题)11

1 oracle服务器由( oracle实例)和oracle数据库组成;2 下面哪个不是必需的后台进程(D)A SMONB LGWRC CKPTD ARCO3 用户进行增、删、改commit后,该记录存储的位置(备注:没有switch logfile)(A)A 联机日志文档B 归档日志文件C 数据文件D 联机日志文件和归档日志文件4 当oracle创建一个服务器进程的同时要为该服务器进程分配一个内存区,该内存区称为(程序全局区)5 简单阐述以下三种文件里面包含的内容?(控制文件、重做日志文件、数据文件)。
控制文件:包含维护和校验数据库一致性所需的信息重做日志文件:包含当系统崩溃后进行恢复所需记录的变化信息数据文件:包含数据库中真正的数据(以上答案仅供参考)6 以下说法错误的是(C)A PGA是一个私有的内存区,不能共享,且只属于一个进程B oracle实例是一种访问数据库的机制,它由内存结构和一些后台进程组成C oracle数据库物理存储结构是由控制文件,归档日志文件,数据文件三部分组成D 数据未被写到数据文件中,这些数据缓冲区被标为脏缓冲区7 获取参数SGA_MAX_SIZE需要利用的数据字典是( v$parameter )8 如果没有正常退出Oracle得情况下重新启动了所用的PC,由(B)负责它的清理工作A SMONB PMONC DBWRD LGWR9以下什么文件能确保Oracle系统在遇到数据文件丢失或损坏后可以完全恢复数据库中的数据?(C)A 联机日志文件B 数据文件C 归档日志文件D 控制文件10以下show parameter ( db_block_size)可以查看数据库块大小.11以下哪条命令可以显示emp表的表结构(D)A show empB select * from emp 查询表内容C show parameter v$empD desc emp显示表结构12使用任何方法创建一个数据库,Oracle都会自动创建两个超级用户system和(sys),它们也被称为数据库管理员用户13 SQL*Plus作为sysdba连接数据库的命令是:(conn / as sysdba)14请简单描述OEM(Oracle企业管理器)是什么OEM是一个功能强大而且操作简单的图形化数据库管理员工具。
Oracle数据库学习笔记_Oracle添加主键primarykey的四种方法

Oracle数据库学习笔记_Oracle添加主键primarykey的四种⽅法创建主键oracle主键添加语句通常紧跟在建表语句之后,也可以直接嵌在列声明⾥创建,oracle创建主键时会⾃动在该列上创建索引。
常见⽅法⼤概有以下5种:⽅法⼀、使⽤add constraint ⽅法添加主键约束alter table 表名 add constraint 主键名 primary key (列名1,列名2,...)⽅法⼆、使⽤索引创建主键(和⽅法⼀没有区别,可以将⽅法⼀理解为省略了using index)alter table 表名 add constraint 主键名 primary key (列名1,列名2,...)using index [index_name];当省略using index后⾯的index_name时,创建主键的同时创建同名索引;当使⽤已有索引index_name创建主键时,注意索引列和主键列应该相同才能创建成功。
⽅法三、直接添加主键alter table 表名 add primary key (列名1,列名2,...) ;同样,创建主键的同时创建同名索引。
⽅法四、参数列内添加主键create table ALERT_RESULT_EVENT_C(data_date VARCHAR2(8) not null,object_id VARCHAR2(600) not null,event_id VARCHAR2(20) not null,ratio NUMBER(22,4),pairing_object_id VARCHAR2(128),index_value_1 VARCHAR2(128),index_value_2 VARCHAR2(128),constraint PK_ALERT_RESULT_EVENT_C primary key (DATA_DATE, OBJECT_ID, EVENT_ID));删除主键alter table 表名 drop primary key ;采⽤该语句删除主键时,同名索引也会被删掉。
oracle 笔记

oracle 笔记Oracle是一种关系数据库管理系统,由Oracle Corporation开发。
以下是关于Oracle的一些笔记:1. 数据库架构:Oracle数据库有两个主要的架构:逻辑架构和物理架构。
逻辑架构包括了数据库对象(表、索引、视图等)以及用户和角色的定义。
物理架构指的是数据在磁盘上的存储方式。
2. 数据库对象:Oracle数据库中的主要对象包括表、索引、视图、触发器、存储过程等。
表是最基本的对象,用于存储数据。
索引用于加快表的查询速度。
视图是一种虚拟表,通过查询一个或多个表返回结果。
触发器是一种在表上定义的操作,当满足某些条件时触发。
存储过程是一段可重复使用的程序代码,用于完成特定的任务。
3. SQL语言:Oracle数据库使用SQL(Structured Query Language)进行数据库操作。
SQL语言包括数据查询语句(SELECT)、数据操作语句(INSERT、UPDATE、DELETE)以及数据定义语句(CREATE、ALTER、DROP)等。
4. 数据库管理:Oracle提供了一套完整的数据库管理工具,包括创建数据库、备份和恢复数据库、监控数据库性能等。
其中,Oracle Enterprise Manager是一个图形化界面的管理工具,可以通过它来管理和监控整个数据库系统。
5. 数据完整性:Oracle数据库通过约束条件来确保数据的完整性。
主键、外键、唯一约束、非空约束等都可以用于限制数据的输入。
此外,还可以使用触发器和存储过程来定义自定义的数据完整性规则。
6. 事务管理:Oracle数据库使用ACID(原子性、一致性、隔离性、持久性)模型来管理事务。
事务是一系列数据库操作的逻辑执行单元,要么全部执行成功,要么全部回滚。
这些只是Oracle数据库的一些基本概念和特点,还有很多其他的内容,如高可用性、性能优化、安全性等。
如果想要深入了解Oracle数据库,可以参考相关的文档和教程。
Oracle学习笔记

Oracle的四个主要用户1.超级管理员sys/change_on_install2.普通管理员system/manager3.普通用户scott/tiger4.大数据用户sh/sh简单查询1.查询表结构 DESC 表名2.简单查询SELECT [DISTINCT] *|[字段 [别名]] [,字段 [别名]] …FROM 表名 [别名](1)查询时也可以使用四则运算,如:SELECT (字段*x)+y FROM 表名(2)可以使用“||”连接字段与字符串,如:select '工作与工资:' || job || sal 工作工资 from emp执行结果:3.限定查询SELECT [DISTINCT] *|[字段 [别名]] [,字段 [别名]] …FROM 表名 [别名][WHERE 条件(s)](1)Where字句后可以增加多个条件,最常见的条件就是最基本关系运算:>、<、>=、<=、!=(<>)、BE TWEEN…AND、LIKE、IN(指定范围)、IS NULL(为空)、AND(且)、OR(或)、NOT(非)。
(2)多个条件可以使用AND与OR连接。
例如:select * from emp where sal>1300 and sal<4000(3)范围判断BE TWEEN…AND:BETWEEN 最小值 AND 最大值(大于等于最小值,小于等于最大值),BE TWEEN…AND 对数字、日期都可以使用!!!例如:select * from emp where sal between 1300 and 4000例如:select * from emp where hiredate between '01-1月-1981' and '31-12月-1981'(4)判断为空IS (NOT) NULL例如:select * from emp where comm is null例如:select * from emp where comm is not null例如:select * from emp where not comm is null(5)指定范围的判断(NOT) IN例如:select * from emp where empno in(7369,7566,7799)例如:select * from emp where empno not in(7369,7566,7799)注意:如果NOT IN 范围里出现了NULL则查询不到任何结果!!!(6)模糊查询LIKE,‘_’匹配一个字符。
Oracle数据库学习笔记_CREATETABLE和INSERTINTO的高级用法

Oracle数据库学习笔记 _CREATETABLE和 INSERTINTO的高级用 法
1、新建表 create table ACCT_LOAN (
data_date INTEGER not null, --整数,也可以约束数字最大位数,不可为空 acct_num VARCHAR2(35) not null, --可变长度的字符串(包含数字。字母及特殊字符) curr_cd CHAR(3), --固定长度为3的字符串(可包含数字,字母及特殊字符) drawdown_dt DATE, --日期 loan_amt decimal(8,2) --小数,小数最大长度为8位,小数位固定为2位 ) 2、建备份表 create table 备份表名 as select * from 表名; 3、将两张相同结构的表合并在一起 insert into 表1 select * from 表2 where ...; commit; 4、更新表:merge into merge into 表1 using 表2 on (表1.字段=表2.字段) when matched then update set ... when not matched then insert values(表2.xx, 表2.xx,...); commit; 5、给变量赋值 select into 变量名 from
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle数据库学习笔记作者:高达第一天:DBMS--数据库管理系统:Date base Manage System数据模型:(1)层次模型类似于“倒树”型的结构(2)网状模型(3)关系模型RDBMS--Relation Date base System记录和记录之间通过属性之间的关系来进行连接,保证数据独立性,并形成数据集之间的关系。
主键:关键词--PRIMARY KEY用于行的区分,不会重复。
主键可以由两列组成,叫做组合键。
主键非空。
如果为空则失去实体完整性。
外键:关键词--FOREIGN KEY外键表示两个表之间的相关联系。
外键的范围不能超过主键的范围,如果超过则失去引用完整性。
完整性:是为保证数据库中数据的正确性和一致性。
(1).实体完整性:数据行不能存在重复,也不能为空。
即PK不重复不为空。
(2).引用完整性:指建立两个关系建立联系的主外键的约束1.要求子表中的相关项必须在主表中存在。
2.如果建立了主表和子表的关系,则:a.子表中的相关项目的数据,在主表中必须存在;b.主表中相关项的数据更改了,则子表对应的数据项也应当随之更改;c.在删除子表之前,不能够删除主表。
(3).域完整性:保证表中数据的合理性check 检查default 默认not null 不为空unique 唯一约束(4).自定义完整性:根据用户需要自己定义。
除了上述关键字,可以使用触发器来编写约束。
约束:关键词--CONSTRAINT在创建表的时候添加约束。
目的:确保表中数据的完整型常用约束类型:主键约束(Primary Key Constraint):要求主键列数据唯一,并且不允许为空。
唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个空值。
检查约束(Check Constraint):某列取值范围限制、格式限制等,如有关年龄的约束。
默认约束(Default Constraint):某列的默认值,如我们的男性学员较多,性别默认为“男”。
外键约束(Foreign Key Constraint):用于两表间建立关系,需要指定引用主表的哪列。
不为空(not null):不可以为空。
创建表:建表语句:创建:CREATE TABLE 表名(列名数据类型约束条件,主键,列名数据类型);添加:ALTER TABLE 表名ADD 新列名数据类型约束删除列:ALTER TABLE 表名DROP COLUMN 列名;修改列类型:ALTER TABLE 表名MODIFY 列名类型;添加主键:ALTER TABLE 表名ADD PRIMARY KEY(列名);添加删除修改约束:在创建完表后添加约束:ALTER TABLE emp add empno primary key(empno);--主键约束,可以把多个字段设为主键ALTER TABLE emp add sex check (sex in('女','男')),--check约束ALTER TABLE emp modify name not null;--非空约束(特殊)ALTER TABLE emp constraint name unique(name);--唯一约束(要求不可重复)ALTER TABLE emp add constraint empno foreign key(deptno) references dept(deptno);--在创建完表后添加外键约束禁用约束:ALTER TABLE 表名DISABLE CONSTRAINT 约束名;启用约束:ALTER TABLE 表名ENABLE CONSTRAINT 约束名;删除约束:ALTER TABLE 表名DROP CONSTRAINT 约束名;第二天:SQL 结构化查询语言SQL --Structured Query LanguageSQL 的分类:数据定义语言(DDL):Create,Drop,Alter数据操作语言(DML):Update,Insert,Delete、select数据控制语言(DCL):Grant Revoke事务控制语言:commit rollback savepoint数据操纵语言:DMLINSERT 插入数据:INSERT INTO 表名属性1,属性2 V ALUSE 常量1,常量2;INSERT INTO 表名SELECT * FROM 表名;UPDATE 修改数据:UPDATE 表名SET 列名=新数据;DELETE 删除数据:DELECT FROM 表名WHERE 主键名;SELECT 查询数据:SELECT * FROM EMP;--查询全部信息SELECT ENAME AS 名字,JOB AS 工作FROM EMP;--起别名SELECT ENAME||'IS A'||JOB AS INFO FROM EMP;--增加相关联的列SELECT * FROM EMP WHERE ENAME='SMITH';--条件查询SELECT * FROM EMP WHERE JOB='MANAGER' OR JOB='CLERK';--组合查询AND,OR SELECT * FROM EMP WHERE DEPTNO IN (10,20);--等价于DEPTNO=10 OR DEPTNO=20,NOT IN查询不在()里的内容SELECT * FROM EMP WHERE COMM IS NULL;--查询COMM为空,IS NOT NULL不为空SELECT * FROM EMP WHERE JOB<>'MANAGER' AND SAL>3000;--<>,!=不等SELECT DISTINCT(DEPTNO) FROM EMP;--DISTINCT用于去重--比较=,>,<,>=,<=,<>, NOT+以上字符--确定范围包括两边BETWEEN AND NOT BETWEEN AND--确定集合IN,NOT IN--字符匹配LIKE,NOT LIKE--空值IS NULL,IS NOT NULL--多重条件AND OR聚合函数:--COUNT(列名)统计个数,求和SUM(),求平均A VG(),求最大MAX(),求最小MIN()--分组GROUP BYSELECT COUNT(JOB) FROM EMP GROUP BY JOB; --后加HA VING加条件判断在查询语句中,当聚合列和非聚合同时出现时,要求非聚合列必须写在GROUP BY 子句中用于分组的列,分组条件最好写在SELECT子句中--排序ORDER BYSELECT * FROM EMP ORDER BY SAL ASC,EMPNO DESC;--默认是升序,升序后加ASC,降序加DESC。
先按照前面的排序,之后再按后面的排序--模糊查询(LIKE只对字符类型有效)SELECT * FROM EMP WHERE ENAME LIKE '%A%';--%表示无限制占位,LIKE 'S%'以S开头,NOT LIKE '%S'不以S结尾,-为占一位,'_A%'找到第二个字母为AWHERE,HAVING区别:WHERE在分组之前过滤,不能使用聚合函数。
HA VING在分组之后过滤,可以使用聚合函数。
创建新用户:语法:CREATE USER MARTIN(用户名)IDENTIFIED BY martinpwd(密码)DEFAULT TABLESPACE USERSTEMPORARY TABLESPACE TEMP;更改和删除用户:ALTER USER 命令可用于更改口令:ALTER USER MARTIN IDENTIFIED BY martinpass;DROP USER 命令用于删除用户:DROP USER MARTIN CASCADE;授予权限:GRANT CONNECT TO MARTIN;Grant 权限名to 用户名;CONNECT角色允许用户连接至数据库,并创建数据库对象GRANT RESOURCE TO MARTIN;RESOURCE角色允许用户使用数据库中的存储空间GRANT CREATE SEQUENCE TO MARTIN;此系统权限允许用户在当前模式中创建序列,此权限包含在CONNECT角色中对象授权:GRANT SELECT ON TEST TO MARTIN;Grant 权限名(查询,修改。
)on 表名to 用户名。
允许用户查询TEST 表的记录GRANT UPDATE ON TEST TO MARTIN;允许用户更新TEST 表中的记录GRANT ALL ON TEST TO MARTIN;允许用户插入、删除、更新和查询TEST 表中的记录撤销权限:Revoke select on表名from 用户名;事务:所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
Commit 提交事务Rollback 回退事务SavePoint 设置事务保存点,即回滚时,可滚至指定的位置。
savepoint p1;设置保存点。
不提交既可以回滚。
第三天:ORACLE数据的逻辑结构:ORACLE的主要数据类型:Character 数据类型:CharVarchar2LongNumber 数据类型:Number(p, s)Date 数据类型:DateTimestampInterval day to secondInterval year to monthTimestamp with time zoneTimestamp with local time zoneRaw 和Long Raw 数据类型:用于存储二进制数据LOB 数据类型:CLOBBLOBBFILESQL*Plus编辑等常用命令:1、append功能:往SQL缓冲区的当前行末增加SQL文本。
2、change功能:替换缓冲区当前行中第一次找到的指定文本。
用法:change/旧文本/新文本3、del功能:从缓冲区中删除1行或多行。
用法:del 行号;4、input功能:在缓冲区的当前行之后增加1行或多行SQL文本。
5、list功能:列出缓冲区中的1行或多行,如果后面不跟参数子句的话列出所有行。
用法:list6、desc功能:列出表、视图、同义词的列定义,及函数或存储过程的说明。
7、run功能:列出并执行缓冲区中当前SQL语句或PL/SQL块。