数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

oracle 基础入门


发布日期:2023年10月28日
 
oracle 基础入门

ORACLE的表的分类  

REGULAR TABLE普通表ORACLE推荐的表使用很方便人为控制少  

PARTITIONED TABLE分区表人为控制记录的分布将表的存储空间分为若干独立的分区记录按一定的规则存储在分区里适用于大型的表  

建表  

CREATE TABLE 表名 (EMPNO NUMBER(NAME VARCHAR)) PCTFREE PCTUSED   

STORAGE (INITIAL K NEXT K MAXEXTENTS PCTINCREASE ) TABLESPACE 表空间名称  

[LOGGING|NOLOGGING]所有的对表的操作都要记入REDOLOGORACLE建议使用NOLOGGING  

[CACHE|NOCACHE]是否将数据按照一定的算法写入内存  

关于PCTFREE 和PCTUSED  

A行迁移和行链接  

BPCTFREE制止INSERT为 UPDATE留FREE 空间  

CPCTUSED为恢复INSERT操作而设定的  

拷贝一个已经存在的表  

CREATE TABLE 新表名 STORAGE() TABLESPACE 表空间  

AS SELECT * FROM 老表名   

当老表存在约束触发的时候不会拷过去  

修改表的参数  

ALTER TABLE 名称 PCTFREE PCTUSED STOAGE(MAXEXTENTS   

手工分配空间  

ALTER TABLE 名称 ALLOCATE EXTENT(SIZE K DATAFILE   

SIZE选项按照NEXT分配  

表所在表空间与所分配的数据文件所在的表空间必须一样  

水线  

水线定义了表的数据在一个BLOCK中所达到的最高的位置  

当有新的记录插入水线增高  

当删除记录时水线不回落  

减少查询量  

如何回收空间  

ALTER TABLE 名称 DEALLOCATE UNUSED [KEEP [M|K]]  

当空间分配过大时可以使用本命令  

如果没有加KEEP回收到水线  

如果水线《MINEXTENTS的大小回收到MINEXTENTS所指定的大小  

TRUNCATE 一个表  

TRUNCATE TABLE 表名表空间截取MINEXTENT同时水线重置  

DROP 一个表  

DROP TABLE 表名 [CASCADE CONSTRAINTS]  

当一个表含有外键的时候是不可以直接DROP的加CASCADE CONSRIANTS将外键等约束一并删掉  

信息获取  

dba_object  

dba_tables:建表的参数  

DBA_SEGMENTS:  

组合查询的连接字段DBA_TABLES的table_name+dba_ojbect的object_name+dba_segments的SEGMENT_NAME  

第十一章索引的管理  

索引的分类  

逻辑上  

单列索引 复合索引 唯一索引 非唯一索引  

物理上  

BTREE OR BITMAP  

BTREE (NORMAL和反向索引)  

CREATE INDEX  

CREATE INDEX 名称 ON 表名(列名) PCTFREE STORAGE() TABLESPACE 名称  

没有定义PCTUSED索引是按照一定存储的如果通过PCTUSED允许恢复对BLOCK的INSERT操作可能影响INDEX的效率  

建立索引的注意事项  

索引对查询性能有提高但对DML语句有影响  

索引也应该放在一个专用的表空间  

定义索引的EXTENT的大小时=*DB BLOCK  

建立索引时应采用 NOLOGGING  

方式  

修改索引  

ALTER INDEX 名称 STORAGE(新值)  

分配空间给索引  

ALTER INDEX 名称 ALLOCATE EXTENT(SIZE K DATAFILE )  

重建索引  

提高查询性能  

当一个索引重建时老的索引会在新索引建立完成后被删除  

新索引建立过程中老的索引仍可用于查询  

硬盘的开销大  

DROP一个索引  

DROP INDEX 名称  

信息获取  

DBA_INDEXES:建索引的参数  

DBA_IND_COLUMNS:  

第十二章用户的管理  

ORACLE的安全域  

TABLESPACE QUOTAS表空间的使用定额  

DEFAULT TABLESPACE默认表空间  

TEMPORARY TABLESPACE指定临时表空间  

ACCOUNT LOCKING用户锁  

RESOURCE LIMITE资源限制  

DIRECT PRIVILEGES直接授权  

ROLE PRIVILEGES角色授权先将应用中的用户划为不同的角色  

创建用户时的清单  

选择一个用户名称和检验机制A看到用户名实际操作者是谁业务中角色  

选择合适的表空间  

决定定额  

口令的选择  

临时表空间的选择先建立一个临时表空间然后在分配不分配使用SYSTEM表空间  

CREATE USER  

授权A用户的工作职能  

B用户的级别  

用户的创建  

命令  

CREATE USER 名称 IDENTIFIED BY 口令 DEFAULT TABLESPACE 默认表空间名 TEMPOARAY  

TABLESPACE 临时表空间名  

QUOTA M ON 表空间名  

[PASSWORD EXPIRE]当用户第一次登陆到ORACLE创建时所指定的口令过期失效强迫用户自己定义一个新口令  

[ACCOUNT LOCK]加用户锁  

QUOTA UNLIMITED ON TABLESPACE不限制有多少有多少  

[PROFILE 名称]受PROFILE文件的限制  

如何控制用户口令和用户锁  

强迫用户修改口令ALTER USER 名称 IDENTIFIED BY 新口令 PASSWORD EXPIRE  

给用户加锁ALTER USER 名称 ACCOUNT [LOCK|UNLOCK]  

注意事项  

A所有操作对当前连接无效  

B的操作适用于当用户忘记口令时  

更改定额  

命令ALTER USER 名称 QUOTA ON 表空间名  

ALTER USER 名字 QUOTA (数值)K|M|UNLIMITED ON 表空间名  

使用方法  

A控制用户数据增长  

B当用户拥有一定的数据而管理员不想让他在增加新的数据的时候  

C当将用户定额设为零的时候用户不能创建新的数据但原有数据仍可访问  

DROP一个USER  

DROP USER 名称  

适合于删除一个新的用户  

DROP USER 名称 CASCADE 删除一个用户将用户的表索引等都删除  

对连接中的用户不好用  

信息获取  

DBA_USERS:用户名状态加锁日期默认表空间临时表空间  

DBA_TS_QUOTAS:用户名表空间名定额  

两个表的连接字段USERNAME  

GRANT CREATE SESSION TO 用户名  

第十三章PROFILE的管理(资源  

文件)  

PROFILE的管理内容  

CPU的时间  

I/O的使用  

IDLE TIME(空闲时间)  

CONNECT TIME(连接时间)  

并发会话数量  

口令机制  

DEFAULT PROFILE  

所有的用户创建时都会被指定这个PROFILE  

DEFAULT PROFILE的内容为空无限制  

PROFILE的划分  

CALL级LIMITE  

对象是语句  

当该语句资源使用溢出时  

A该语句终止  

B事物回退  

CSESSION连接保持  

SESSION级LIMITE  

对象是整个会话过程  

溢出时连接终止  

如何管理一个PROFILE  

CREATE PROFILE  

分配给一个用户  

象开关一样打开限制  

如何创建一个PROFILE  

命令CREATE PROFILE 名称  

LIMIT  

SESSION_PER_USER   

CPU_PER_SESSION   

IDLE_TIME   

CONNECT_TIME   

限制参数  

SESSION级LIMITE  

CPU_PER_SESSION:定义了每个SESSION占用的CPU的时间/ 秒)  

SESSION_PER_USER:每个用户的并发连接数  

CONNECT_TIME:一个连接的最长连接时间(分钟)  

LOGICAL_READS_PER_SESSION: 一次读写的逻辑块的数量  

CALL级LIMITE  

CPU_PER_CALL:每个语句占用的CPU时间  

LOGICAL_READS_PER_CALL:  

分配给一个用户  

CREATE USER 名称  

PROFILE 名称  

ALTER USER 名称 PROFILE 名称  

打开资源限制  

RESOURCE_LIMT:资源文件中含有  

ALTER SYSTEM SET RESOURCE_LIMIT=TRUE  

默认不打开  

修改PROFIE的内容  

ALTER PROFILE 名称参数 新值  

对于当前连接修改不生效  

DROP一个PROFILE  

DROP PROFILE 名称  

删除一个新的尚未分配给用户的PROFILE  

DROP PROFILE 名称 CASCADE  

注意事项  

A一旦PROFILE被删除用户被自动加载DEFAULT PROFILE  

B对于当前连接无影响  

CDEFAULT PROFILE不可以被删除  

十一信息获取  

DBA_USERS:  

用户名PROFILE  

DBA_PROFILES:               

上一篇:某个数据文件损坏,如何打开数据库?

下一篇:Oracle复合数据类型(4)