关于Oracle如何创建相关的 *** 作

关于Oracle如何创建相关的 *** 作,第1张

5.1 创建数据文件大小20M的表空间

>CREATE TABLESPACE usertbs1 datafile

'D:\tmp\usertbs1.DBF' SIZE 20M

5.2 区定制分配

>CREATE TABLESPACE usertbs1 datafile

'D:\tmp\usertbs1.DBF' SIZE 20M

EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K

5.3 每次自动扩展1M,最大值为100MB

>ALTER DATABASE DATAFILE

'D:\tmp\usertbs1.DBF'

AUTOEXTEND ON NEXT 1M MAXSIZE 100M

5.4 创建临时表空间

>CREATE TEMPORARY TABLESPACE temptbs TEMPFILE

'D:\tmp\temptbs.DBF' SIZE 20M

EXTEND MANAGEMENT LOCAL UNIFORM SIZE 10M

/*设置当前默认表空间*/

>ALTER DATABASE DEFAULT TABLESPACE temptbs

5.5 对表空间联机脱机

>ALTER TABLESPACE usertbs1 OFFLINE

>ALTER TABLESPACE usertbs1 ONLINE

5.9 为表空间添加数据文件

>ALTER TABLESPACE usertbs1 ADD DATAFILE

'D:\tmp\USERS05.DBF' SIZE 50M

10题与9题一样

5.12 数据文件更名

>ALTER TABLESPACE usertbs1 OFFLINE

手动改数据文件名为 USERS005.DBF

>ALTER TABLESPACE usertbs1 RENAME DATAFILE

'D:\tmp\USERS05.DBF' TO

'D:\tmp\USERS005.DBF'

>ALTER TABLESPACE usertbs1 ONLINE

5.14 添加重做日志组,包含redo5a.log和redo5b.log,大小为5MB

>ALTER DATABASE ADD LOGFILE GROUP 4

('D:\tmp\redo5a.log', 'D:\tmp\redo5b.log')

SIZE 5M

5.15 添加日志文件成员

>ALTER DATABASE ADD LOGFILE MEMBER

'D:\tmp\redo5c.log' TO GROUP 4

5.16 切换归档模式且自动归档

>SHUTDOWN IMMEDIATE

>STARTUP MOUNT

>ALTER DATABASE ARCHIVELOG

>ALTER DATABASE OPEN

5.17 设置数据库归档路径

>ALTER SYSTEM SET db_recovery_file_dest="D:\ORACLE\BACKUP"

6.2 建表

>CREATE TABLE exer_class(

CNO NUMBER(2) PRIMARY KEY,

CNAME VARCHAR(20),

NUM NUMBER(3)

)

>CREATE TABLE exer_studnet(

SNO NUMBER(4) PRIMARY KEY,

SNAME VARCHAR(10) UNIQUE,

SAGE NUMBER,

SEX CHAR(2),

CNO NUMBER(2)

)

6.3 添加检查约束

>ALTER TABLE exer_studnet ADD

CONSTRAINT S_CK CHECK (SAGE BETWEEN 0 AND 100)

6.4 取值为M或F,默认M

>ALTER TABLE exer_studnet ADD

CONSTRAINT SEX_CK CHECK(SEX IN ('M','F'))

>ALTER TABLE exer_studnet MODIFY SEX DEFAULT 'M'

6.5 建立唯一索引

>CREATE UNIQUE INDEX class_name_index ON exer_class(CNAME)

6.6 创建视图

>CREATE VIEW cl_stu_view as

SELECT c.CNO, c.CNAME, s.SNO, s.SNAME FROM exer_class c, exer_studnet s

WHERE s.CNO=c.CNO

6.7 创建序列

>CREATE SEQUENCE no_seq START WITH 100000001 INCREMENT BY 1 NOCACHE NOCYCLE

6.8 表格分区

>CREATE TABLESPACE EXAMPLE DATAFILE

'D:\tmp\EXAMPLE.DBF' SIZE 50M

>CREATE TABLESPACE ORCLTBS1 DATAFILE

'D:\tmp\ORCLTBS1.DBF' SIZE 50M

>CREATE TABLESPACE ORCLTBS2 DATAFILE

'D:\tmp\ORCLTBS2.DBF' SIZE 50M

>CREATE TABLE exer_student_range(

SNO NUMBER(4) PRIMARY KEY,

SNAME VARCHAR(10) UNIQUE,

SAGE NUMBER,

SEX CHAR(2),

CNO NUMBER(2)

)

PARTITION BY RANGE(SAGE)(

PARTITION P1 VALUES LESS THAN (20) TABLESPACE EXAMPLE,

PARTITION P2 VALUES LESS THAN (30) TABLESPACE ORCLTBS1,

PARTITION P3 VALUES LESS THAN (MAXVALUE) TABLESPACE ORCLTBS2

)

6.9 按性别分区

>CREATE TABLE exer_student_list(

SNO NUMBER(4) PRIMARY KEY,

SNAME VARCHAR(10) UNIQUE,

SAGE NUMBER,

SEX CHAR(2),

CNO NUMBER(2)

)

PARTITION BY LIST(SEX)(

PARTITION male VALUES('M') TABLESPACE ORCLTBS1,

PARTITION female VALUES('F') TABLESPACE ORCLTBS2

)

6.10 本地分区索引

>CREATE INDEX student_local ON exer_student_range(SAGE) LOCAL

Oracle使用多个重做日志组来管理重做日志,这些重做日志组循环使用;

每个日志组至少包含一个日志成员,保险起见,建议每个日志组包含两个以上成员,每个日志成员位于不同的磁盘上,写入日志时Oracle会将相同的内容同时写入同一个日志组的多个成员;

日志文件与日志成员是一回事。

第一步,查看当前日志

select a.group#,a.bytes/1024/1024||'M' log_size,a.status,b.member from v$log a

left join v$logfile b on A.GROUP#=b.group#

第二步,删除原有日志

注意事项:

a. 日志的当前状态必须是inactive的才可以删除,active状态说明日志中的记录还没有被同步到数据文件中,这个需要等待一定时间之后才会变成inactive状态;current状态是当前正在写的日志,也不能删除。

b. 日志组的数量不能低于2组。

删除日志命令:

如果当前只有group 2是inactive,所以只能删除group 2,使用以下删除命令:

alter database drop logfile group 2

当只剩下两组日志时,因为日志组不能低于2组,所以不能再删除,只能添加日志组之后再删除。

c. 执行删除之后该日志的物理文件还是存在的,可以删除,但是这个动作很危险,需要小心。

也可以不删除,如果再行创建的日志文件和原来的日志文件名称相同,可以在增加日志组(或者日志组成员)的命令中添加一个reuse选项。

第三步,添加新的日志

可以使用批量命令:

alterdatabaseaddlogfile group4'/data/log/REDO_LOG04.log'size 500M,

group5'/data/log/REDO_LOG05.log'size 500M,

group6'/data/log/REDO_LOG06.log'size 500M

当日志状态为active的时候,我们要改变它的大小,但是又无法删除,我们需要使用命令:

altersystemswitchlogfile改变current log

改变之后,currentlog变成第2组日志,第1组日志状态为active,再等待一定时间其状态变为inactive的时候就可以删除了。

如果日志组1的状态长时间不改变,可以执行手动生成检查点命令:altersystemcheckpoint


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11787109.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存