oracle笔记

本文档详细介绍了Oracle数据库的管理,包括数据库的启动、关闭、创建与删除,存储管理,安全管理,对象管理,如表空间、表、索引、视图的创建与维护,以及备份与恢复。此外,还涵盖了PL/SQL基础,游标,存储过程和触发器的使用。内容深入浅出,是Oracle数据库管理员的重要参考资料。
摘要由CSDN通过智能技术生成

目录:4.数据库管理,配置和维护

5.数据库存储管理

6.数据库安全管理

7.数据库对象管理

8.备份和护肤

9.PL/SQL语言基础

10.游标,存储过程和触发器

 

 

1.cmd里:set oracle_unqname=orcl #设置当前服务

emctl start dbconsole #启动服务(orm)

2.DDL(date manage language 数据操纵语言):drop,alter

DML(date define language 数据定义语言) :insert,update,delete, 需要commit;

3.数据库逻辑结构:

六层:数据库》方案,表空间》表,索引,视图等逻辑对象》段(数据段,索引段,临时段,回滚段等)》区间》数据块

区间:是Oracle分配磁盘空间的最小单位

数据块:是oracle管理数据库存储空间的最小数据存储单位

4.数据库管理,配置和维护:

select name from v$database #查看登录的数据库名

disconn #断开连接

(1)创建/删除数据库“

create database 数据库名 [user 用户名 identified by 密码][][]...

删除数据库之前,需要用户以sysdba或sysoper身份登陆,并将数据库以mount模式启动:

connect sys/syspwd as sysdba; #使用sys用户登录,syspwd为密码

shutdown immediate; #立即关闭数据库

startuo mount; #启动并加载数据库

alter system enable restricted session; #将数据库切换至restricted状态

drop database; #删除数据库

select name from v$database; #查看当前使用的数据库名

(2)维护数据库实例”

数据库实例支持四种状态:打开(open),关闭(close),已装载(mount),已启动(nomount)

启动/关闭数据库实例:

startup mount #启动数据库实例,装载数据库

startup PFILE=初始化参数文件 # 以指定的初始化参数文件来启动实例

startup nomount #启动数据库实例,但不装载数据库

startup force #强制启动数据库实例

startup restrict #以限制模式启动数据库实例

**此时只有拥有restrict session权限的用户才可以访问数据库

startup recover #在数据库启动时开始介质恢复

关闭:

shutdown normal #正常关闭数据库实例 》等待

shutdown transactional #以事务处理方式关闭数据库实例 》拒新,处理正在进行的

shutdown immediate #立即关闭数据库实例 》拒新,未提交的回滚

shutdown abort #中止关闭数据库实例 》立即中止

 

alter database mount/open #改变启动模式 mount/open模式

5.数据库存储管理:

例1:创建本地管理表空间orcltbs01,数据文件为‘d:\app\orcltbs01.dbf,,大小为50mb,指定本地管理表空间:

create tablespace orcltbs01 datafile 'd:\app\orcltbs01.dbf' size 50M extent management autoallocate;

例2:创建表空间orcltbs02,指定其最小区间为128kb:

create tablespace orcltbs01 datafile 'd:\app\orcltbs01.dbf' size 30M extent management local uniform size 128K;

例3:创建本地管理表空间bigtbs,数据文件为‘d:\app\bigtbs.dbf’,大小为10GB:

create bigfile tablespace bigtbs datafile 'd:\app\bigtbs.dbf' size 10G;

重命名表空间:

alter database 原表空间名 rename to 新表空间名

本地管理表空间中增加数据文件:

alter tablespace 表空间名 add datafile 增加的数据文件 size 数据文件大小;

修改大文件表空间的属性:

alter tablespace 表空间名 resize 表空间大小;

向临时表空间中添加临时文件:

alter tablespace 临时表空间名 add tempfile 临时文件名 size 临时文件初始大小;

设置表空间状态:

