Oracle作业01
Oracle 01
查看方式: SELECT STATUS ,BYTES,NAME FROM v$logfile;
查找脱机或归档日志文件和联机日志文件不同,如需要得 到归档日志文件列表,可通过v$archived_log视图来实现,
Memory Structure(内存结构)
用户进程(user Processes)
Server process
User process
Connection established
Database user
A database user who needs to request information from the database must first make a connection with the Oracle server. The connection is requested using a database interface tool, such as SQL*Plus, and beginning the user process. The user process does not interact directly with the Oracle server. Rather it generates calls through the user program interface (UPI), which creates a session and starts a server process.
Online Redo Log files
控制文件
作用:存储数据库状态信息 内容: 数据库名 表空间信息 所有数据文件的名字和位置 所有redo日志文件的名字和位置 当前的日志序列号 检查点信息 关于redo日志和归档的当前状态信息 使用过程:引导oracle到数据库文件和日志文件中,启动一 个实 例时先从参数文件中读取控制文件的名字和位置, 打开控制文件后,读取数据文件列表并打开每个文件
oracle练习题及答案
oracle练习题及答案Oracle练习题及答案Oracle是一种强大的关系数据库管理系统,被广泛应用于企业级应用程序和数据管理中。
为了帮助大家更好地掌握Oracle数据库的知识,以下是一些Oracle练习题及答案,希望能够帮助大家更好地理解和掌握Oracle数据库的知识。
1. 什么是Oracle数据库?Oracle数据库是一种关系数据库管理系统,由美国Oracle公司开发。
它是一种高性能、可靠性高的数据库系统,被广泛应用于企业级应用程序和数据管理中。
2. Oracle数据库的特点有哪些?Oracle数据库具有以下特点:高性能、高可用性、可伸缩性、安全性高、灵活性强、易管理等。
3. 如何创建一个新的数据库用户?在Oracle数据库中,可以使用以下SQL语句来创建一个新的数据库用户:```CREATE USER username IDENTIFIED BY password;```4. 如何查看Oracle数据库中所有的表?可以使用以下SQL语句来查看Oracle数据库中所有的表:```SELECT table_name FROM user_tables;```5. 如何在Oracle数据库中插入一条新的记录?可以使用以下SQL语句来在Oracle数据库中插入一条新的记录:```INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);```6. 如何在Oracle数据库中更新一条记录?可以使用以下SQL语句来在Oracle数据库中更新一条记录:```UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;```7. 如何在Oracle数据库中删除一条记录?可以使用以下SQL语句来在Oracle数据库中删除一条记录:```DELETE FROM table_name WHERE condition;```通过以上Oracle练习题及答案的学习,相信大家对Oracle数据库有了更深入的了解。
Oracle课程作业
Oracle课程作业
1.建立Oracle Enterprise Linux (OEL)虚拟机
1)设置主机名为:
2)打开terminal 终端窗口,查看主机名(hostname)
2.在在OEL 装环境中,安装Oracle 数据库软件
1)oracle_base=/u01/app/oracle
oracle_home=/u01/app/oracle/product/11.2.0/dbhome_1
3. 用使用DBCA 立工具建立Oracle 数据库
1)数据库名及SID = orcl
2)数据库启用Enterprise Manager
3)数据库启用归档模式
4)安装数据库的用例(Sample Schema)
5)完成安装
4. 创建数据库用户
1)建立一个数据库用户:用户名称是学生姓名的全拼(例如“张三”的用户名:zhangsan)
2)用户密码自定
3)授予此用户dba 角色的权限
4)使用sqlplus 命令,以新建的学生用户登录数据库,并查看HR 用户的regions 表的数
据。
5. 备份数据库
在Enterprise Manager 或RMAN 中执行一次数据库的完整备份。
6. 恢复数据库
1)在操作系统中,手工删除example 表空间所使用的数据文件example01.dbf。
2)在Enterprise Manager 或RMAN 中列出发现的数据库错误。
3)使用数据库的备份,恢复丢失的example 表空间的数据文件。
4)重新检查数据库,确认能够正常查看HR 用户的regions 表的数据。
Oracle作业一答案
《Oracle数据库》作业一一、填空题:1、(重做日志)缓存区用于在内存中存储未被刷新写入联机日志文件的重做信息。
2、内存结构是一块进程在其中进行自身对话或与其他进程对话的内存区域,Oracle使用两种类型的内存结构,一种是(系统全局区SGA),另一种是(程序全局区PGA)。
3、当检索数据时,可以通过(连接)操作查询出存放在多个表中的不同对象的信息。
4、一个数据文件属于(一)个表空间5、oracle的基本存储数据的结构有表空间、(数据文件)、(控制文件)、各种段、(区间)、(数据块)等。
6、oracle的(内存结构)和(后台进程)合在一起,构成了oracle数据库运行时的系统,也就是oracle实例。
7、(控制文件)记录oracle数据库中所有文件的控制信息。
8、Oracle数据库是大型(分布式)关系数据库9、关系数据库采用(二维表格)来描述实体之间的关系10、一个Oracle数据库至少拥有(一)个实例11、(SID)用于标识一个Oracle数据库实例12、Oracle数据库在逻辑上被划分为一个个独立的存储区域,这些存储区域被称为(表空间)13、每个表空间对应于一个或多个(数据文件)14、默认情况下,新建的数据库具有(3)个控制文件15、Oracle数据库的启动是分步骤进行的,其中涉及到(实例的启动)、(数据库的加载)和(打开数据库)三个状态16、Oracle数据库的逻辑存储结构包括表空间、(段)、(区)和(块)。
17、打开数据库时,实例将打开所有处于联机状态的(数据)文件和(重做日志)文件18、在Oracle 9i中进行SQL语句操作的主要工具是(SQL*PLUS)19、Oracle最小的逻辑存储单元是(块)20、加载数据库时,实例将打开数据库的(控制)文件,从中获取数据库的名称、数据文件的位置和名称等关于数据库物理结构的信息21、在SQL*PLUS中,有一块内存存储了刚刚执行完的命令,这块内存一般称为(缓冲区)22、SQL语言是数据库的核心语言,全称是(结构化查询语言(StructuredQuery Language))。
马士兵Oracle_1
01_sqlplus_introductionsqlpl是Oracle的客户端这个客户端干什么?Unix比Windows难是为什么?因为Unix的命令行较多,Oracle比其他数据库难是为什么?因为Oracle大多数的东西都在命令行执行。
三种方式建议还是用tiger敲各种命令都可以进行操作了第二种:Oracle本身的客户端第三:isqlplus,浏览器访问,自身电脑或别人的自己的iP:127.0.0.1:5560可以收蔵起来下次直接点目前对我们来说SQLPLUS足够了下面为百度内容中的方法成功安装Oracle 11g后,共有7个服务,这七个服务的含义分别为:1. Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadow copy)。
它可以在多卷或者单个卷上创建映射拷贝,同时不会影响到系统的系统能。
(非必须启动)2. OracleDBConsoleorcl:Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。
在运行Enterprise Manager(企业管理器OEM)的时候,需要启动这个服务。
(非必须启动)3. OracleJobSchedulerORCL:Oracle作业调度(定时器)服务,ORCL是Oracle实例标识。
(非必须启动)4. OracleMTSRecoveryService:服务端控制。
该服务允许数据库充当一个微软事务服务器MTS、COM/COM+对象和分布式环境下的事务的资源管理器。
(非必须启动)5. OracleOraDb11g_home1ClrAgent:Oracle数据库.NET扩展服务的一部分。
(非必须启动)6. OracleOraDb11g_home1TNSListener:监听器服务,服务只有在数据库需要远程访问的时候才需要。
Oracle入门_作业
Oracle入门_实训作业一、启动Oracle数据库实例服务和监听服务二、建立本地网络服务名1.使用NET Manager新建立一个本地网络服务名2.进入sqlplus,以用户sys(以管理员身份)连接(1)进入windows命令窗口,键入命令sqlplus(2)输入用户登录信息:sys/<密码>@<本地服务名> as sysdba (即sys以管理员身份连接)二、仿照以下示例建立表空间1.示例:create tablespace user_space_1 datafile'D:\oracle\product\9i\oradata\ora9i\user_1.dbf' size 20M;2.说明:⏹user_space_1为表空间名⏹'D:\oracle\product\9i\oradata\ora9i\user_1.dbf' 为数据文件路径⏹20M 为数据文件大小⏹其它均为关键字三、仿照示例建立用户,并授权1.创建用户示例(用户名user1,密码u123,默认表空间user_space_1):create user user1 identified by u123default tablespace user_space_12.授权示例:(授予角色connect,系统权限create table,unlimited tablespace)grant connect,create table,unlimited tablespace to user1;3.用户sys断开连接,以刚刚新建用户连接(1)disconnect;(2)connect user1/u123@myora;四、准备建表sql脚本文件,示例如下(文件名:my.sql):create table student(stu_id varchar2(20) primary key,stu_name varchar2(20) not null);insert into student values('001','张三');insert into student values('002','李四');commit;1.在sqlplus环境下执行sql脚本:start f:\test\my.sql;2.退出sqlplus:quit;五、使用Java程序访问Oracle 。
oracle01olpt&olap
Oracle1OLTPOLTP,也叫联机事务处理(Online Transaction Processing),表示事务性非常高的系统,一般都是高可用的在线系统,以小的事务以及小的查询为主,评估其系统的时候,一般看其每秒执行的Transaction以及Execute SQL的数量。
在这样的系统中,单个数据库每秒处理的Transaction往往超过几百个,或者是几千个,Select 语句的执行量每秒几千甚至几万个。
典型的OLTP系统有电子商务系统、银行、证券等,如美国eBay的业务数据库,就是很典型的OLTP数据库。
OLTP系统最容易出现瓶颈的地方就是CPU与磁盘子系统。
(1)CPU出现瓶颈常表现在逻辑读总量与计算性函数或者是过程上,逻辑读总量等于单个语句的逻辑读乘以执行次数,如果单个语句执行速度虽然很快,但是执行次数非常多,那么,也可能会导致很大的逻辑读总量。
设计的方法与优化的方法就是减少单个语句的逻辑读,或者是减少它们的执行次数。
另外,一些计算型的函数,如自定义函数、decode等的频繁使用,也会消耗大量的CPU时间,造成系统的负载升高,正确的设计方法或者是优化方法,需要尽量避免计算过程,如保存计算结果到统计表就是一个好的方法。
(2)磁盘子系统在OLTP环境中,它的承载能力一般取决于它的IOPS处理能力. 因为在OLTP环境中,磁盘物理读一般都是db file sequential read,也就是单块读,但是这个读的次数非常频繁。
如果频繁到磁盘子系统都不能承载其IOPS的时候,就会出现大的性能问题。
OLTP比较常用的设计与优化方式为Cache技术与B-tree索引技术,Cache决定了很多语句不需要从磁盘子系统获得数据,所以,Web cache与Oracle data buffer对OLTP系统是很重要的。
另外,在索引使用方面,语句越简单越好,这样执行计划也稳定,而且一定要使用绑定变量,减少语句解析,尽量减少表关联,尽量减少分布式事务,基本不使用分区技术、MV技术、并行技术及位图索引。
oracle练习题(打印版)
oracle练习题(打印版)### Oracle数据库练习题#### 一、选择题1. Oracle数据库中,哪个命令用于创建表?- A. CREATE TABLE- B. CREATE DATABASE- C. DROP TABLE- D. ALTER TABLE2. 以下哪个不是Oracle数据库的数据类型?- A. NUMBER- B. CHAR- C. DATE- D. IMAGE3. 在Oracle数据库中,哪个命令用于删除表?- A. DELETE FROM- B. DROP TABLE- C. REMOVE TABLE- D. ERASE TABLE4. Oracle数据库中,如何查看当前用户?- A. SELECT USER FROM DUAL;- B. SELECT CURRENT_USER FROM DUAL;- C. SELECT USERNAME FROM ALL_USERS;- D. SELECT CURRENT_USER FROM ALL_USERS;5. 以下哪个命令用于在Oracle数据库中创建索引?- A. CREATE INDEX- B. CREATE KEY- C. CREATE CONSTRAINT- D. CREATE UNIQUE#### 二、填空题1. 在Oracle数据库中,使用____命令可以查看表结构。
2. Oracle数据库中,使用____命令可以查看当前数据库的所有表。
3. 要删除Oracle数据库中的行,可以使用____命令。
4. Oracle数据库中,____用于存储二进制数据。
5. Oracle数据库中,____命令用于查看数据库中所有的索引。
#### 三、简答题1. 描述Oracle数据库中事务的ACID属性。
2. 解释Oracle数据库中的锁定机制。
3. 说明Oracle数据库中视图的作用。
#### 四、操作题1. 创建一个名为`Employees`的表,包含以下字段:- `EmployeeID` NUMBER(10) PRIMARY KEY,- `FirstName` VARCHAR2(50),- `LastName` VARCHAR2(50),- `HireDate` DATE,- `Salary` NUMBER(10, 2),- `DepartmentID` NUMBER(10).2. 向`Employees`表中插入以下数据:- `EmployeeID`: 1001, `FirstName`: 'John', `LastName`:'Doe', `HireDate`: '2023-01-01', `Salary`: 70000,`DepartmentID`: 101.- `EmployeeID`: 1002, `FirstName`: 'Jane', `LastName`:'Smith', `HireDate`: '2023-02-15', `Salary`: 50000,`DepartmentID`: 102.3. 编写一个查询,显示所有员工的姓名和工资,按工资从高到低排序。
Oracle作业题
Oracle 作业题一.创建一个简单的PL/SQL程序块使用不同的程序块组件工作使用编程结构编写PL/SQL程序块处理PL/SQL程序块中的错误1.编写一个程序块,从emp表中显示名为“SMITH”的雇员的薪水和职位。
2.编写一个程序块,接受用户输入一个部门号,从dept表中显示该部门的名称与所在位置。
3.编写一个程序块,利用%type属性,接受一个雇员号,从emp表中显示该雇员的整体薪水(即,薪水加佣金)。
4.编写一个程序块,利用%rowtype属性,接受一个雇员号,从emp表中显示该雇员的整体薪水(即,薪水加佣金)。
5.某公司要根据雇员的职位来加薪,公司决定按下列加薪结构处理:Designation Raise-----------------------Clerk 500Salesman 1000Analyst 1500Otherwise 2000编写一个程序块,接受一个雇员名,从emp表中实现上述加薪处理。
6.编写一个程序块,将emp表中雇员名全部显示出来。
7.编写一个程序块,将emp表中前5人的名字显示出来。
8.编写一个程序块,接受一个雇员名,从emp表中显示该雇员的工作岗位与薪水,若输入的雇员名不存在,显示“该雇员不存在”信息。
9.接受两个数相除并且显示结果,如果第二个数为0,则显示消息“除数不能为0”。
二.声明和使用游标使用游标属性使用游标For循环工作声明带参数的游标(使用FOR UPDATE OF和CURRENT OF子句工作)1.通过使用游标来显示dept表中的部门名称。
2.使用For循环,接受一个部门号,从emp表中显示该部门的所有雇员的姓名,工作和薪水。
3.使用带参数的游标,实现第2题。
4.编写一个PL/SQL程序块,从emp表中对名字以“A”或“S”开始的所有雇员按他们基本薪水的10%给他们加薪。
5.emp表中对所有雇员按他们基本薪水的10%给他们加薪,如果所增加后的薪水大于5000卢布,则取消加薪。
Oracle自测题-第1,2,3章
第1章Oracle数据库系统的结构与安装选择题1、下列有关ORACLE实例的说法哪个是错误的?(B)A. ORACLE实例主要由内存结构和迚程结构两部分组成B. 每一数据库至少有一个与之对应的实例,一个实例可以打开和使用多个数据库C. 每一个数据库可以由多个实例使用,但一个实例只能打开和使用一个数据库D. 实例就是运行状态下的ORACLE软件,主要是由内存结构和一些迚程组成2、以下哪些内存区域不是SGA的一部分?(B)A. 数据库缓冲区高速缓存B.PGAC.重做日志缓冲区D. 共享池3、DBWR迚程是(C)A. 从Shared Pool读出被更新的数据写入DataFilesB. 从Shared Pool读出被更新的数据写入LogFilesC. 从Database Buffer Cache读出被更新的数据写入DataFilesD. 从Database Buffer Cache读出被更新的数据写入LogFiles4、下面的描述中错误的是:(A)A. Oracle表的存储结构为:一个表就是一个物理文件,物理文件和表之间存在着绝对的一一对应关系。
B. 表空间由一个或多个数据文件组成。
C. 系统全局区(SGA)可由所有的服务器和用户迚程共享。
D. 段、区间、数据块是Oracle数据库的基本逻辑组织单位。
5、下面的描述中错误的是:(B )A. 表空间由一个或多个数据文件组成。
B. 表中的数据存储在数据文件,索引等其他模式对象的数据不存储在数据文件中。
C. 数据块是Oracle I/O操作的最小单位。
D. 区间是由数据块组成的。
6、下面的描述中错误的是:(A)A. 程序全局区(PGA)可由所有的用户迚程共享。
B. Oracle使用表空间组织数据库,每个数据库至少有一个System表空间。
C. 数据块是Oracle I/O操作的最小单位。
D. 区间是由连续的数据块组成的。
7、下面的描述中错误的是:(C)A. 每个数据库必须至少有一个控制文件。
Oracle基础(习题卷1)
Oracle基础(习题卷1)第1部分:单项选择题,共63题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]以下()用户默认拥有SYSDBA权限A)A-SYSTEMB)B-SYSC)C-SAD)D-DBADMIN答案:B解析:2.[单选题]你使用 IMMEDIATE 选项关闭数据库实例。
考虑打开数据库需要执行的步骤:1. 分配 SGA2. 读取控制文件3. 读取日志文件4. 开始实例恢复5. 启动后台进程6. 检查数据文件一致性7. 读取 spfile 或者 pfile哪个选项是正确的关于这些步骤()A)7, 1, 5, 2, 3, 6, 4B)1, 5, 7, 2, 3, 6; step 4 is not requiredC)7, 1, 5, 2, 3, 6 step 4 is not requiredD)1, 2, 3, 5, 6, 4; step 7 is not required答案:C解析:3.[单选题]执行下面的命令备份 USERS 表空间SQL> ALTER TABLESPACE users BEGIN BACKUP;ALTER TABLESPACE users BEGIN BACKUP*ERROR at line 1:ORA-01123: cannot start online backup;media recovery not enabled什么原因导致整个错误()A)MTTR Advisor 禁用B)数据库处于 NOARCHIVELOG 模式C)表空间已经处于备份模式D)Flash Recovery Area 没有配置答案:B解析:4.[单选题]当执行介质数据库恢复时,有个归档日志文件丢失或者损坏,那么此时只能执行哪种操作?什么A)Until SCNB)Until timeC)Recover using backup control file.D)Until cancel答案:D解析:5.[单选题]oracle逻辑存储结构正确的是( )A)tablespace--segment--osblock--blockB)tablespace--segment--extent--blockC)tablespace--extent--segment--blockD)tablespace--extent--block -segment答案:B解析:6.[单选题]如何将变量v_row 定义为emp表的记录类型( )A)v_row emp%type;B)v_row emp%record;C)v_row emp%tabletype;D)v_row emp%rowtype;答案:D解析:7.[单选题]The schema SALES exists in two databases, ORCL1 and ORCL2, and has the same password,SALES123. User SALES has CREATE DATABASE LINK and CREATE SESSION privileges on bothDatabases.Eaxmine these command:Conn SALES/SALES123CREATE DATABASE LINK orcl2 USING ‘orcl12’;What is the outcome of executing these commands in the ORCL1 database?A)ORCL2 is created as a shared database link to connect multiple sessions to the SALES schema in the ORCL2 databaseB)ORCL2 database link creation failsC)ORCL2 is created as a private database link to connect to only the SALES schema in the ORCL2 databaseD)ORCL2 is created as a public link to connect a single session to the SALES schema in the ORCL2 database答案:C解析:8.[单选题]分析以下的SQL 命令:SELECT manufacturer_idFROM inventoryWHERE manufacturer_id LIKE '%N\%P\%O%' ESCAPE '\';命令执行的返回结果是( )。
oracle作业
select ename,deptno,empno from emp where ename like '%U%' or deptno=deptno;
--2,从emp中查询出姓名中含有字母A和E的员工姓名
(
select empno from emp where ename='KING'
);
--7,查询所有部门的部门编号,部门名称及其部门中的员工姓名(没有员工的部门信息也要查询出来)
select e.deptno,dname,ename from emp e,dept d where e.deptno=d.deptno
);
--19,查询在部门的loc为newYork的部门工作的员工的员工姓名ename,部门名称dname和岗位名称job
selelct e.ename,d.dname,e.job from emp e join dept d using(deptno) where deptno=(select deptno from dept where loc='NEW YORK');
select ename,empno,dname from emp,dept where emp.deptno=dept.deptno and loc='NEW YORK';
--5, 查询每个部门中工资在2000元以上的员工姓名,工资及其所在部门名称,并以工资升序排序,如果工资相等则按员工姓名降序排序。
select ename,sal from emp where sal>1200 order by hiredate asc;
01oracle学习资料系列
Copyright 2008,Oracle HJCChapter 1–Page 1第1章数据库综述Copyright 2008,Oracle HJCChapter 1–Page 21.1数据与信息1.1.1信息是来自于现实世界事物的存在方式或运动形态的集合,是人们进行各种活动所需要的知识,是数据加工的结果。
1.1.2数据存储在某一媒体上可加以鉴别的符号资料(数字、文字、图像、声音等),这些媒体可以包括纸、磁盘、磁带、光盘等种类。
举例:1、KONKA,蓝屏,银白色,半翻盖;2、男,50,1.8。
1.1.3信息与数据的关系数据是承载信息的物理符号或称为载体。
信息是人们消化理解的数据,是对客观世界的认识,是知识。
1.1.4计算机数据管理的发展1、人工管理阶段数据与处理数据的程序密切相关,不互相独立;数据不做长期保存;数据是依附于计算机程序或软件。
2、文件系统阶段程序与数据有了一定的独立性,程序和数据分开存储,具有程序文件和数据文件的各自属性;数据文件可以长期保存,但数据冗余度大;缺乏数据独立性;不集中管理数据。
3、数据库系统阶段基本实现了数据共享,减少了数据冗余;采用特定的数据模型;具有较高的数据独立性;有统一的数据控制和管理功能。
4、分布式数据库系统阶段分布式数据库在逻辑上是一个整体、地理分布在不同位置的数据集合,是计算机网络环境下各个局部数据库的逻辑集合,受分布式数据库管理系统的控制和管理。
其特点如下:(1)分布透明性;(2)局部自治与集中控制相结合;(3)高可靠性和可用性;(4)高效率和灵活性。
Copyright2008,Oracle HJCChapter1–Page3Copyright 2008,Oracle HJCChapter 1–Page 41.2关系型数据库系统1.2.1数据库数据库(DB,DataBase)是存放数据的仓库,长期保存在计算机系统中的、有组织的、可以被共享的数据集合。
数据库特点:数据共享性数据独立性减少数据冗余度数据的一致性1.2.2数据库系统数据库系统是指引进数据库技术后的计算机系统。
01oracle基础作业(答案)
1ቤተ መጻሕፍቲ ባይዱ、用新用户link连接数据库,访问用户scott的表emp ,会出现什么提示?
18、如何让用户link能执行select * from emp命令?(提示:授予link对emp表的select权限)
19、查看用户link有哪些权限
20、撤销用户link能select * from emp表的权限并验证。
9、查询当前用户下所有表对象
10、查看当前用户默认表空间
11、查看用户的角色
12、用system用户进入,锁定scott帐户后试图用scott帐户连接到数据库
13、用system用户进入,解锁scott帐户后用scott帐户连接到数据库
14、查看scott用户的表
15、查看用户scott的emp表的表结构
作业
练习oracel sql*plus的一些常用命令。
1、用system用户身份连接
或者:
2、显示当前连接用户
3、查看系统拥有哪些用户
4.建一名为pkrtab的表空间,数据文件名随意,大小随意
5.新建用户link,使用上述建好的表空间
6.测试新用户link能否连上数据库
7、给新用户link授权
8、连接到新用户
Oracle数据库比较工具01.基本功能介绍
Oracle数据库比较工具01:基本功能介绍
对于基于Oracle数据库的信息系统,在开发、测试、实施、维护等各个阶段,经常需要操纵多个可能部署在不同地方的数据库。
比如,开发人员使用的数据库和测试人员使用的数据库一般情况下是分离的(测试环境与开发环境分离,是保证测试准确性的基本手段),一段时间以后,需要把开发数据库调整的内容,同步到测试数据库上去。
这是非常常见的情景。
另外,开发数据库和现场使用的数据库,分别被开发工程师和实施工程师使用,由于一直处于分别变动的状态,一段时间以后,也会需要对这些数据库进行数据库对象结构的统一。
常见的比对数据库结构的方式,是导出脚本,然后手工进行比较,效率低,易出错。
以下介绍的这个程序是我专门开发用来解决上述问题的。
你可以使用这个小工具在线或者离线比较两个数据库的结构、或者定期对数据库结构进行备份;也可以把数据从一个数据库中用Excel或者二进制的方式非常方便的导出,比较并导入到另一个数据库去。
本文是这个工具系列文章的第1篇。
后续的一些文章将会陆续描述该工具的使用过程、下载位置等。
工具的特点说明:
1、支持两个数据库都在线情况下的数据库结构比较;也支持离线文件(数据库结构描述)与数据库的比较;
2、连接数据库时无须在本地配置数据库连接,直接通过IP和端口以及相应的数据库服务名进行连接;
3、纯绿色软件for WinXP/Win2000/Win2003/Win7,无须安装,拷贝即可使用,不修改注册表;
4、可以比较表、索引、视图、存储过程、函数、同义词、包头、包体、触发器、类型等十种类型(后续还会扩展)的数据库对象。
先放个图看看
欢迎访问红尘的新浪博客/hongchenzpm。
ORACLE试题01
ORACLE试题一、单项选择题(每题2分,共20分)1、假如不知道该变量的基础数据库列的数据类型,在PL/SQL块中如何定义一个变量?(表名是DBTABLE,列名是COLUMNX)A、V_X NUMBER;B、V_X V ARCHAR2C、V_X DBTABLE.COLUMNX%TYPE;D、V_X COLUMNX.DBTABLE%TYPE;2、下列代码中哪一行有错?A、SELECT DNAME,ENAMEB、FROM EMP E , DEPT DC、WHERE EMP.DEPTNO=DEPT.DEPTNOD、ORDER BY 1,23、查询那一个数据字典视图,只能列出用户所拥有的表?A、ALL_TABLESB、DBA_TABLESC、USER_TABLESD、USR_TABLES4、在CREATE VIEW命令中哪个子句将阻止通过视图对基表进行更新?A、WITH CHECK OPTIONB、WITH READ ONL YC、WITH NO UPDATED、没有这样的选项;假如用户对基表有权限,用户可以更新视图5、表中的一列具有这样的特性,其值的重复度很高,我们可以使用何种索引?A、唯一索引B、组合索引C、反向建索引D、位图索引6、在出错处理部分中需要包含什么子句,以便处理前面没有指定的错误?A、ELSEB、WHEN ANYTHING ELSEC、WHEN ANY OTHERD、WHEN OTHERS THEN7、在创建序列的过程中,下列()选项指定序列在达到最大值或最小值后,将继续从头开始生成值。
A、CycleB、NocycleC、CacheD、Nocache8、在PL/SQL中,在执行任何DML语句前,SQL%NOTFOUND的值为()。
A、NOTFOUNDB、TRUEC、NULLD、FALSE9、在Oracle中,PL/SQL块中定义了一个带参数的游标:CURSOR emp_cursor(dnum NUMBER) ISSELECT sal, comm FROM emp WHERE deptno = dnum;那么正确打开此游标的语句是()A、OPEN emp_cursor(20);B、OPEN emp_cursor FOR 20;C、OPEN emp_cursor USING 20;D、FOR emp_rec IN emp_cursor LOOP … END LOOP;10、当两位用户中的每一位都对一个单独的对象进行了锁定,而他们又要获取对方对象的锁时,将会发生()。
ORACLE作业步骤-指导版
新建供应商应付管理岗-创建新供应商-填写供应商组织名-点击应用-点击左边菜单地址簿-点击创建-填写地址行1和地址名称,在右边地址用途采购和付款处打勾-点继续-在“业务实体”下边选择处打勾-点应用-点“创建”下边一栏菜单的“管理地点”-确认采购和付款已经选上了-点应用-点左边菜单的“会计”-点“负债账户”后边按钮-将科目改成“其他应付款-应付供应商”-点“创建”-在“创建“下边的“选择”处点上-点右下角“选择”-点“预付款”-同样的方法将预付款科目改成“其他应收款-预付供应商”-点保存录入预付发票/标准发票应付会计岗-发票录入-类型改成预付款(或标准)—选择贸易伙伴-对所有黄色框进行选择-点行添加信息-点分配添加信息-保存-点活动-验证标准发票/预付款发票付款应付会计岗-录入付款—对所有黄色框进行选择-点输入/调整发票-在“发票编号”中找到自己要付款的发票-保存如果是对标准发票/预付款发票全额付款,可以应付-发票-录入-发票-查找,找到标准发票/预付款发票后,左下角的“活动”,完全支付。
核销预付发票对预付款发票进行付款-录入一张相应的标准发票(金额和要核销的金额一致,金额不一定要一致,标准发票的金额是实际发生的金额,贸易伙伴一定要完全一样)-保存并验证-点活动中的“核销”新建客户会计岗-点“客户”下的“标准”-点“创建”-填写组织名和“账户地点地址”中的“地址行”(前面有*号的必须要填)-应用录入收入发票会计岗-事务处理—将“币种”改成RMB-“收单方”选择自己创建的客户-“付款条件”选择立即付款-点“行项目”-摘要选择题中“咨询服务收入”-数量和单价填上(金额自动出数)-保存-完成收款会计岗-收款-黄色框填上(收款编号自己给号的,币种改成RMB)-客户名称处选择自己要收款的客户-核销-在核销对象选择自己要核销的发票-输入金额-保存新增资产管理岗-资产工作台-增加-黄色框全填上(写上标签号,方便和实物对应)-账簿选择一下-输入成本-继续-“资产进出”填1-其他黄色框填上-完成资产调拨先找到自己要调拨的那台资产-管理岗-资产工作台-查询-找到要调拨的资产-分配-第一行的“资产进出”填-1,第二行的“资产进出”填1,并将“员工”和“地点”改成自己需要调进的人员-完成(费用账户为业务及管理费-折旧费-电子设备)如果是跨OU的资产调拨,需要在一个营业部作“报废”资产,另一个营业部作“新建”资产,然后,做公司间资金的调拨报废资产找到自己要报废的资产-报废-完成。
01_Oracle条件运算
在where子句之后可以增加多个条件,最常见的条件就是基本的关系运算:>;>=;=;<;<=;!=(<>);BETWEEN AND;LIKE;IN;IS NULL;AND;OR;NOT.1.关系运算>:select * from emp from sale > 1500;=:select * from emp from job='CLERK'; 注:区分大小写or:select * from emp where job = 'CLERK' OR job = 'SALEMAN';AND: select * from emp where (job = 'CLERK' OR job = 'SALEMAN') AND SALE >= 1500;NOT:SELECT * FROM EMP WHERE NOT SALE = 1500;2.范围判断BETWEEN AND:SELECT * FROM EMP WHERE SAL BETWEEN 1500 AND 3000;SELECT * FROM EMP WHERE HIREDATE BETWEEN '01-1月-1981' AND '31-12月-81';注:BETWEEN AND不仅可以操作数字,还可以操作日期.3.判断是否为空IS (NOT) NULL:SELECT * FROM EMP WHERE COMM IS NOT NULL;4.指定范围的判断IN:SELECT * FROM EMP WHERE EMPNO IN ('7369','7566','7499');注:关于NOT IN的问题,如果现在使用了IN操作符,查询的范围之中存在了NULL,不影响范围;如果现在使用了NOT IN操作符,查询的范围之中存在了NULL,则不会有任何的查询结果5.模糊查询LIKE:LIKE子句的功能是提供了模糊查询的操作,例如:某些程序上出现的搜索操作,都属于LIKE 子句的实现,但是必须提醒的是搜索引擎上的查询可不是LIKE.使用LIKE子句则必须认识两个匹配符号:(1)匹配单个字符:_;(2)匹配任意字符:%;SELECT * FROM EMP WHERE ENAME LIKE 'A%';SELECT * FROM EMP WHERE ENAME LIKE '_A%'SELECT * FROM EMP WHERE ENAME NOT LIKE '_A%'注:但是对于LIKE子句,不一定只能在字符串数据上显示,可以在任意的数据上表示. SELECT * FROM EMP WHERE ENAME LIKE '%1%' OR HIREDATE LIKE '%1%' OR SAL LIKE '%1%'说明:关于LIKE子句的使用在开发之中数据库的模糊查询肯定使用LIKE子句,但是在使用LIKE子句的时候有一个最大的注意点,如果在模糊查询上不设置任何的查询关键字的花(%%)则表示查询全部记录.这一特点可以帮助用户节约很多的代码,所以一定要记住.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(12)查询各个管理者属下员工的最低工资,其中最低工资不能低于800
,没有管理者的员工不计算在内
select min(salary) from employee_lgm
group by job;
==============================================================
(11)查询员工中最高工资和最高工资的差距,列名为DIFFERENCE
select max(salary)-min(salary) DIFFERENCE from employee_lgm;
==============================================================
(4)查询各部门员工姓名和他们所在的位置,结果类似于下面的格式
Deptno Ename Loc
20 SMITH DALLAS
select e.deptno,e.ename,d.location from employee_lgm e
(21)哪些员工的工资,高于整个公司的平均,列出员工的名字和工资(降序)
select ename,salary from employee_lgm
where salary>(select avg(salary) from employee_lgm)
order by salary desc;
where deptno = e.deptno);
==============================================================
(23)列出各个部门中工资最高的员工的信息:名字,部门号,工资
select ename,deptno,salary from employee_lgm e
where ename='lucy');
==============================================================
(8)JONES领导是谁。
select ename from employee_lgm
where empno =(select mgr from employee_lgm
join department_lgm d
on e.deptno = d.deptno
;
==============================================================
(14)查询和scoot相同部门的员工姓名ename和雇佣日期
select ename ,hirdate from employee_lgm
select d.dname, count(*) emp_sum from employee_lgm e
join department_lgm d
on e.deptno = d.deptno
where e.salary>1500;
==============================================================
where ename='lucy';
==============================================================
(15)查询工资比公司平均工资高的所有员工的员工号empno,姓名ename和工资sal
select empno,ename,salary from employee_lgm
join department_lgm d
on e.deptno = d.deptno
where d.dname='market';
==============================================================
(20)显示各个部门中工资大于1500的员工数
dname 和岗位名称job
select e.ename,e.job,e.deptno,d.dname,d.location from employee_lgm e
join department_lgm d
on e.deptno=d.deptno
where d.location='wuhan';
where salary>(select avg(salary) from employee_lgm);
==============================================================
(16)查询和姓名中包含u的员工在相同的部门的员工和员工号empno和姓名enmae
==============================================================
==============================================================
(18)查询管理者是king的员工的姓名ename和工资
select ename ,salary from employee_lgm
where mgr=(select empno from employee_lgm
==============================================================
(7)查询JONES的领导是谁(JONES 向谁报告)
select ename from employee_lgm
where empno =(select mgr from employee_lgm
SIMTH 7369 FORD 7920
select t1.ename,t1.empno Emp#,t2.ename,t2.empno Mgr# from employee_lgm t1
join employee_lgm t2 on t1.mgr = t2.empno;
Oracle作业01:
(1)显示所有员工的姓名ename,部门编号deptno和部门名称dename
select e.ename,e.deptno,d.dname from employee_lgm e
join department_lgm d
on e.deptno=d.deptno;
==============================================================
where mgr=(select ename from employee_lgm);
==============================================================
(13)查询所有部门的部门名字dname,所在位置loc,员工数量和工资平均值
select d.dname,d.location,avg(salary) ,count(*) SUM from employee_lgm e
==============================================================
(3)选择所有员工的姓名ename,员工号deptno,以及他的管理者mgr的姓
名ename和员工号deptno,结果类似于下面的格式
employees Emp# manager Mgr#
where salary=(select max(salary) from employee_lg==========================================================
(24)那个部门的平均工资是最高的,列出部门号,平均工资
from employee_lgm;
==============================================================
(6)列出每个员工的名字,工资,涨薪后工资(涨幅为8%),单位为元
select ename ,salary ,salary*(1.08) from employee_lgm;
==============================================================
(22)所在部门平均工资高于1500的员工的名字
select ename from employee_lgm e
where 7000<(select avg(salary) from employee_lgm
where ename='liucs');
==============================================================
(19)显示Operations部门有哪些职位
select distinct e.job from employee_lgm e
select empno ,ename from employee_lgm
where ename like '%n%';
==============================================================
(17)查询部门的loc为newYork的部门工作人员和姓名ename,部门名称