版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle_第一讲软件的安装软件的卸载下载软件/
甲骨文官方网站注册账户登录在DatabaseDownloads页面,根据需求下载Oracle11G的安装注意事项1、确保安装盘有4G的硬盘空间,建议安装C盘以外的盘,修改默认安装文件夹时只修改盘符,不要修改其他,安装文件夹不要有中文名2、确保操作系统的登录用户为英文的系统管理员,不要是中文用户名3、安装以后请不要删除和修改当前使用的windows用户第一步运行安装程序Setup.exe,系统将启动OracleUniversalInstaller,配置安全更新提醒可以忽略下一步。安装选项选择【创建和配置数据库】第二步:系统类选择学习阶段选择【桌面类】第三步:基目录建议在非系统盘,全局数据库名请具体化,后续会用到密码口令建议:大写、小写、数字等共8位以上第四步:条件检查有个别错误请点击右上角的忽略开始安装安装成功安装成功以后的服务清单Oracle11G的卸载网上很多介绍卸载oracle11g的文章卸载过程太复杂,也不是真正意义上的完全卸载,其实卸载oracle11g没那么负载,11g自带有卸载工具,一步就可以完全卸载在根目录下运行:……(安装主目录)\product\11.2.0\dbhome_1\deinstall\deinstall.bat,并按提示敲几个回车即可重启系统,将安装盘下的oracle目录delete,以及将C盘下的programfiles里面的oracle目录也deleteOracle10G的安装注意事项1、确保安装盘有3G的硬盘空间,建议安装C盘以外的盘,修改默认安装文件夹时只修改盘符,不要修改其他,安装文件夹不要有中文名2、确保操作系统的登录用户为英文的系统管理员,不要是中文用户名3、安装以后请不要删除和修改当前使用的windows用户运行安装程序Setup.exe,系统将启动OracleUniversalInstaller,然后进行先决条件检查。Oracle10g安装主目录,建议只修改盘符,否则安装完以后需要设置主目录安装数据库名称设置系统用户的密码,用于四个常用的用户,单独设置密码需要登陆数据库以后设置Oracle10g安装Oracle10G的安全卸载:1.停止所有与ORACLE相关的服务。“控制面板”->“管理工具”->“计算机管理”->“服务和应用程序”->“服务”,找到所有与ORACLE有关的服务,停掉。
2.使用OUI(OracleUniversalInstaller)卸载Oracle软件。“开始”->“程序”->“Oracle-OraDb110g_home1|Oracleinstallationproduct|Universalinstaller.3.删除注册表内容。运行regedit命令,删除下面内容:a.HKEY_CLASSES_ROOT,删除此键下所有以Ora,Oracle,Orcl,EnumOra为前缀的键;b.LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,删除以Oracle或OraWeb为前缀的键;/****//c.HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE注册表键,删除此键;4、重启操作系统4.在文件系统内删除ORACLE相关的文件及目录:在C盘的\ProgrmFiles下删除Oracle有关的目录;安装路径下的oracle目录。卸载(请严格照此卸载软件)了解oracle安装与卸载oracle本讲小结第二讲:配置Oracle10G环境常用工具:企业管理中心,SQL*Plus,登陆连接数据库的各种方法网络服务配置:远程访问数据库配置监听器企业管理中心启动OracleDBConsoleorcl服务在浏览器地址栏输入:http://localhost:1158/em/以sys用户的sysdba身份登陆可以进行数据库的管理操作初始数据库用户SysSystem创建自己的用户SQL*PLUSOracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。
我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sqlbuffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sqlbuffer中的sql语句进行修改,然后再次执行.SQL*Plus1、oracle程序菜单中启动2、开始--运行:cmdsqlplus/nolog启动了SQLPLUS以后登录数据库的方法Connect用户名/密码@服务名例1:以用户system登录
connectsystem/password@orcl例2:以用户sys登录,必须指明DBA权限
Connsys/password@orclassysdba
登录数据库的方法(一)登录数据库的方法在启动SQLPLUS的同时登陆数据库Sqlplus用户名/密码@服务名例1:以用户system登录
sqlplussystem/password@orcl
例2:指定登录的身份:以用户sys登录,必须指明权限
sqlplussys/password@orclassysdba常用操作修改用户密码:更改当前用户密码:passwordAlteruserusernameidentifiedbynewpassword;给用户解锁Alteruserusernameaccountunlock;以超级管理员身份登录:windows用户必须为安装oracle的系统管理员Conn/assysdba如果忘记密码,以超级管理员登录数据库,用以上语句改回密码Show命令
1).显示当前环境变量的值:Showall
2).显示当前在创建函数、存储过程、触发器、包等对象的错误信息:Showerror
3).显示初始化参数的值:
showPARAMETERS[parameter_name]
4).显示数据库的版本:showREL[EASE]
5).显示SGA的大小:showSGA
6).显示当前的用户名:showuser显示sql*plus命令的帮助:HELP如何安装帮助文件:Sql>@oracle\product\10.2.0\db_1\sqlplus\admin\help\hlpbld.sqloracle\product\10.2.0\db_1\sqlplus\admin\help\helpus.sqlSql>helpindex
sql命令后加分号;回车运行显示缓冲区的SQL命令用SQL>L
修改当前行命令:C/old_value/new_value在当前行后加文本:A文本重新运行上一次运行的sql语句SQL>/显示表结构:desctable_name
1.执行一个SQL脚本文件
SQL>startfile_name
SQL>@file_name
2.对当前的输入进行编辑:SQL>edit
3.重新运行上一次运行的sql语句SQL>/
4.将显示的内容输出到指定文件
SQL>SPOOLfile_name 5.退出:exit网络服务配置登陆连接远程服务器需要对网络进行配置利用网络服务配置向导配置利用网络管理器进行配置启动网络服务配置向导点击【添加】要连接的数据库名称要连接的数据库名称服务器名/IP配置的网络服务的别名请继续点击一直到最后【完成】网络服务配置实训练习同学之间互相设置本地网络服务登录对方服务器数据库试图修改对方用户密码或者锁用户试图改回用户密码或者解锁通过以上实训,掌握网络服务配置,熟悉oracle数据库登录方式,数据库用户密码的修改和用户解锁的方法监听器的配置点击【添加】请继续点击一直到最后【完成】小结SQL*PLUS的基本使用常用操作命令网络服务配置监听器的配置实训任务(一)1.在Windows服务器上安装Oracle11g服务器软件。2.在数据库服务器端配置监听器。3.在Windows客户端上安装Oracle11g客户端软件。4.在客户端配置到服务器端的连接。第二讲:配置Oracle10G环境常用工具:企业管理中心,SQL*Plus,登陆连接数据库的各种方法网络服务配置:远程访问数据库配置监听器企业管理中心启动OracleDBConsoleorcl服务在浏览器地址栏输入:http://localhost:1158/em/以sys用户的sysdba身份登陆可以进行数据库的管理操作初始数据库用户SysSystem创建自己的用户SQL*PLUSOracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。
我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sqlbuffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sqlbuffer中的sql语句进行修改,然后再次执行.SQL*Plus1、oracle程序菜单中启动2、开始--运行:cmdsqlplus/nolog启动了SQLPLUS以后登录数据库的方法Connect用户名/密码@服务名例1:以用户system登录
connectsystem/password@orcl例2:以用户sys登录,必须指明DBA权限
Connsys/password@orclassysdba
登录数据库的方法(一)登录数据库的方法在启动SQLPLUS的同时登陆数据库Sqlplus用户名/密码@服务名例1:以用户system登录
sqlplussystem/password@orcl
例2:指定登录的身份:以用户sys登录,必须指明权限
sqlplussys/password@orclassysdba常用操作修改用户密码:更改当前用户密码:passwordAlteruserusernameidentifiedbynewpassword;给用户解锁Alteruserusernameaccountunlock;以超级管理员身份登录:windows用户必须为安装oracle的系统管理员Conn/assysdba如果忘记密码,以超级管理员登录数据库,用以上语句改回密码Show命令
1).显示当前环境变量的值:Showall
2).显示当前在创建函数、存储过程、触发器、包等对象的错误信息:Showerror
3).显示初始化参数的值:
showPARAMETERS[parameter_name]
4).显示数据库的版本:showREL[EASE]
5).显示SGA的大小:showSGA
6).显示当前的用户名:showuser显示sql*plus命令的帮助:HELP如何安装帮助文件:Sql>@oracle\product\10.2.0\db_1\sqlplus\admin\help\hlpbld.sqloracle\product\10.2.0\db_1\sqlplus\admin\help\helpus.sqlSql>helpindex
sql命令后加分号;回车运行显示缓冲区的SQL命令用SQL>L
修改当前行命令:C/old_value/new_value在当前行后加文本:A文本重新运行上一次运行的sql语句SQL>/显示表结构:desctable_name
1.执行一个SQL脚本文件
SQL>startfile_name
SQL>@file_name
2.对当前的输入进行编辑:SQL>edit
3.重新运行上一次运行的sql语句SQL>/
4.将显示的内容输出到指定文件
SQL>SPOOLfile_name 5.退出:exit网络服务配置登陆连接远程服务器需要对网络进行配置利用网络服务配置向导配置利用网络管理器进行配置启动网络服务配置向导点击【添加】要连接的数据库名称要连接的数据库名称服务器名/IP配置的网络服务的别名请继续点击一直到最后【完成】网络服务配置实训练习同学之间互相设置本地网络服务登录对方服务器数据库试图修改对方用户密码或者锁用户试图改回用户密码或者解锁通过以上实训,掌握网络服务配置,熟悉oracle数据库登录方式,数据库用户密码的修改和用户解锁的方法监听器的配置点击【添加】请继续点击一直到最后【完成】小结SQL*PLUS的基本使用常用操作命令网络服务配置监听器的配置实训任务(一)1.在Windows服务器上安装Oracle11g服务器软件。2.在数据库服务器端配置监听器。3.在Windows客户端上安装Oracle11g客户端软件。4.在客户端配置到服务器端的连接。1、Oracle体系结构概述2、Oracle服务器实例与数据库的概念3、数据库的物理、逻辑结构4、管理数据库5、管理表空间Oracle数据库的体系结构用户进程服务器进程PGA实例SGA重做日志缓冲区共享池数据字典高速缓冲区高速缓冲区DBWRSMONPMONCKPTLGWROthers数据库高速缓冲区Java存储区大型存储区密码文件控制文件数据文件Database日志文件参数文件
归档日志文件建立一个连接和创建一个会话连接到一个Oracle的实例: 建立一个用户连接 创建一个会话数据库用户User
processOracleserver创建会话Server
process建立连接Oracle服务器一个Oracle服务器是一个开放的,全面综合的数据库管理系统由一个Oracle实例和一个Oracle数据库组成OracleserverOracle服务器实例是一种访问Oracle数据库的方法一个实例只能用于访问一个数据库由内存和后台进程组成实例由SID标识,默认名称为创建数据库时的全局数据库名实例SGA重做日志缓存区共享池数据字典高速缓存库高速缓存DBWRSMONPMONCKPTLGWROthers数据库
高速缓存Java存储区l大型存储区进程监控系统监控数据库写入日志写入检查点内存结构后台进程结构内存结构ORACLE在内存存储下列信息:解析后的SQL或PL/SQL的程序代码所有连接用户的会话信息程序执行期间所需数据和共享的信息存储在外存储上的缓冲信息:如用户查询和修改后的数据块以及重做记录。内存结构Oracle的内存结构主要组成:系统全局区SGA(SystemGlobalArea)程序全局区PGA(ProgramGlobalArea)系统全局区SGA
一组由ORACLE分配的共享的内存结构数据库缓冲存储区(DataBaseBufferCache)共享池(sharedPool)重做日志缓冲区(RedoLogBuffer)Java存储区(JavaPool)大型存储区(LargePool)服务器进程和后台进程服务器进程:
用于处理连接到该实例的用户进程的请求。后台进程:后台进程是Oracle的程序,用来管理数据库的读写,恢复和监视等工作的附加进程。使性能最好和协调多个用户。专用进程实例和多进程实例专用进程实例:一个服务器进程对应一个用户进程。多进程实例:一个服务器进程对应多个用户进程,轮流为用户进程服务。Oracle数据库存储结构Oracle数据库存储结构数据库物理存储结构数据文件控制文件日志文件归档日志文件数据库的物理结构物理结构:操作系统文件的集合,包括:数据文件DataFiles控制文件ControlFiles重做日志文件RedoLogFiles归档日志文件ArchiveLogFiles参数文件ParameterFiles密码文件CodeFiles其他日志文件都不能直接删除文件,如要删除,先要删除与数据库的关联数据文件DataFiles功能:存储数据库数据文件名:*.dbf特点:一个表空间由一个或多个数据文件组成一个数据文件不能与一个以上的表空间相关联二进制文件查询数据文件
selectfile#,namefromv$datafile控制文件controlFiles功能:存储数据库的物理结构文件名:*.ctl特点:二进制文件只能属于一个数据库selectnamefromv$controlfile控制文件controlFiles内容包括:所属数据库名数据库生成时间数据文件的名称、位置、状态(在线/离线)重做日志文件的名称和路径表空间的名称。。。。。。。控制文件controlFiles控制文件数量:建议最少有两个控制文件控制文件最大数目:8重做日志文件redologfiles功能:记录数据库的所有变更文件名:redo*.log特点:每个数据库有自己的在线重做日志组至少有两个重做日志文件组日志转换LogSwitchselectnamefromv$controlfile归档日志文件ArchivelogFiles定义是重做日志文件的拷贝,也叫离线日志文件。功能主要用作数据库的恢复文件名*.log日志文件工作示意图:配置管理数据库可以使用DBCA来配置数据库可以用SQL命令创建数据库,由于命令操作较为复杂,作为可选自学内容注意:尽量不要为自己的系统配置多个
数据库创建数据库准备创建数据库准备工作决定全局数据库名(eg.study)备份已有的数据库检查系统的资源(物理内存与硬盘空间)DBCA方式创建、删除、修改数据库的图形工具10G选择模板创建数据库DBCA方式创建、删除、修改数据库的图形工具11G选择模板创建数据库可以创建、修改和删除数据库数据库类型:事务处理数据仓库给数据库取名(不能重复)账户密码设置,请仔细看提示框要求初学者可以按照下一步继续操作到此界面,如果已有数据库,可以不必再创建Oracle数据库逻辑存储结构表空间与数据文件对应selectfile_name,tablespace_namefromdba_data_filesorderbytablespace_nameselectb.file_name物理文件名,b.tablespace_name表空间,b.bytes/1024/1024大小M,(b.bytes-sum(nvl(a.bytes,0)))/1024/1024已使用M,substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5)利用率fromdba_free_spacea,dba_data_filesbwherea.file_id=b.file_idgroupbyb.tablespace_name,b.file_name,b.bytesorderbyb.tablespace_name表空间与数据文件对应数据库存储结构逻辑结构:表空间、表等表空间数据文件数据文件。。。。表索引表索引表表空间的大小是包含的数据文件的大小,数据库的大小是包含的表空间的大小扩大数据库在表空间中增加数据文件表空间1数据文件数据文件。。。。表索引表索引表数据库数据文件ALTERTABLESPACESYSTEMADDDATAFILE‘FILENAME.DBF’;扩大数据库增加数据文件大小表空间1数据文件数据文件。。。。表索引表索引表数据库ALTERDATABASEDATAFILE‘FILENAME.DBF’AUTOEXTENDONNEXT20MMAXSIZE1000M;扩大数据库增加表空间表空间1数据文件数据文件。。。。表索引表索引表表空间2数据文件数据文件。。。。表索引表索引表数据库CREATETABLESPACEUSERSDATAFILE‘FILENAME.DBF’;管理表空间新建表空间:createtablespacetpnamedatafile‘*.dbf’sizeXXXAUTOEXTENDONNEXTXXXMAXSIZEXXX删除表空间:droptablespacetpnameincludingcontentsanddatafiles只读:altertablespacetpnameREADONLY离线在线:
altertablespacetpnameOFFLINE/ONLINE
调整表空间增加数据文件:ALTERTABLESPACESYSTEMADDDATAFILE‘FILENAME.DBF’;改变数据文件大小: ALTERDATABASEDATAFILE‘*.DBF’AUTOEXTENDONNEXT20MMAXSIZE1000M;实际案例解决:直接删除数据文件或者日志文件后无法进入系统的解决方案?3.4数据库的逻辑结构表明数据库的物理空间如何使用。逻辑结构组成:
表空间、段、扩展区、块。TablespaceDatafileSegmentBlocksExtentSegment表空间
表空间是数据库中的基本逻辑结构,一系列数据文件的集合。
一个数据库可以有多个表空间,
大小为所属表空间大小的总和一个表空间可以有多个数据文件,
大小为所属数据文件大小的总和一个数据文件只能从属于一个表空间自动创建系统表空间表空间的逻辑结构包含数据库对象(eg.Table、Index)对象又由一个或多个段组成基本表空间系统表空间
主要存放数据字典和内部系统表基表
临时表空间用来存放临时数据,如排序操作的临时空间回滚段表空间
当数据库进行更新插入删除等操作的时候,新的数据被更新到原来的数据文件,而旧的数据(BeforeImage)就被放到回滚段中.基本表空间工具表空间保存数据库工具软件的数据对象索引表空间存放索引用户表空间存放用户私有信息实训任务(三)1.根据网上购物系统的需求,创建对应的数据库并验证。2.根据用户数据统计分析结果,使用企业管理中心管理网上购物系统所需表空间。3.使用SQL*PLUS工具,使用SQL语句来管理网上购物系统所需表空间。
用户管理权限管理角色管理概要文件第四讲用户权限管理
用户定义:也叫方案,是一组逻辑对象的所有者。验证方式:数据库验证和操作系统验证表空间和临时表空间:表空间为用户创建数据对象的存储表空间;临时表空间用于创建临时段。空间分配:表空间中,必须要为一个用户指派空间配额,用于存储数据库对象。用户、角色、权限关系用户权限角色UPDATEONJOBSINSERTONJOBSSELECTONJOBSCREATETABLECREATESESSIONHR_CLERKHR_MGRABC
创建用户语法:(简单方式)createusermary--用户名
identifiedbyabc;--密码说明:以上为创建用户的必须语句默认和临时表空间均为system删除用户删除用户:
Dropuserannie;删除拥有对象的用户:
Dropuseranniecascade;
注意:如果要删除用户正在连接数据库,不能将其删除查询用户视图ALL_Users
查看所有用户名、用户ID、用户创建日期视图User_Users视图User_Users
查看当前用户信息权限定义:控制用户在数据库中所能进行的操作授予权限的方法:
1)直接授予用户:
grantcreatesessiontoannie;2)先将权限授予角色,再将角色授予用户:Createroleteach;
grantselectonclasstoteach;
grantteachtoannie;权限(续)权限分类:系统权限和对象权限对象权限(objectsPrivilege):赋予在某一具体数据对象的操作能力
1)9种对象权限:
Select、Update、Delete、Insert、Execute、Index、reference、Alter、Read
2)对象权限传递 权限:WithGrantOption
被授予WithGrantOption对象权限的用户,可将该对象权限授予其他用户权限(续)3)谁有权授予对象权限给其他人?对象的所有者DBA被授予Withgrantoption的用户
4)权限可以授予给谁?其它用户角色
Public系统权限系统权限(systemPrivilege):允许执行一组特定的命令几点补充:连接到数据库需要createsession权限删除其他用户的Table需要dropanytable权限Select、insert、update、delete是对象权限,而Selectany、insert
any、update
any、delete
any是系统权限使用Withadminoption
进行系统权限传递系统权限(续)例子:
grantselectanytoannie;grantselectanytoanniewithadminoption;权限回收授予的对象权限和系统权限可以通过Revoke语句收回例子:
revokeselectanyfromannie;--回收系统权限
revokeselectonclassfromannie;--回收对象权限权限回收(续)注意:一个用户被多用户授予权限后,其中一个用户收回权限,不影响其他用户授予的权限收回Withgrantoption
或Withadminoption,要首先回收相应的权限,再重新授予该权限而不再授予Withgrantoption
或Withadminoption传递权限Withadminoption给其他用后,如果此系统权限被回收,其他用户仍然拥有该系统权限传递权限Withgrantoption给其他用后,如果此对象权限被回收,其他用户该对象权限也被收回权限查询视图USER_SYS_Privs:系统权限视图USER_TAB_Privs:对象权限角色定义:角色是一系列权限的集合功能:简化权限管理创建角色:
Createrole
r_teach为角色授权:
grant
selectonclassto
r_
teach回收角色权限
revoke
selectonclassfrom
r_
teach将角色授予用户
Grant
r_
teach
to
annie角色(续)从用户回收角色
Revokeanniefrom
r_teach将角色授予角色
Grant
r_teach
to
r_stu[withadminoption]从角色回收角色
Revoke
r_teach
fromr_stu删除角色
droprole
r_teach角色(续)数据库预定义角色:Connect(登录执行基本函数)、
Resource(建立用户自己的数据对象)、
DBA(所有系统权限,包括无限的空间限额、给其他用户授予全部权限的能力)
Select_CATALOG_ROLE、Execute_CATALOG_ROLE、
Delete_CATALOG_ROLE、Exp_Full_Database、
IMP_FULL_DataBaseSYSDBA、SYSOPER角色(续)激活/屏蔽角色:设置默认角色的4种方式:
1)AlterUserAnnieDefaultRole
r_Teach
2)AlterUserAnnieDefaultRole
All
3)AlterUserAnnieDefaultRole
AllExceptRoler_Stu4)AlterUserAnnieDefaultRole
None
角色(续)查询角色信息视图DBA_Roles:角色信息视图Role_role_privs:角色与传递权限信息视图Role_SYS_privs:角色系统权限视图Role_tab_privs:角色对象权限角色(续)删除角色
DropRole
r_teach
概要文件(续)功能:控制用户对系统和数据库资源的使用,保证系统正常运行,防止用户消耗大量资源造成的系统性能下降。方法:设置预定义资源参数。这些参数包含在概要文件中,如果没有为用户指定概要文件,则使用Default概要文件
概要文件(续)概要文件控制资源内容:每个用户当前的会话数CPU使用的时间私有的SQL和PL/SQL区使用逻辑读取的实现用户连接到数据库的空闲时间注意:resource_limit=TRUE时,启动资源限制。
概要文件(续)控制资源参数:
SESSIONS_PER_USER:限制用户当前会话的数量
CPU_PER_SESSION:限制一个会话使用的CPU时间
CPU_PER_CALL
:限制一个SQL语句使用的CPU时间
LOGICAL_READS_PER_SESSION:限制每个会话读取的数据库数据块数,包括从内存和磁盘读取的总和
LOGICAL_READS_PER_CALL:限制SQL语句读取的数据库数据块数,包括从内存和磁盘读取的总和
PRIVATE_SGA
:SGA中私有区域的大小
概要文件(续)CONNECT_TIME
:指定一个会话连接到数据库的最大时间
IDLE_TIMEDEFAULT:指定一个会话可以连续空闲的最长时间,单位:分钟
COMPOSITE_LIMIT:设置用户对系统资源的综合消耗。由:CPU_PER_SESSION、LOGICAL_READS_PER_SESSION、
PRIVATE_SGA、CONNECT_TIME综合决定
概要文件(续)FAILED_LOGIN_ATTEMPTS:
最大错误登录次数
PASSWORD_LOCK_TIME:登录失败后账户被锁天数
PASSWORD_LIFE_TIME:密码有效天数
PASSWORD_GRACE_TIME:用户密码被中止前多少天提醒用户修改密码
PASSWORD_REUSE_TIME:用户修改密码后多少天,用户才可以再次使用原来的密码
PASSWORD_REUSE_MAX:密码被重新使用后,可修改的次数
PASSWORD_VERIFY_FUNCTION:密码复杂度审计函数
概要文件(续)创建概要文件
CREATEPROFILE"TEMPPROFILE"
LIMITCPU_PER_SESSION
1000
CPU_PER_CALL
1000
CONNECT_TIME
30
IDLE_TIME
DEFAULT
SESSIONS_PER_USER
10
LOGICAL_READS_PER_SESSION
1000
LOGICAL_READS_PER_CALL
1000
PRIVATE_SGA
16K
COMPOSITE_LIMIT
1000000
FAILED_LOGIN_ATTEMPTS
3
PASSWORD_LOCK_TIME
5
PASSWORD_GRACE_TIME
60
PASSWORD_LIFE_TIME
30
PASSWORD_REUSE_MAX
DEFAULT
PASSWORD_REUSE_TIME30
PASSWORD_VERIFY_FUNCTIONDEFAULT实训任务(四):在数据库中设置一个专门用于购物系统管理的DBA帐户,负责该项目的数据库系统级管理与维护;2.设置基础数据维护员,负责用户表、供应商表数据的管理,可以查询采购单和订单数据;3.设置采购管理员,负责采购单数据的管理,并同时可以管理和维护供应商表数据;4.设置销售管理员,负责订单数据的管理,可以管理与维护用户表数据,可以查询用户评价表信息;5.设置售后服务员,负责用户评价表的管理,可以管理与维护用户表数据,查询订单数据SQL介绍Oracle数据类型建表第五讲:管理表对象SQL的定义:SQL是关系数据库的标准语言,对关系模型的发展和商用DBMS的研制起着重要的作用。
SQL(StructuredQueryLanguage),即“结构式查询语言”,SQL的发音仍为“sequel”。现在SQL已经成为一个标准。
SQL语言是介乎于关系代数和元组演算之间的一种语言。SQL的组成SQL的组成:核心SQL主要有四个部分:数据定义语言
即SQLDDL(DataDefinitionLanguage),用于定义SQL模式、基本表、视图、索引等结构。
CREATE、ALTER、DROP、REVOKE、GRANT数据操纵语言
即SQLDML(DataManipulationLanguage)。数据操纵分成数据查询和数据更新两类。其中数据更新又分成插入、删除和修改三种操作。
SELECT、INSERT、UPDATE、DELETESQL的组成commit、rollback嵌入式SQL语言的使用规定这一部分内容涉及到SQL语句嵌入在宿主语言程序中的规则。
VC、VB、Delphi、Java等表格的创建与修改
数据库中的数据以表格的方式存储,包含基本表Table
和视图View。视图View是一个特殊的表,在一个或多个基表中选取某些行和列组成视图。用户访问控制shopping_dbaDBA角色的默认为SYSTEM,普通的默认为USERSOracle主要数据类型Character数据类型Number数据类型Date数据类型Raw和LongRaw数据类型LOB数据类型Oracle数据类型
类型
取值范围
描述char(n)n=1to2000字节
定长字符串,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节)
Oracle数据类型varchar2(n)
n=1to4000字节
可变长的字符串,具体定义时指明最大长度n。1)可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号;2)自动调节字段长度3)自动删除数据前后空格;4)可做索引的最大长度3209。Oracle数据类型Number(m,n)
m=1to38
n=-84to127
可变长的数值列,允许0、正值及负值。m是所有有效数字的位数,n是小数点以后的位数。
number(5,2),则这个字段的最大值是999.99number(5,2),在这个字段输入575.316,则真正保存到字段中的数值是575.32Oracle数据类型Date
无
从公元前4712年1月1日到公元4712年12月31日的所有合法日期。按7个字节来保存日期数据,定义中还包括小时、分、秒。缺省格式为DD-MON-YY,如07-11月-00表示2000年11月7日。常用格式:YYYY-MM-DDHH24:MI:SSOracle数据类型Blob
Clob
Nclob
4GB大对象(LOB),用来保存较大的图形文件或带格式的文本文件,如MicrosoftWord文档,以及音频、视频等非文本文件。LOB的类型取决于所使用的字节类型,大对象数据存储在数据库内部。
可以执行读取、存储、写入等特殊操作。表格的创建图形界面创建EM(自学)当前用户下创建简单表格带存储参数的表格创建创建其他用户下的表格从已有表格创建表格
(多用于数据备份)当前用户下创建简单表格CreateTableemp(Emp_idchar(10)primarykey,Emp_namevarchar2(30),Salnumber(5),Telvarchar2(20));表名列名列的数据类型带参数的表格创建CREATETABLEEMP(EMP_IDCHAR(10)primarykey,EMP_NAMEVARCHAR2(30),SALNUMBER(5),TELVARCHAR2(20))
TABLESPACEMYSPACENAME
PCTUSED
10
PCTFREE
10INITRANS1MAXTRANS100STORAGE(INITIAL1048576NEXT1048576PCTINCREASE50MINEXTENTS1MAXEXTENTS512FREELISTS1FREELISTGROUPS1Buffer_poolRecycle);存储参数TABLESPACE:表格所在的表空间
PCTUSED:数据块使用空间参数
PCTFREE:数据块自由空间参数
INITRANS
:同时更新某个数据块的事务处理的数目
MAXTRANS:同时更新某个数据块的事务处理的最大数目存储参数INITIAL:第一扩展区的大小
NEXT:第二扩展区的大小
PCTINCREASE:扩展区递增百分率
MINEXTENTS:指定最小扩展区的数量
MAXEXTENTS:指定最大扩展区的数量
FREELISTS:指定空闲列表组中表数量,默认及最小值为1
存储参数FREELISTGROUPS:指定表格空闲列表组的数量,用于并行服务器
Buffer_pool:指定表格是否存储到数据缓存及存储缓存的具体位置(缓冲池:KEEP、RECYCLE、DEFAULT)创建其他用户下的表格创建用户student1下的表格CreateTablestudent1.emp(Emp_idchar(10),Emp_namevarchar2(30),Salnumber(5),Telvarchar2(20))从已有表格创建表格例1:
createtableemp1asselect*fromemp例2:
createtableemp2(id,name)asselectemp_id,emp_namefromemp
注意:列属性和数据类型不变,列名可变只有数据类型定义和NOTNULL约束条件可以传递到由子查询创建的新表中。这是因为新表可能要用于不同的环境,现有的PK-FK关系可能不适合。约束条件约束条件表格的修改问题:如果想添加一要求非空的列,该怎么操作??表格重命名Renameemptoemp_new说明:将表格emp改为emp_new小结1、SQL概述2、创建表格3、修改表格4、删除表格实训任务(五)1.根据网上购物系统_表结构中的表格设计,创建对应的表格。2.T_USER表中增加备注列,备注最大不超过50字节。3.T_GOODS表中的商品名称长度可能会超出20字节,需要调整为40字节。4.T_PROCURE_ITEMS表中的采购金额数据不需要存储,统计时进行计算。回顾(一)表格的管理创建表修改表删除表
回顾(二)ORACLE常用的字段类型有CHAR
固定长度的字符串VARCHAR2
可变长度的字符串NUMBER(M,N)
数字型M是位数总长度,N是小数的长度DATE
日期类型创建表时要把较小的不为空的字段放在前面,可能为空的字段放在后面创建表时可以用中文的字段名,但最好还是用英文的字段名表格数据如果为大表数据的时候,可以为表创建分区回顾(三)深入了解与掌握droptabletruncatetableDelete三个操作的联系与区别本章主要内容数据更新:分成插入、删除和修改三种操作。Insert,批量insert序列UpdateDelete事务处理数据插入-Insert功能:在表中插入一条新的数据
INSERTINTOtablename[(column[,column...])]VALUES (value1[,value2...])
注意:1、Column缺省默认为所有列
2、如果某列值为空,需设为null数据插入-Insert例1:
insertintot_gtypevalues('T00001','日用百货');例2:insertintot_gtype(gtname,gtid)values('儿童用品','T00002');数据插入-使用函数例子:在t_user表里插入数据
insertintot_uservalues('000002','李宇',
to_date('1989-10-25','yyyy-mm-dd'), 'm','佛山禅城区',);字符串加单引号字符串日期数据要转换格式使用表格定义的默认值:insertintot_main_procure(pmid,pdate,pstate,pmemo)values('P00000000001',default,'1','初始化系统数据');数据插入-使用默认值数据插入-使用序列例子:在t_user表里插入数据insertintot_uservalues('000002','李宇',
to_date('1989-10-25','yyyy-mm-dd'), 'm','佛山禅城区',);编号是否有问题?序列的应用想象一下将30,000名用户姓名输入到数据库中,同时确保每个人的标识号都唯一,这是一件多么枯燥冗长的工作啊!如果在吃完午饭回来后其他人已经录入了一些用户的申请,情况又会怎样?您如何知道该从哪里开始?数据插入-序列序列(SEQUENCE)序列是一数据库对象,利用它可生成唯一的整数。由于它属于可共享对象,所以允许多个用户访问。一般情况下,序列用于创建主键值。序列号的存储和生成与表无关。因此,同一序列可以用于多个表。createsequence序列名 [incrementbyn] [startwithn] [{maxvaluen|nomaxvalue}] [{minvaluen|nominvalue}] [{cycle|nocycle}] [{cachen|nocache}];指定序列号的间隔值,其中n为整数(如果省略该语句,序列将以1递增)指定要生成的第一个序列号(如果省略该语句,序列将从1开始)指定当序列达到其最大值或最小值后,是否继续生成值指定Oracle服务器预先分配并保留在内存中的值的个数。(默认20)如果系统崩溃,这些值将丢失。createsequenceuser_seqincrementby1startwith1maxvalue50000nocachenocycle;确认序列要验证序列已创建,请查询user_sequences数据字典。要查看序列的所有设置,请按如下所示方式查询USER_SEQUENCES数据字典。select序列名,min_value,max_value,increment_by,last_numberfromuser_sequences;NEXTVAL和CURRVALnextval伪列用于从指定序列中提取连续的序列号。必须用序列名来限定nextval。在引用“序列名.nextval”时,会生成新的序列号,并将当前的序列号放置在currval中。insertintot_user(uiid,uname)values(user_seq.nextval,'系统管理员');NEXTVAL和CURRVAL可以在下列上下文中使用nextval和currval:不属于子查询的select语句的select列表insert语句中子查询的select列表insert语句的values子句update语句的set子句数据插入-select可以使用INSERTINTOSELECT语句实现在insert语句中使用子查询
语法格式为:Insertintotable2(field1,field2,...)selectvalue1,value2,...fromtable1;案例:为了平衡系统中的数据,将有库存的商品数据做一个虚拟的采购单,采购单明细数据为商品信息表中有库存的商品信息,其中商品ID为商品信息表的ID,采购单价为商品信息表中的商品单价,采购数量为商品信息表中的库存量,备注为null。数据修改-Update修改表中的数据语法:
UPDATE tablenameSET column1=value1[,column2=value2,...][WHERE condition];数据删除—Delete删除表中的数据语法:DELETE[FROM] table[WHERE condition];数据删除—Delete例子:删除T_GOODS数据
deletefromT_GOODS;注:delete只是将数据标记为unused,要清除大表数据存储空间,用truncate事务处理处理允许用户对数据进行更改,然后决定是保存还是放弃所做的更改。数据库事务处理将多个步骤捆绑到一个逻辑工作单元。DML语句,这些语句对数据进行一次更改,且数据保持一致。DML语句包括INSERT、UPDATE、DELETE和MERGE一条DDL语句,例如CREATE、ALTER、DROP、RENAME或TRUNCATE•条DCL语句,例如GRANT或REVOKE事务处理COMMIT:发出COMMIT语句后,当前事务处理结束,所有待定更改变为永久性更改。ROLLBACK:发出ROLLBACK语句后,将放弃所有待定更改。SAVEPOINT:在事务处理中创建标记,该标记将事务处理分成几个较小的部分。ROLLBACKTOSAVEPOINT:允许用户将当前事务处理回退到指定的保存点。事务处理事务处理何时开始或结束事务处理从第一个DML(INSERT、UPDATE、DELETE或MERGE)语句开始。出现以下任一情况时事务处理结束:发出了COMMIT或ROLLBACK语句发出了DDL和DCL用户退出了iSQL*Plus或SQL*Plus控制事务处理时间commit
事务处理 delete savepointA insert update savepointB insert
。。。。ROLLBACKToSAVEPOINTBROLLBACKToSAVEPOINTAROLLBACK小结Insert,批量insert序列的使用UpdateDelete事务处理实训任务(六)根据任务需求在网上购物系统中添加一些测试数据到系统中供功能测试用,其中可能会涉及到一些数据的更新和删除select语句常用函数介绍第七讲基本查询Select查询数据目标将映射、选择和联接与其正确的特性/功能相匹配创建基本的SELECT语句使用正确的语法显示表中的所有行使用正确的语法选择表中的特定列,修改数据的显示方式,以及(或)使用算术表达式和运算符执行计算数据查询语句SELECT语句完整的句法如下:
SELECT目标表的列名或列表达式序列
FROM基本表名和(或)视图序列
[WHERE行条件表达式][GROUPBY列名序列
[HAVING组条件表达式]
][ORDERBY列名[ASC|DESC],…]SQL语句的书写方式SQL语句不区分大小写关键字不能简写或分行子句通常分行书写SELECT,FROM必须有Selectsysdatefromdual;DUAL表DUAL表具有一个称为“X”的行,一个称为“DUMMY”的列。DUAL表用于创建SELECT语句并执行不与特定数据库表直接相关的命令。列别名可用来重命名列标题有助于计算紧跟在列名后面列名和别名之间可以具有可选的关键字AS如果别名包含空格、特殊字符或者区分大小写,则需要将别名放在双引号中NULL在SQL中,NULL是一个有趣的词。要了解NULL,您必须先弄清楚NULL是什么以及NULL不是什么。Null指不可用、未分配、未知或不适用的值。Null不同于零或空格。在SQL中,零是一个数字,而空格是一个字符。在条件语句中判断是否为null isnull/isnotnull
LIKE
百分比(%)和下划线(_)这两个符号称为通配符当需要完全匹配含有%或_字符的字符串时,需要指出%或_不是通配符,而是搜索项的一部分。ESCAPE选项反斜杠(\)用来表示_或%是名称的一部分,而不是通配符值。替代变量有时,可能需要以多个不同的值运行同一查询,以获得不同的结果集。试想一下,如果您需要查一个一个的用户的信息,每次都要编写类似的语句,会不会很麻烦呢?&变量名函数介绍功能:改变数据输出形式或进行数据运算输出单行函数Oracle9i基础___liqiangNEUSOFT单行数字函数函数格式函数说明ABS(n)返回n的绝对值FLOOR(n)返回小于等于N的最大整数LN(n)返回N的自然对数,N必须大于0LOG(n1,n2)返回以n1为底n2的对数EXP(n)返回e的n次幂,e=2.71828183单行数字函数POWER(n1,n2)返回n1的n2次方MOD(n1,n2)返回n1除以n2的余数SIGN(n)返回n的符号值。-1、1、0SIN(n)返回n的正玄值,n为弧度COS(n)返回n的余玄值,n为弧度SQRT(n)返回n的平方根单行数字函数ROUND(n1,n2)返回舍入小数点右边n2位的n1的值TRUNC(n1,n2)返回截尾到n2位小数的n1的值n2缺省设置为0单行字符函数lower(C)返回c的小写字符UPPER(C)返回c的大写字符INSTR(c1,c2,i,j)
c1,c2均为字符串,i,j为整数。函数返回c2在c1中第j次出现的位置,搜索从c1的第i个字符开始。
SUBSTR(c1,<i>[,j])
c1为一字符串,i,j为整数,从c1的第i位开始返回长度为j的子字符串,如果j为空,则直到串的尾部。单行日期函数SYSDATE
函数没有参数,返回当前日期和时间
MONTHS_BETWEEN(d1,d2)返回d1和d2之间月的数目LAST_DAY(d)函数返回包含日期d的月份的最后一天转换格式函数TO_CHAR(x[,fmt,)
x是一个date或number数据类型,函数将x转换成fmt指定格式的char数据类型
TO_DATE(c,fmt)
c表示字符串,fmt表示一种特殊格式的字符串。返回按照fmt格式显示的c。函数将字符串c转换成date数据类型。TO_NUMBER(c[,fmt)
c表示字符串,fmt表示一个特殊格式的字符串,函数返回值按照fmt指定的格式显示。函数将返回c代表的数字。
数值、字符、日期的相互转换CHARACTERTO_CHARTO_CHARDATETO_DATENUMBERTO_NUMBER日期格式YYYYYEARMMMONTHDYDAY数字表示的公元年份,eg:2004年的描述,eg:TWOTHOUSANDFOUR两位数字表示月,eg:10(英文版:星期的英文简称)eg:星期四全称,eg:星期四月的全名,eg:10月MON(英文版:月的英文简称)eg:10月DD两位数字表示天,eg:09日期格式HHHH12HH24MI数字表示的小时,eg:1-12数字表示的小时,eg:1-12数字表示的小时,eg:0-23数字表示的分。eg:0-59ss数字表示的秒。eg:0-59多表格查询定义将两个或两个以上的表格,按照一定的关系连接起来进行查询。多表格查询分类连接查询嵌套查询集合查询链接查询连接查询等值连接查询指定列所属的表格列出所有要查询的表表格关系在Where中指出,n个表有n-1个等值关系式SELECT table1.column,table2.column,...,
tablen.columnFROM table1,table2,...,tablenWHERE table1.column1=table2.column2..andtablen-1.column1=tablen.column2;连接查询两表连接查询例子查询商品信息,显示类型名称。
selectgname,gtname,gprice,gstocksfromt_goods,t_gtypewheret_goods.gtid=t_gtype.gtid;
外连接查询结果包含不符合连接条件的元组左外连接:
selectpmid,pdate,sname,pstatefromt_main_procurea,t_supplierbwherea.sid=b.sid(+);嵌套查询定义:将一个查询语句嵌套在另一个查询语句的Where或Having中的查询语法SELECT select_listFROM tableWHERE exproperator (SELECT select_list FROM table);嵌套查询查询本月有进货记录的供应商信息selectsid,snamefromt_supplierwheresidin(selectsidfromt_main_procurewhereto_char(pdate,'yyyymm')=to_char(sysdate,'yyyymm'));集合查询定义:多个SELECT语句的结果进行集合操作分类并操作UNION交操作INTERSECT差操作MINUS并操作UNION得到前后两个查询结果的和UNION-查询结果不包括重复值selectpmid,sname,pdate,pdate,pamount,’采购’fromt_main_procurea,t_supplierbwherea.sid=b.sidunionselectomid,uname,odate,oamount,ostate,’订单’fromt_main_ordera,t_userbwherea.uiid=b.uiid;实训任务(七)查询显示商品信息,要求显示商品编号、商品名称、商品单价。查询显示有折扣的商品信息,要求显示商品名称、商品单价、折扣、库存。查询显示商品单价在10和100之间的商品信息。查询显示商品库存超过最高库存或低于最低库存的商品信息查询没有电话号码的供应商信息。查询供应商中联系人姓李的信息。根据输入的类型编号查询商品信息。查询显示用户信息,要求电话号码的显示固定电话中非区号部分。查询显示商品信息,要求显示商品ID、商品名称、单价(取整),折扣(保留1位小数位),库存(取整)。系统需要查询当日起前两个月的采购单信息。多表格查询分组查询统计子查询视图同义词的应用第八讲高级查询多表格查询定义将两个或两个以上的表格,按照一定的关系连接起来进行查询。多表格查询分类连接查询嵌套查询(子查询)集合查询链接查询多表连接查询查询订单信息,用户显示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 距骨软骨损伤保守康复运动清单规范共识
- 高压开关柜检修安全操作规程
- PADI OW开放水域潜水员结业考试真题及详细答案
- OQC成品出货检验员考核试题(含详细答案)
- 职业性砷中毒远期脏器损害随访共识
- 线下快闪店主题策划与视觉呈现方案
- 建筑安装工人职业技能考试习题及答案:安装起重工
- 2026年中小学生环保知识竞赛试题库及答案
- 2026年水泥高级工试题及答案
- 四川省成都市列五中学2025-2026学年高三上学期语文阶段检测(二)卷(含答案)
- 2026年电力工程造价从业人员专业能力评价考试(公共基础及专业实务)经典试题及答案
- 做合格少先队员主题班会课件
- 装修工程竣工验收汇报材料
- 网络意识形态工作责任制实施细则
- 2026年山东专升本高等数学(三)真题及答案
- PE管施工技术交底
- 2026年南京铁道职业技术学院单招职业技能测试题库及答案详解(各地真题)
- 水中墩施工安全教育培训课件
- 合同签订履行中风险防范
- 2025年肿瘤专科护士试题及答案
- 中枢性尿崩症与原发性烦渴的精准诊疗:31例临床深度剖析
评论
0/150
提交评论