alter tablespace 表空间名 online/offline; #设置为联机/脱机状态

设置为只读表空间:

alter tablespace 表空间名 read only;

删除表空间:

drop tablespace 表空间名

同时删除其中的段:

。。。 including contents;

同时删除其中的数据文件:

。。。including datafiles;

查看回滚段信息:

col 回滚段名 for A20

select segment_name 回滚段名,tablespace_name 所在表空间,bytes 大小 from dba_segments where segment_type='rollback'; #第一句用于指定‘回滚段名’的列宽为20

将回滚段管理方式设置为手动管理:

alter system set UNDO_MANAGEMENT=MANUAL SCOPE=SPFILE;

创建回滚段:

create [public] rollback segment 回滚段名称 tablespace 所属表空间名称 storage 存储选项

修改回滚段的属性:

alter rollback segment 回滚段名称 回滚段状态(online/offline)

手动收缩回滚段:

alter rollback segment 回滚段名称 shrink to 回滚段的初始大小

删除回滚段:

alter rollback segment 回滚段名 offline;

6.数据库安全管理:

(1)sqlplus / as SYSDBA;

sys @ orcl; #用户名@数据库名

(2)要使用密码文件认证方式,必须拥有密码文件。默认的密码文件为¥ORACLE_HOME\database\PWD数据库实例名.ora,例如D;\app\Administrator\product\11.2.0\dbhome_1\database\PWDorcl.ora

可以用ORAPWD命令创建密码文件:

ORAPWD FILE =密码文件的文件名 PASSWORD=SYS用户的密码 ENTRIES=SYSDBA和SYSOPER用户的最大数量 force=<y/n>

**force指定是否覆盖已有的密码文件

(3)忘记DBA口令的解决办法:

sqlplus "/as sysdba"; #以sysdba身份登录到sqlplus

alter user sys identified by newpwd;

commit;

conn sys /as sysdba;

(4)创建用户:

create user 用户名 identified by 口令 default tablespace 默认表空间 temporary tablespace 临时表空间;

(5)修改用户:

修改密码:

alter user 用户名 identified by 新密码;

设置用户userman的密码立即过期,在下一次登陆时必须修改密码:

alter user userman password expire;

锁定/解锁用户userman ,使其(无法)登录到数据库:

alter user userman account lock/unlock;

(6)为用户分配表空间配额:

alter user <用户名> QUOTA <表空间配额大小 >·on <表空间>;

(7)删除用户:

drop user 用户名;

(8)创建角色:

create role 角色名 identified by 验证口令;

select * from DBA_ROLES; #查看所有角色信息

(9)指定用户的角色:

grant/revoke 角色名 to 用户名 #指定/撤销

(10)修改角色:

alter role myrole not identified; #取消角色myrole的密码验证

(11)删除角色:“

drop role myrole; #删除角色myrole

(12)权限管理:

grant 系统权限 to 用户名或角色名

授予数据对象权限:

grant 数据对象权限 on 数据对象 to 用户名或角色名

撤销用户的角色和权限:

revoke 权限 from 用户名或角色名

7.数据库对象管理

(1)刚创建的用户没有任何权限,不能管理数据库对象,需要以sysdba身份执行下面的语句,对userman用户进行授权:

· grant connect,resource to userman;

grant select any dictionary to userman;

excute MGMT_USER.MAKE_EM_USER('USERMAN');

**grant SELECT_CATALOG_ROLE to userman;

(2)oracle数据类型包括:字符型,数值型,日期/时间型,大对象(LOB)型和Rowid型等

(3)创建表:

create table [方案名.] 表名

(列名1 数据类型,

列名2 数据类型,

。。。

);

(4)修改表:

1.添加列:

alter table users add (tmp number(5,2)); #在表users中添加一个列tmp,数据类型为number(5,2)

2.修改列名:

alter table users rename column tmp to tmpcol_1; #将表users中tmp列改名为tmpcol_1

3.删除列:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值