Skip to content

Commit a406a2d

Browse files
committed
updtate
1 parent a08cd06 commit a406a2d

8 files changed

+868
-19
lines changed

2表空间及数据文件.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ oracle 12c 支持在数据文件联机状态时对其进行重命名和移动。
292292
```sql
293293
SQL> create tablespace mvdata datafile 'mvdata.dbf' size 5m;
294294
SQL> alter tablespace mvdata add datafile 'mvdata2.dbf' size 5m;
295-
SQL> alter tablespace move datafile 'mvdata.dbf' to 'syl_mvdata.dbf';
295+
SQL> alter database move datafile 'mvdata.dbf' to 'syl_mvdata.dbf';
296296
```
297297

298298
移动数据文件跟重命名类似,只是将 to 后面的字符串改成你的目的位置即可。

3表.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -292,10 +292,10 @@ SYSTEM SYS_C007385 TECH EMAIL
292292
这样去数据字典中查还是比较麻烦,我们可以使用下面的方式创建唯一约束,这样能够直接根据报错知道是哪一个字段违反了约束条件。例如我们增加 `cid` 字段,添加唯一约束。
293293

294294
```sql
295-
SQL> alter table tech add(cid varchar2(30),constraint uk_email unique(email));
295+
SQL> alter table tech add(cid number,constraint uk_cid unique(cid));
296296
```
297297

298-
> 注意:设置的约束名称(这里是 `uk_email` )不可以重复。
298+
> 注意:设置的约束名称(这里是 `uk_cid` )不可以重复。
299299
300300
向里面插入数据:
301301

@@ -304,7 +304,7 @@ SQL> insert into tech(id,name,email,cid) values (3,'syl3','[email protected]',1);
304304
SQL> insert into tech(id,name,email,cid) values (4,'syl4','[email protected]',1);
305305
```
306306

307-
报错 `SQL 错误: ORA-00001: 违反唯一约束条件 (SYSTEM.UK_EMAIL)`
307+
报错 `SQL 错误: ORA-00001: 违反唯一约束条件 (SYSTEM.UK_CID)`
308308

309309
### 主键约束 PRIMARY
310310

@@ -425,3 +425,4 @@ SQL> drop table syl_stu;
425425
426426
## 总结
427427

428+
![此处输入图片的描述](https://doc.shiyanlou.com/document-uid8797labid4716timestamp1520408411343.png/wm)

9备份恢复.md

+19-3
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,20 @@ $ expdp system/Syl12345 tables=student directory=dpd dumpfile=exp_student.dmp
7171
```
7272

7373
> - `system/Syl12345` 是执行备份的用户名和密码。
74-
>
7574
> - `tables` 是指定要备份的表。
76-
>
7775
> - `directory` 是指定备份存放的位置。如果不指定参数,则会存放到默认位置 `DATA_PUMP_DIR` ,可以使用 `select * from dba_directories where directory_name='DATA_PUMP_DIR';` 查询到。
78-
>
7976
> - `dumpfile` 是指定备份的文件名。
77+
>
78+
> 标准版不支持 OLAP ,所以会有类似 `DBMS_AW_EXP: SYS.AW$EXPRESS: OLAP not enabled` 这样的警告,这个不影响。
79+
80+
看到类似下面的输出就导出成功了:
81+
82+
```bash
83+
Dump file set for SYSTEM.SYS_EXPORT_TABLE_01 is:
84+
/u01/app/oracle/admin/xe/dpdump/exp_student.dmp
85+
Job "SYSTEM"."SYS_EXPORT_TABLE_01" successfully completed at Thu Mar 8 09:52:33 2018 elapsed 0 0
86+
0:00:26
87+
```
8088

8189
除了可以指定上述的参数外,还有很多其他的参数,可参见 [expdp 命令行输入参数](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sutil/oracle-data-pump-export-utility.html#GUID-33880357-06B1-4CA2-8665-9D41347C6705)
8290

@@ -90,6 +98,10 @@ $ impdp system/Syl12345 remap_table=student:studentbak directory=dpd dumpfile=ex
9098

9199
> - `remap_table` 指定在导入时更改表名。冒号左边的是旧表名,冒号右边的是新表名。如果你想直接覆盖 student 表的话可以使用 `TABLE_EXISTS_ACTION=REPLACE`
92100
> - `dumpfile` 指定要导入备份的文件名。
101+
>
102+
> 会看到一个主键存在的 error,因为我们并未删除表空间的 student 表和主键,这个不影响。
103+
104+
导入完成后,登入实例可以查询到我们导入的表。
93105

94106
除了可以指定上述的参数外,还有很多其他的参数,可参见 [impdp 命令行输入参数](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sutil/datapump-import-utility.html#GUID-BA74D4F6-2840-4002-A673-0A7D9CBB3D78)
95107

@@ -442,6 +454,8 @@ RMAN> restore database until restore point syl_res_scn;
442454
RMAN> recover database until restore point syl_res_scn;
443455
```
444456

457+
![实验楼](https://dn-simplecloud.shiyanlou.com/87971520479289926-wm)
458+
445459
### 使用 resetlogs 打开数据库,重建联机重做日志
446460

447461
```rman
@@ -454,6 +468,8 @@ RMAN> alter database open resetlogs;
454468
RMAN> select * from tab where tname='SYL_RES';
455469
```
456470

471+
![实验楼](https://dn-simplecloud.shiyanlou.com/87971520479353681-wm)
472+
457473
更多有关 RMAN 备份还原的内容可参考 [Getting Started withRMAN](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/bradv/getting-started-rman.html#GUID-871FF5B2-C82B-462E-8182-FA28CF7B3E3B)
458474

459475

优化SQL - 副本.md

+1
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ VALUE
179179
在 bash 命令行输入如下命令:
180180

181181
```bash
182+
$ cd /u01/app/oracle/diag/rdbms/xe/xe/trace
182183
$ tkprof xe_ora_1539.trc myid.prf explain=sys/Syl12345
183184

184185
TKPROF: Release 12.1.0.2.0 - Development on Fri Mar 2 15:22:59 2018

内存优化.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ SQL> startup force;
113113

114114
```sql
115115
SQL> alter system set memory_target=0;
116-
SQL> alter system set memory_max_target=0;
116+
SQL> alter system set memory_max_target=0 scope=spfile;
117117
```
118118

119119
另外,通过 `v$memory_resize_ops` 可以查看过去 800 个已完成的内存调整中,数据库实例是怎样调整各个内存大小的。

0 commit comments

Comments
 (0)