初学者oracle实用资料
- 格式:doc
- 大小:58.00 KB
- 文档页数:9
oracle培训材料数据库管理系统是计算机科学领域中的一个重要概念,它被广泛应用于各种企业和组织的信息管理中。
Oracle作为世界领先的关系数据库管理系统(RDBMS),在企业级应用中扮演着至关重要的角色。
为了帮助学习者更好地掌握Oracle技术,本文将提供一份详细的Oracle培训材料。
第一部分:Oracle简介Oracle作为一种关系型数据库管理系统,为企业级应用提供了稳定、安全、高效的数据存储和处理能力。
它具备许多强大的功能,如事务控制、数据完整性、数据安全性和多用户支持等。
Oracle还提供了丰富的工具和语言来管理和操作数据库,如SQL语言、PL/SQL语言以及Oracle企业管理界面等。
第二部分:Oracle的安装与配置在使用Oracle之前,我们首先需要进行安装和配置。
以下是一些基本步骤:1. 下载Oracle软件包:访问Oracle官方网站,下载与你系统版本相对应的软件包。
2. 安装Oracle软件:解压软件包,并按照安装向导的提示进行安装。
3. 创建数据库实例:使用Oracle提供的工具,创建一个数据库实例,并设置相关参数。
4. 配置监听器:监听器是连接客户端与数据库之间的桥梁,需要进行配置以确保正常通信。
5. 测试连接:使用SQL*Plus等工具,测试数据库连接是否成功。
第三部分:Oracle的基本操作学习Oracle的基本操作是掌握该技术的第一步,以下是一些常用的操作:1. 创建数据库表:使用CREATE TABLE语句来创建数据库表,指定表名和各个列的属性。
2. 插入数据:使用INSERT INTO语句向表中插入数据,可以一次插入多行记录。
3. 查询数据:使用SELECT语句从表中检索数据,可以使用WHERE子句来过滤结果。
4. 更新数据:使用UPDATE语句修改表中的数据,通过WHERE 子句指定要更新的记录。
5. 删除数据:使用DELETE语句删除表中的数据,也可以通过WHERE子句来限制删除的范围。
课程目标:1. 了解数据库系统在项目开发中的地位2. 了解目前主流数据库系统3. 熟练掌握查询命令4. 熟练掌握数据操作方式5. 熟练使用数据库内置函数6. 掌握pl/sql程序设计语法结构7. 掌握视图8. 掌握存储过程9. 掌握用户自定义函数10. 掌握触发器了解:1.数据库组件:1.1 实施应用集群1.2 Oracle OLAP1.3 数据挖掘1.4 应用程序接口1.5 网络组件1.6 SQL Plus1.7 企业管理器OEM2. 几个版本间的差异:2.1 增加了服务器参数文件SPFILE2.2 使用了OMF免去了手工管理数据库文件的繁琐2.3 支持多种数据库块大小2.4 会话可以自动调整PGA的大小2.5 引入了列表分区课程内容:1. 操作数据之前的准备工作:1.1. 要保证有一个数据库:1.2. 要保证创建一个表空间create tablespace hbjrdatafile 'E:\dbs\hbjr.dbf' size 100M;1.3. 要创建一个用户,用户默认的表空间就是你创建的表空间create user hbjridentified by orcldefault tablespace hbjr;//授权限:grant dba to hbjr;1.4. 用户/密码登录:2. 表名/列字段名起名规范:2.1 使用常规字母和数字2.2 长度不要超过302.3 表名/列名不能重复2.4 不能使用oracle的保留字3. 数据类型3.1 char:定长,存储单位--字节(bite)3.2 varchar2:变长,存储单位--字节3.3 nchar:定长,存储单位--字符3.4 nvarchar2:变长,存储单位--字符3.5 date:日期类型,7个字节,存储着--世纪,年,月,日,时,分,秒3.6 timestamp:日期类型,11个字节,存储着--世纪,年,月,日,时,分,秒,毫秒3.7 number:数据类型(数值类型)3.8 clob:大字段类型,适合存储纯文本信息(例如:*.txt 文件)3.9 blob:大字段类型,适合存储二进制文件(例如:图片)3.10 定义数据类型的意义:3.10.1 能够更有效,更直观的描述外部数据信息3.10.2 从程序运行角度来考虑,定义了一种数据类型,实际就是定义了一种存储格式和在此格式上的运算方式,也就是数据结构+算法,通过这种预先定义的机制,计算机可以加快程序运行的速度。
oracle数据库入门教程Oracle数据库入门教程Oracle数据库是当今世界上最受欢迎和广泛使用的关系数据库管理系统之一。
它提供了高度可靠性、可扩展性和安全性,使得它成为许多企业和组织的首选数据库解决方案。
本教程将介绍如何入门使用Oracle数据库,从安装到基本的数据操作和查询。
第一部分:安装和配置Oracle数据库1. 下载和安装Oracle数据库首先,您需要从Oracle官方网站上下载并安装Oracle数据库软件。
根据您的操作系统选择合适的版本,并按照官方安装指南进行操作。
2. 配置Oracle数据库安装完成后,您需要进行一些基本的配置。
这包括设置管理员密码、配置监听器和网络连接,以及创建初始化参数文件。
详细的配置步骤可以在官方文档中找到。
3. 启动和停止Oracle数据库一旦配置完成,您可以使用Oracle提供的工具启动和停止数据库。
通常,您需要先启动监听器,然后启动数据库实例。
同样,停止的顺序也是先停止数据库实例,再停止监听器。
第二部分:Oracle数据库基础知识1. 数据库和实例在Oracle概念中,数据库是物理文件的集合,用于存储数据。
而实例则是数据库的运行环境,包括内存结构和进程。
一个数据库可以对应多个实例,每个实例可以在不同的计算机上运行。
2. 数据表和字段在Oracle数据库中,数据以表的形式组织。
表由列(字段)和行组成,每个列定义了一种数据类型。
您可以使用SQL语句或图形界面工具创建和管理表,为每个字段指定适当的数据类型、长度和约束。
3. 数据类型Oracle数据库支持多种数据类型,包括数值、字符、日期、布尔、LOB(二进制大对象)等。
了解每种数据类型的特性和用法对于有效存储和检索数据至关重要。
第三部分:Oracle SQLSQL是结构化查询语言(Structured Query Language)的缩写,是Oracle数据库的标准查询语言。
它允许用户执行各种操作,如插入、更新和删除数据,以及查询和排序数据。
oracle数据库菜鸟教程Oracle数据库是一种关系型数据库管理系统,被广泛应用于企业级数据管理和处理领域。
对于初学者而言,了解Oracle数据库以及如何使用它可能会感到有些困惑。
因此,本文将为初学者提供一个简明扼要的Oracle数据库菜鸟教程,旨在帮助他们快速入门。
第一部分:Oracle数据库概述首先,让我们来了解一下Oracle数据库的基本概念。
Oracle数据库是一种关系数据库管理系统(RDBMS),它基于集中式数据模型,其中数据存储在多个表中,并通过关系连接进行检索和操作。
Oracle数据库具有高度的可扩展性、可靠性和安全性,并可适用于各种规模的应用程序。
Oracle数据库使用结构化查询语言(SQL)作为其主要查询和操纵语言。
SQL是一种标准化的语言,用于在关系数据库中完成各种操作,包括数据检索、插入、更新和删除。
Oracle数据库还提供了一个图形用户界面(GUI)工具,称为Oracle SQL开发人员。
该工具可用于编写、执行SQL语句以及管理数据库对象,如表、视图、索引等。
第二部分:Oracle数据库安装和配置在使用Oracle数据库之前,首先需要安装和配置它。
下面是一些简单的步骤,可以帮助您完成这个过程:1. 下载Oracle数据库软件:您可以从Oracle官方网站上下载适合您操作系统的Oracle数据库软件。
2. 安装Oracle数据库软件:打开下载的软件包,并按照向导中的说明进行安装。
在安装过程中,您需要选择一些配置选项,如数据库实例名称、监听器端口等。
3. 创建Oracle数据库实例:在安装完成后,您需要创建一个数据库实例来存储和管理您的数据。
通过运行配置助手或使用命令行实用程序可以进行此操作。
4. 配置网络连接:如果您希望从远程计算机连接到Oracle数据库,需要配置网络连接设置。
这包括设置监听器以侦听来自客户端的连接请求。
5. 测试连接:最后,您可以使用Oracle SQL开发人员或其他SQL客户端工具来测试您的数据库连接是否正常工作。
1 概述1.1如何学习Oracle1、第一阶段:计算机基础(了解原理);2、第二阶段:学习一门编程语言(java或者C,C++);3、第三阶段:学习oracle数据库/别的数据库;1.2Oracle内容介绍基础部分:oracle基本使用、oracle用户管理、oracle表管理。
高级部分:oracle表的查询、oracle的函数、oracle数据库管理、oracle的权限、角色、Pl/sql编程、索引、约束和事物。
推荐的Oracle书籍:《Oracle实例教程》、《深入浅出Oracle》。
1.3Oracle安装事项1、Oracle安装会自动生成scott用户、sys用户和system用户,密码分别是tiger、change_on_install、manager。
Sys用户是超级用户、具有最高权限、具有sysdba角色,有create database的权限;sysytem用户是管理操作员,权限也很大,没有create database权限,没有create database 的权限;一般讲,对数据库的维护,使用system用户登录就可以。
2、系统标示符又称(sid)。
3、数据库的启动需要启动的服务:oracle监听、oracle实例。
4、Oracle管理工具的介绍,1)、在开始->程序->oracle orachome90->application devlopment ->sql*plus2)、在运行栏中输入:sqlplusw即可3)、在开始->程序->oracle orahome90->application development->sql*plus worksheet4)、pl/sql devlopment 工具。
1.4数据库的分类1、小型数据库:access、foxbase;对安全性要求不高。
2、中型数据库:mysql、sql server、infomax;3、大型数据库:sybase<oracle<db2。
第一章:日志管理1.forcing log switchessql> alter system switch logfile;2.forcing checkpointssql> alter system checkpoint;3.adding online redo log groupssql> alter database add logfile [group 4]sql> ('/disk3/log4a.rdo','/disk4/log4b.rdo') size 1m;4.adding online redo log memberssql> alter database add logfile membersql> '/disk3/log1b.rdo' to group 1,sql> '/disk4/log2b.rdo' to group 2;5.changes the name of the online redo logfilesql> alter database rename file 'c:/oracle/oradata/oradb/redo01.log'sql> to 'c:/oracle/oradata/redo01.log';6.drop online redo log groupssql> alter database drop logfile group 3;7.drop online redo log memberssql> alter database drop logfile member 'c:/oracle/oradata/redo01.log';8.clearing online redo log filessql> alter database clear [unarchived] logfile 'c:/oracle/log2a.rdo';ing logminer analyzing redo logfilesa. in the init.ora specify utl_file_dir = ' 'b. sql> execute dbms_logmnr_d.build('oradb.ora','c:\oracle\oradb\log');c. sql> execute dbms_logmnr_add_logfile('c:\oracle\oradata\oradb\redo01.log',sql> dbms_logmnr.new);d. sql> execute dbms_logmnr.add_logfile('c:\oracle\oradata\oradb\redo02.log',sql> dbms_logmnr.addfile);e. sql> execute dbms_logmnr.start_logmnr(dictfilename=>'c:\oracle\oradb\log\oradb.ora');f. sql> select * from v$logmnr_contents(v$logmnr_dictionary,v$logmnr_parameters sql> v$logmnr_logs);g. sql> execute dbms_logmnr.end_logmnr;第二章:表空间管理1.create tablespacessql> create tablespace tablespace_name datafile 'c:\oracle\oradata\file1.dbf' size 100m, sql> 'c:\oracle\oradata\file2.dbf' size 100m minimum extent 550k [logging/nologging] sql> default storage (initial 500k next 500k maxextents 500 pctinccease 0)sql> [online/offline] [permanent/temporary] [extent_management_clause]2.locally managed tablespacesql> create tablespace user_data datafile 'c:\oracle\oradata\user_data01.dbf'sql> size 500m extent management local uniform size 10m;3.temporary tablespacesql> create temporary tablespace temp tempfile 'c:\oracle\oradata\temp01.dbf'sql> size 500m extent management local uniform size 10m;4.change the storage settingsql> alter tablespace app_data minimum extent 2m;sql> alter tablespace app_data default storage(initial 2m next 2m maxextents 999);5.taking tablespace offline or onlinesql> alter tablespace app_data offline;sql> alter tablespace app_data online;6.read_only tablespacesql> alter tablespace app_data read only|write;7.droping tablespacesql> drop tablespace app_data including contents;8.enableing automatic extension of data filessql> alter tablespace app_data add datafile 'c:\oracle\oradata\app_data01.dbf' size 200m sql> autoextend on next 10m maxsize 500m;9.change the size fo data files manuallysql> alter database datafile 'c:\oracle\oradata\app_data.dbf' resize 200m;10.Moving data files: alter tablespacesql> alter tablespace app_data rename datafile 'c:\oracle\oradata\app_data.dbf'sql> to 'c:\oracle\app_data.dbf';11.moving data files:alter databasesql> alter database rename file 'c:\oracle\oradata\app_data.dbf'sql> to 'c:\oracle\app_data.dbf';第三章:表1.create a tablesql> create table table_name (column datatype,column datatype]....)sql> tablespace tablespace_name [pctfree integer] [pctused integer]sql> [initrans integer] [maxtrans integer]sql> storage(initial 200k next 200k pctincrease 0 maxextents 50)sql> [logging|nologging] [cache|nocache]2.copy an existing tablesql> create table table_name [logging|nologging] as subquery3.create temporary tablesql> create global temporary table xay_temp as select * from xay;on commit preserve rows/on commit delete rows4.pctfree = (average row size - initial row size) *100 /average row sizepctused = 100-pctfree- (average row size*100/available data space)5.change storage and block utilization parametersql> alter table table_name pctfree=30 pctused=50 storage(next 500ksql> minextents 2 maxextents 100);6.manually allocating extentssql> alter table table_name allocate extent(size 500k datafile 'c:/oracle/data.dbf');7.move tablespacesql> alter table employee move tablespace users;8.deallocate of unused spacesql> alter table table_name deallocate unused [keep integer]9.truncate a tablesql> truncate table table_name;10.drop a tablesql> drop table table_name [cascade constraints];11.drop a columnsql> alter table table_name drop column comments cascade constraints checkpoint 1000;alter table table_name drop columns continue;12.mark a column as unusedsql> alter table table_name set unused column comments cascade constraints;alter table table_name drop unused columns checkpoint 1000;alter table orders drop columns continue checkpoint 1000data_dictionary : dba_unused_col_tabs第四章:索引1.creating function-based indexessql> create index summit.item_quantity on summit.item(quantity-quantity_shipped);2.create a B-tree indexsql> create [unique] index index_name on table_name(column,.. asc/desc) tablespacesql> tablespace_name [pctfree integer] [initrans integer] [maxtrans integer]sql> [logging | nologging] [nosort] storage(initial 200k next 200k pctincrease 0sql> maxextents 50);3.pctfree(index)=(maximum number of rows-initial number of rows)*100/maximum number of rows4.creating reverse key indexessql> create unique index xay_id on xay(a) reverse pctfree 30 storage(initial 200ksql> next 200k pctincrease 0 maxextents 50) tablespace indx;5.create bitmap indexsql> create bitmap index xay_id on xay(a) pctfree 30 storage( initial 200k next 200ksql> pctincrease 0 maxextents 50) tablespace indx;6.change storage parameter of indexsql> alter index xay_id storage (next 400k maxextents 100);7.allocating index spacesql> alter index xay_id allocate extent(size 200k datafile 'c:/oracle/index.dbf');8.alter index xay_id deallocate unused;第五章:约束1.define constraints as immediate or deferredsql> alter session set constraint[s] = immediate/deferred/default;set constraint[s] constraint_name/all immediate/deferred;2. sql> drop table table_name cascade constraintssql> drop tablespace tablespace_name including contents cascade constraints3. define constraints while create a tablesql> create table xay(id number(7) constraint xay_id primary key deferrablesql> using index storage(initial 100k next 100k) tablespace indx);primary key/unique/references table(column)/check4.enable constraintssql> alter table xay enable novalidate constraint xay_id;5.enable constraintssql> alter table xay enable validate constraint xay_id;第六章:LOAD数据1.loading data using direct_load insertsql> insert /*+append */ into emp nologgingsql> select * from emp_old;2.parallel direct-load insertsql> alter session enable parallel dml;sql> insert /*+parallel(emp,2) */ into emp nologgingsql> select * from emp_old;ing sql*loadersql> sqlldr scott/tiger \sql> control = ulcase6.ctl \sql> log = ulcase6.log direct=true第七章:reorganizing dataing expoty$exp scott/tiger tables(dept,emp) file=c:\emp.dmp log=exp.log compress=n direct=y ing import$imp scott/tiger tables(dept,emp) file=emp.dmp log=imp.log ignore=y3.transporting a tablespacesql>alter tablespace sales_ts read only;$exp sys/.. file=xay.dmp transport_tablespace=y tablespace=sales_tstriggers=n constraints=n$copy datafile$imp sys/.. file=xay.dmp transport_tablespace=y datafiles=(/disk1/sles01.dbf,/disk2 /sles02.dbf)sql> alter tablespace sales_ts read write;4.checking transport setsql> DBMS_tts.transport_set_check(ts_list =>'sales_ts' ..,incl_constraints=>true); 在表transport_set_violations 中查看sql> dbms_tts.isselfcontained 为true 是,表示自包含第八章:managing password security and resources1.controlling account lock and passwordsql> alter user juncky identified by oracle account unlock;er_provided password functionsql> function_name(userid in varchar2(30),password in varchar2(30),old_password in varchar2(30)) return boolean3.create a profile : password settingsql> create profile grace_5 limit failed_login_attempts 3sql> password_lock_time unlimited password_life_time 30sql>password_reuse_time 30 password_verify_function verify_functionsql> password_grace_time 5;4.altering a profilesql> alter profile default failed_login_attempts 3sql> password_life_time 60 password_grace_time 10;5.drop a profilesql> drop profile grace_5 [cascade];6.create a profile : resource limitsql> create profile developer_prof limit sessions_per_user 2sql> cpu_per_session 10000 idle_time 60 connect_time 480;7. view => resource_cost : alter resource costdba_Users,dba_profiles8. enable resource limitssql> alter system set resource_limit=true;第九章:Managing users1.create a user: database authenticationsql> create user juncky identified by oracle default tablespace userssql> temporary tablespace temp quota 10m on data password expiresql> [account lock|unlock] [profile profilename|default];2.change user quota on tablespacesql> alter user juncky quota 0 on users;3.drop a usersql> drop user juncky [cascade];4. monitor userview: dba_users , dba_ts_quotas第十章:managing privileges1.system privileges: view => system_privilege_map ,dba_sys_privs,session_privs2.grant system privilegesql> grant create session,create table to managers;sql> grant create session to scott with admin option;with admin option can grant or revoke privilege from any user or role;3.sysdba and sysoper privileges:sysoper: startup,shutdown,alter database open|mount,alter database backup controlfile,alter tablespace begin/end backup,recover databasealter database archivelog,restricted sessionsysdba: sysoper privileges with admin option,create database,recover database until4.password file members: view:=> v$pwfile_users5.O7_dictionary_accessibility =true restriction access to view or tables in other schema6.revoke system privilegesql> revoke create table from karen;sql> revoke create session from scott;7.grant object privilegesql> grant execute on dbms_pipe to public;sql> grant update(first_name,salary) on employee to karen with grant option;8.display object privilege : view => dba_tab_privs, dba_col_privs9.revoke object privilegesql> revoke execute on dbms_pipe from scott [cascade constraints];10.audit record view :=> sys.aud$11. protecting the audit trailsql> audit delete on sys.aud$ by access;12.statement auditingsql> audit user;13.privilege auditingsql> audit select any table by summit by access;14.schema object auditingsql> audit lock on summit.employee by access whenever successful;15.view audit option : view=> all_def_audit_opts,dba_stmt_audit_opts,dba_priv_audit_opts,dba_obj_audit_opts16.view audit result: view=> dba_audit_trail,dba_audit_exists,dba_audit_object,dba_audit_session,dba_audit_statement第十一章:manager role1.create rolessql> create role sales_clerk;sql> create role hr_clerk identified by bonus;sql> create role hr_manager identified externally;2.modify rolesql> alter role sales_clerk identified by commission;sql> alter role hr_clerk identified externally;sql> alter role hr_manager not identified;3.assigning rolessql> grant sales_clerk to scott;sql> grant hr_clerk to hr_manager;sql> grant hr_manager to scott with admin option;4.establish default rolesql> alter user scott default role hr_clerk,sales_clerk;sql> alter user scott default role all;sql> alter user scott default role all except hr_clerk;sql> alter user scott default role none;5.enable and disable rolessql> set role hr_clerk;sql> set role sales_clerk identified by commission;sql> set role all except sales_clerk;sql> set role none;6.remove role from usersql> revoke sales_clerk from scott;sql> revoke hr_manager from public;7.remove rolesql> drop role hr_manager;8.display role informationview:=>dba_roles,dba_role_privs,role_role_privs,dba_sys_privs,role_sys_privs,role_tab_privs,session_ roles第十二章: BACKUP and RECOVERY1. v$sga,v$instance,v$process,v$bgprocess,v$database,v$datafile,v$sgastat2. Rman need set dbwr_IO_slaves or backup_tape_IO_slaves and large_pool_size3. Monitoring Parallel Rollback> v$fast_start_servers , v$fast_start_transactions4.perform a closed database backup (noarchivelog)> shutdown immediate> cp files /backup/> startup5.restore to a different location> connect system/manager as sysdba> startup mount> alter database rename file '/disk1/../user.dbf' to '/disk2/../user.dbf';> alter database open;6.recover syntax--recover a mounted database>recover database;>recover datafile '/disk1/data/df2.dbf';>alter database recover database;--recover an opened database>recover tablespace user_data;>recover datafile 2;>alter database recover datafile 2;7.how to apply redo log files automatically>set autorecovery on>recover automatic datafile 4;plete recovery:--method 1(mounted databae)>copy c:\backup\user.dbf c:\oradata\user.dbf>startup mount>recover datafile 'c:\oradata\user.dbf;>alter database open;--method 2(opened database,initially opened,not system or rollback datafile) >copy c:\backup\user.dbf c:\oradata\user.dbf (alter tablespace offline)>recover datafile 'c:\oradata\user.dbf' or>recover tablespace user_data;>alter database datafile 'c:\oradata\user.dbf' online or>alter tablespace user_data online;--method 3(opened database,initially closed not system or rollback datafile) >startup mount>alter database datafile 'c:\oradata\user.dbf' offline;>alter database open>copy c:\backup\user.dbf d:\oradata\user.dbf>alter database rename file 'c:\oradata\user.dbf' to 'd:\oradata\user.dbf'>recover datafile 'e:\oradata\user.dbf' or recover tablespace user_data;>alter tablespace user_data online;--method 4(loss of data file with no backup and have all archive log)>alter tablespace user_data offline immediate;>alter database create datafile 'd:\oradata\user.dbf' as 'c:\oradata\user.dbf''>recover tablespace user_data;>alter tablespace user_data online5.perform an open database backup> alter tablespace user_data begin backup;> copy files /backup/> alter database datafile '/c:/../data.dbf' end backup;> alter system switch logfile;6.backup a control file> alter database backup controlfile to 'control1.bkp';> alter database backup controlfile to trace;7.recovery (noarchivelog mode)> shutdown abort> cp files> startup8.recovery of file in backup mode>alter database datafile 2 end backup;9.clearing redo log file>alter database clear unarchived logfile group 1;>alter database clear unarchived logfile group 1 unrecoverable datafile;10.redo log recovery>alter database add logfile group 3 'c:\oradata\redo03.log' size 1000k;>alter database drop logfile group 1;>alter database open;or >cp c:\oradata\redo02.log' c:\oradata\redo01.log>alter database clear logfile 'c:\oradata\log01.log';本文来自: IXPUB技术社区() 详细出处参考:/thread-873230-1-1.html。