ORACLE学习资料第一章
- 格式:doc
- 大小:69.50 KB
- 文档页数:10
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:监听器服务,服务只有在数据库需要远程访问的时候才需要。
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数据库系统数据库系统是指引进数据库技术后的计算机系统。
通过命令查看控制文件,数据文件,日志文件:
控制文件: Desc v$controlfile;
数据文件:desc v$datafile;
日志文件: desc v$logfile;
1. 执行导入.sql文件
命令语法如下:
directory_path\store_schema.sql
其中directory_path 是保存store_schema.sql 脚本的目录和路径
例如:以下代码演示了导入C盘下的sql 脚本文件:@c:\sql\store_schema.sql
2. 在SQL Plus 中切换不同的用户,例如以下命令切换到system 用户登陆
connect system/manager@oracle 其中oracle 是指服务名
3. oracle 安装后,dual 是默认的表名在SQL Plus 中输入:
select sysdate from dual;
它可以返回当前日期
****注意:SQL语句以分号(;)结束
4. oracle 中的数据库是以表空间存在的,以下命令创建了一个名为:yyaccp的表空间,并且指定数据文件的路径。
create tablespace yyaccp
datafile 'D:\oracle\oradata\oracle\yyaccp.DBF'
size 5M autoextend on;
5. oracle 中可以通过命令创建用户名,以下命令创建了一个yyaccp 用户名,
并为它确定默认表空间和临时表空间
create user yyaccp identified by yyaccp
default tablespace yyaccp
temporary tablespace temp;
6. 如果要给授权的用户可以在数据库中执行一定的操作那么应该为该用户授予
执行这些操作的权限,例如,如果要让这个用户连接到数据库上必须要为该
用户授予“创建会话的权限”,以下命令为yyaccp 用户创建了会话权限
(使用grant语句)
grant create session to yyaccp;
授予权限以后就可以通过yyaccp 用户连接到数据库了:
connect yyaccp/yyaccp@oracle;
7.用户密码的可以通过alter 进行修改以下命令修改了yyaccp 用户的密码:
alter user yyaccp identified by accp;
8. password 命令可以用来修改当前登陆的用户的密码,在登陆后输入password
命令,sql plus 会提示输入原来的密码,然后再输入两次新密码例如:
connect yyaccp/accp;
输入: password;
sql plus 显示:
更改YYACCP的口令
旧口令: ******
新口令: ******
重新键入新口令:******
口令已更改
9. 删除用户可以通过drop user 进行删除,以下命令删除yyaccp 用户
connect system/manager@oracle;
drop user yyaccp;
10. 使用grant向用户授予不同的特权:以下通过system 用
户向yyaccp 用户授予了创建会话、创建用户以及创建表的权限
Connect system/manager@oracle;
Grant create session, create user , create table to yyaccp;
常用的系统特权:
11.使用with admin option选项。
授权的用户可以把特权授予
其他用户使用
以下命令将execute any procedure 特权授予yyaccp 用户,同时指定了
with admin option选项。
Connect system/manager@oracle;
Grant execute any procedure to yyaccp with admin option;
12. 检查授予用户的权限(通过user_sys_privs 表)检查某个用户具有哪些权限:
以下命令演示了yyaccp 用户连接到数据库上,并对user_sys_privs 进行查询
Connect yyaccp/accp@oracle;
Select * from user_sys_privs ;
14. 撤销系统特权。
以下system撤销了yyaccp用户的dba 权限
Revoke dba from yyaccp;
15.当用户创建表或向已有的表中插入数据时,提示Ora-01536:表空间不足
可以通过以下方式解决:
(1) alter user USERNAME quota 100M on TABLESPACENAME;
(2) alter user USERNAME quota unlimited on TABLESPACENAME;
(3) grant unlimited tablespace to USERNAME;
例如:创建了 yyaccp 用户但是yyaccp 用户在 yyaccp 表空间中建表时出现Ora-01536状态码,执行以下命令:Connect system/manager;
alter user yyaccp quota unlimited on yyaccp;
对象特权:
16. 对象特权允许用户对数据库对象执行特定的操作,比如对表进行添加、修改、删除、查询等操作。
以下表格列出了常用的对象特权:
向用户授予对象特权:
17. 可以使用 grant 语句向用户授予对象特权,下面这个例子以 yyaccp 用户的身份连接到数据库,并向 tuser 授予以下特权:对 tusertable 表的 select ,
Insert ,update 对象特权进行授权
Connect yyaccp/accp;
Grant select ,insert ,update on yyaccp.tusertable to tuser;
18. 以下命令对tusertable 表中的name , address 列的update 特权授予tuser 用户
Grant update(name,ddress) on yyaccp.tusertable to tuser;
19. 使用grant 选项可以使授权的用户把这种特权再授予其他用户。
下面命令对tusertable 表的select 特权授予tuser 用户,同时指定了with grant option 选项
Grant select on yyaccp.tusertable to tuser with grant option
20. 检查已授予的对象特权(通过查询user_tab_privs_made)可以检查某个用户对哪些表向其他用户开放了哪些对象特权:
Select * from user_tab_privs_made
user_tab_privs_made 部分列
User_col_privs_made 可以检查某个用户对哪些列对象开放了哪些特权。
Select * from user_col_privs_made;
from user_col_privs_made 部分列
如果以tuser 用户身份连接到数据库上就可以通过公共对象名称sttable 对yyaccp.sttable 进行检索:
Connect tuser/tuser;
Select * from sttable;
23.撤销用户对象的特权:
使用revoke 语句撤销某个用户的对象特权。
以下命令以yyaccp 用户的身份连接到数据库上,并撤销tuser 对sttable 表的insert 特权
Connect yyaccp/accp;
Revoke insert on sttable from tuser。