You've already forked www.colben.cn
update
This commit is contained in:
@@ -6,7 +6,7 @@ tags: ["oracle"]
|
||||
categories: ["database"]
|
||||
---
|
||||
|
||||
# 字符型
|
||||
## 字符型
|
||||
类型 | 大小 | 描述
|
||||
---- | ---- | ----
|
||||
varchar2 | 0~4000 | 可变长度字符串
|
||||
@@ -15,26 +15,26 @@ char | 0~2000 | 定长字符型数据
|
||||
nchar | 0~1000 | Unicode字符集定长字符型数据
|
||||
long | 0~2GB | 变长字符串
|
||||
|
||||
# 数字型
|
||||
## 数字型
|
||||
类型 | 进制 | 描述
|
||||
---- | ---- | ----
|
||||
number(p,s) | 十进制 | p最大精度38位,s小数位数
|
||||
float | 二进制 | 126位整数
|
||||
|
||||
# 日期
|
||||
## 日期
|
||||
类型 | 大小 | 描述
|
||||
---- | ---- | ----
|
||||
date | 公元前4712-1-1~9999-12-31 | 存储日期和时间
|
||||
timestamp | 公元前4712-1-1~9999-12-31 | 精确到小数秒,显示上下午
|
||||
|
||||
# 其他数据类型
|
||||
## 其他数据类型
|
||||
类型 | 大小 | 描述
|
||||
---- | ---- | ----
|
||||
blob | 4GB | 二进制
|
||||
clob | 4GB | 字符串
|
||||
bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
|
||||
# 创建表
|
||||
## 创建表
|
||||
```sql
|
||||
CREATE TABLE table_name
|
||||
(
|
||||
@@ -49,7 +49,7 @@ bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
DROP TABLE table_name;
|
||||
```
|
||||
|
||||
# 删除表
|
||||
## 删除表
|
||||
```bash
|
||||
DROP TABLE table_name;
|
||||
# 执行最快,删除数据、结构、索引、约束、触发器和索引,存储过程和索引invalid状态,直接生效,不可回滚,不释放空间
|
||||
@@ -59,7 +59,7 @@ bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
# 执行最慢,只删除数据,commit 后生效,可回滚,不释放空间
|
||||
```
|
||||
|
||||
# 操作表列
|
||||
## 操作表列
|
||||
```sql
|
||||
ALTER TABLE table_name
|
||||
ADD column_name datatype [NULL|NOT NULL]
|
||||
@@ -68,93 +68,93 @@ bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
-- 删除列时通常追加 CASCADE CONSTRAINTS ,以删除于该列有关的约束
|
||||
```
|
||||
|
||||
# 操作主键
|
||||
## 操作主键
|
||||
```sql
|
||||
ALTER TABLE table_name
|
||||
ADD CONSTRAINTS constraint_name PRIMARY KEY(column_name)
|
||||
|DROP CONSTRAINTS constraint_name;
|
||||
```
|
||||
|
||||
# 操作外键
|
||||
## 操作外键
|
||||
```sql
|
||||
ALTER TABLE table_name
|
||||
ADD CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCE table_name(column_name) ON DELETE CASCADE
|
||||
|DROP CONSTRAINT constraint_name;
|
||||
```
|
||||
|
||||
# 操作CHECK约束
|
||||
## 操作CHECK约束
|
||||
```sql
|
||||
ALTER TABLE table_name
|
||||
ADD CONSTRAINT constraint_name CHECK(condition)
|
||||
|DROP CONSTRAINT constraint_name;
|
||||
```
|
||||
|
||||
# 操作UNIQUE约束
|
||||
## 操作UNIQUE约束
|
||||
```sql
|
||||
ALTER TABLE table_name
|
||||
ADD CONSTRAINT constraint_name UNIQUE(column_name)
|
||||
|DROP CONSTRAINT constraint_name;
|
||||
```
|
||||
|
||||
# 添加数据
|
||||
## 添加数据
|
||||
```sql
|
||||
INSERT INTO table_name(column_name1,column_name2,...)
|
||||
VALUES(data1,data2,...)
|
||||
|SELECT column_name1,column_name2...FROM table_name2;
|
||||
```
|
||||
|
||||
# 修改数据
|
||||
## 修改数据
|
||||
```sql
|
||||
UPDATE table_name SET column_name1=data1,column_name2=data2,...[WHERE condition];
|
||||
```
|
||||
|
||||
# 删除数据
|
||||
## 删除数据
|
||||
```sql
|
||||
DELETE FROM table_name [WHERE condition];
|
||||
TRUNCATE TABLE table_name;
|
||||
```
|
||||
|
||||
# 查询数据
|
||||
## 查询数据
|
||||
```sql
|
||||
SELECT column_name1,column_name2,...FROM table_name [WHERE condition];
|
||||
```
|
||||
|
||||
# MERGE语句
|
||||
## MERGE语句
|
||||
```sql
|
||||
MERGE INTO table_name1 USING table_name2 ON(condition) WHEN MATCHED THEN ... WHEN NOT MATCHED THEN ...;
|
||||
```
|
||||
|
||||
# SELECT 语句
|
||||
## SELECT 语句
|
||||
```sql
|
||||
SELECT [DISTINCT|ALL] select_list FROM table_list [WHERE ...] [GROUP BY ...] [HAVING ...] [ORDER BY ...];
|
||||
```
|
||||
|
||||
# select_list
|
||||
## select_list
|
||||
```sql
|
||||
*|[schema.] {table|view} .*|expr[ [AS ]c_alias]
|
||||
```
|
||||
|
||||
# expr
|
||||
## expr
|
||||
```sql
|
||||
"||" 连接的字符串 | 函数
|
||||
```
|
||||
|
||||
# ORDER BY ...
|
||||
## ORDER BY ...
|
||||
```sql
|
||||
{expr|positon|c_alias} {ASC|DESC} {NULLS FIRST|NULLS LAST}[ {expr|positon|c_alias} {ASC|DESC} {NULLS FIRST|NULLS LAST},...]
|
||||
```
|
||||
|
||||
# 模糊查询关键字like
|
||||
## 模糊查询关键字like
|
||||
```sql
|
||||
'_'替代一个字符,'%'替代多个字符
|
||||
```
|
||||
|
||||
# 从给定值中选取查询
|
||||
## 从给定值中选取查询
|
||||
```sql
|
||||
IN(data1,data2,...)
|
||||
```
|
||||
|
||||
# 连接
|
||||
## 连接
|
||||
```sql
|
||||
-- 连接,只能查询匹配记录
|
||||
SELECT select_list FROM table_name1 INNER JOIN table_name2 ON condition;
|
||||
@@ -166,7 +166,7 @@ bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
SELECT select_list FROM table_name1 FULL JOIN table_name2 ON condition;
|
||||
```
|
||||
|
||||
# 内置函数
|
||||
## 内置函数
|
||||
```sql
|
||||
ABS(n) -- n绝对值
|
||||
MOD(n2,n1) -- n2对n1取余
|
||||
@@ -220,17 +220,17 @@ bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
DECODE(expr,search,result[,search1,result1...]) -- expr结果是search返回result
|
||||
```
|
||||
|
||||
# 查看所有默认表空间
|
||||
## 查看所有默认表空间
|
||||
```sql
|
||||
SELECT TABLESPACE_NAME FROM DBA_TABLESPACES;
|
||||
```
|
||||
|
||||
# 查看指定用户默认表空间
|
||||
## 查看指定用户默认表空间
|
||||
```sql
|
||||
SELECT DEFAULT_STAPCE,USERNAME FROM DBA_USERS WHERE USERNAME='username';
|
||||
```
|
||||
|
||||
# 创建表空间
|
||||
## 创建表空间
|
||||
```sql
|
||||
CREATE TABLESPACE tablespace_name
|
||||
DATAFILE filename
|
||||
@@ -242,54 +242,54 @@ bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
[AUTOALLOCATE|UNIFORM. [SIZE integer[K|M]]]];
|
||||
```
|
||||
|
||||
# 重命名表空间
|
||||
## 重命名表空间
|
||||
```sql
|
||||
ALTER TABLESPACE oldname RENAME TO newname;
|
||||
```
|
||||
|
||||
# 修改表空间大小
|
||||
## 修改表空间大小
|
||||
```sql
|
||||
ALTER DATABASE DATAFILE filename RESIZE size;
|
||||
```
|
||||
|
||||
# 增加表空间大小
|
||||
## 增加表空间大小
|
||||
```sql
|
||||
ALTER TABLESPACE tablespace_name ADD DATAFILE filename SIZE size;
|
||||
```
|
||||
|
||||
# 设置表空间读写状态
|
||||
## 设置表空间读写状态
|
||||
```sql
|
||||
ALTER TABLESPACE tablespace_name READ {ONLY|WRITE};
|
||||
```
|
||||
|
||||
# 设置表空间可用状态
|
||||
## 设置表空间可用状态
|
||||
```sql
|
||||
ALTER TABLESPACE tablespace_name {ONLINE|OFFLINE [NORMAL|TEMPORARY|IMMEDIATE]};
|
||||
```
|
||||
|
||||
# 创建大文件表空间
|
||||
## 创建大文件表空间
|
||||
```sql
|
||||
CREATE BIGFILE TABLESPACE tablespace_name DATAFILE filename SIZE size;
|
||||
```
|
||||
|
||||
# 删除表空间
|
||||
## 删除表空间
|
||||
```sql
|
||||
DROP TABLESPACE tablespace_name
|
||||
[INCLUDING CONTENTS AND DATAFILES] 数据文件删除
|
||||
[CASCADE CONSTRAINTS]; 完整性删除
|
||||
```
|
||||
|
||||
# 查看表空间大小
|
||||
## 查看表空间大小
|
||||
```sql
|
||||
SELECT TABLESPACE_NAME,FILE_NAME,BYTES FROM DBA_DATA_FILES WHERE TABLESPACE_NAME=tablespace_name;
|
||||
```
|
||||
|
||||
# 查看表空间剩余 空间
|
||||
## 查看表空间剩余 空间
|
||||
```sql
|
||||
SELECT TABLESPACE_NAME,BYTES FROM DBA_FREE_SPACES;
|
||||
```
|
||||
|
||||
# 创建/修改用户
|
||||
## 创建/修改用户
|
||||
```sql
|
||||
CREATE|ALTER
|
||||
USER user_name
|
||||
@@ -301,12 +301,12 @@ bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
[ACCOUNT LOCK|UNLOCK]; 默认锁定状态
|
||||
```
|
||||
|
||||
# 删除用户
|
||||
## 删除用户
|
||||
```sql
|
||||
DROP USER user_name CASCADE;
|
||||
```
|
||||
|
||||
# 授予系统权限
|
||||
## 授予系统权限
|
||||
```sql
|
||||
GRANT
|
||||
system_privileges|ALL PRIVILEGES 权限
|
||||
@@ -314,7 +314,7 @@ bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
[WITH ADMIN OPTION]; 授予其他用户或角色系统权限
|
||||
```
|
||||
|
||||
# 授予对象权限
|
||||
## 授予对象权限
|
||||
```sql
|
||||
GRANT
|
||||
object_privilege|ALL 权限
|
||||
@@ -324,13 +324,13 @@ bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
[WITH THE GRANT ANY OBJECT]; 授予其他用户或角色对象权限
|
||||
```
|
||||
|
||||
# 撤销系统权限
|
||||
## 撤销系统权限
|
||||
```sql
|
||||
REVOKE system_privilege FROM
|
||||
user|role;
|
||||
```
|
||||
|
||||
# 撤销对象权限
|
||||
## 撤销对象权限
|
||||
```sql
|
||||
REVOKE
|
||||
object_privilege |ALL
|
||||
@@ -339,14 +339,14 @@ bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
[CASCADE CONSTRAINTS];
|
||||
```
|
||||
|
||||
# 数据字典
|
||||
## 数据字典
|
||||
数据 | 字典
|
||||
---- | ----
|
||||
系统权限 | DBA_SYS_PRIVS
|
||||
对象权限 | DBA_TAB_PRIVS
|
||||
用户角色 | DBA_ROLE_PRIVS
|
||||
|
||||
# 创建角色
|
||||
## 创建角色
|
||||
```sql
|
||||
CREATE|ALTER //创建/修改
|
||||
ROLE role_name
|
||||
@@ -363,17 +363,17 @@ bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
SET ROLE NONE -- 设置所有角色失效
|
||||
```
|
||||
|
||||
# 删除角色
|
||||
## 删除角色
|
||||
```sql
|
||||
DROP ROLE role_name;
|
||||
```
|
||||
|
||||
# 脱机备份(冷备份)/恢复
|
||||
## 脱机备份(冷备份)/恢复
|
||||
```sql
|
||||
关闭数据库服务后直接复制需要的文件,包括数据文件和控制文件
|
||||
```
|
||||
|
||||
# 联机备份(热备份)
|
||||
## 联机备份(热备份)
|
||||
```sql
|
||||
ARCHIVE LOG LIST 查看本机数据库的日志状态
|
||||
ALTER SYSTEM SET LOG_ARCHIVE_START=TRUE SCOPE=SPFILE; 设置日志模式为归档
|
||||
@@ -386,7 +386,7 @@ bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
ALTER TABLESPACE tablespace_name END BACKUP; 结束备份操作
|
||||
```
|
||||
|
||||
# 恢复
|
||||
## 恢复
|
||||
```sql
|
||||
ALTER SYSTEM ARCHIVE LOG CURRENT; 归档当前日志
|
||||
ALTER SYSTEM SWITCH LOGFILE; 切换日志文件
|
||||
@@ -397,49 +397,49 @@ bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
ALTER DATABASE DATAFILE file_id ONLINE; 设置数据文件联机
|
||||
```
|
||||
|
||||
# EXP工具导出数据
|
||||
## EXP工具导出数据
|
||||
```bash
|
||||
exp db_user/password 登陆数据库的用户名和密码,非SYS
|
||||
```
|
||||
|
||||
# EXP工具直接导出表
|
||||
## EXP工具直接导出表
|
||||
```bash
|
||||
exp db_user/password file="filename.dmp" tables="table_name,..."
|
||||
```
|
||||
|
||||
# EXP工具导出表空间
|
||||
## EXP工具导出表空间
|
||||
```bash
|
||||
exp db_user/password file="filename.dmp" tablespaces="tablespaces_name"
|
||||
```
|
||||
|
||||
# EXPDP导出数据
|
||||
## EXPDP导出数据
|
||||
```sql
|
||||
CREATE DIRECTORY directory_name AS 'file_name'; 目录名称 文件名称
|
||||
GRANT READ,WRITE ON DIRECTORY directory_name TO db_user; 授权用户使用该目录
|
||||
#expdp db_user/password directory=directory_name dumpfile=file_name tables=table_name;
|
||||
```
|
||||
|
||||
# IMP导入数据
|
||||
## IMP导入数据
|
||||
```sql
|
||||
imp db_user/password
|
||||
```
|
||||
|
||||
# IMP直接导入表
|
||||
## IMP直接导入表
|
||||
```sql
|
||||
imp db_user/password file="filename.dmp" tables="table_name,..."
|
||||
```
|
||||
|
||||
# IMPDP导入数据
|
||||
## IMPDP导入数据
|
||||
```sql
|
||||
impdp db_user_password
|
||||
```
|
||||
|
||||
# IMPDP直接导入表
|
||||
## IMPDP直接导入表
|
||||
```bash
|
||||
impdp db_user/password directory=dir dumpfile=filename.dmp tables=table_name;
|
||||
```
|
||||
|
||||
# RMAN工具配置
|
||||
## RMAN工具配置
|
||||
```sql
|
||||
CONN /AS SYSDBA; 连接恢复目录数据库
|
||||
CREATE USER rman_user IDENTIFIED BY password DEFAULT TABLESPACE tablespace_name; 创建恢复用户
|
||||
@@ -449,7 +449,7 @@ bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
CREATE CATALOG; 创建恢复目录
|
||||
```
|
||||
|
||||
# RMAN工具使用
|
||||
## RMAN工具使用
|
||||
```sql
|
||||
#rman target db_user/password@servicename catalog rman_user/password 连接恢复目录数据库
|
||||
CONNECT TARGET db_user/password@servicename; 连接目标数据库
|
||||
@@ -457,7 +457,7 @@ bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
REGISTER database; 在恢复目录数据库中注册数据库
|
||||
```
|
||||
|
||||
# 手动分配通道
|
||||
## 手动分配通道
|
||||
```sql
|
||||
关闭目标数据库,启动到mount状态,运行:
|
||||
run
|
||||
@@ -468,27 +468,27 @@ bfile | 视操作系统 | 存储非结构化数据到数据库外的文件中
|
||||
}
|
||||
```
|
||||
|
||||
# 自动分配通道
|
||||
## 自动分配通道
|
||||
```sql
|
||||
CONFIGURE DEVICE TYPE {sbt|disk} PARALLELISM n; 指定通道类型和名称
|
||||
CONFIGURE DEFAULT DEVICE TYPE {sbt|disk}; 指定默认设备类型
|
||||
BACKUP [level] [backup type] [option];
|
||||
```
|
||||
|
||||
# BACKUP 参数
|
||||
## BACKUP 参数
|
||||
```sql
|
||||
level 备份增量,1、2、3、4或者FULL(全备份)
|
||||
backup type 对象类型,database、datafile、tablespace、controlfilecopy、archivelog all
|
||||
option channel备份使用的通道 maxsetsize定义备份集的最大值
|
||||
```
|
||||
|
||||
# RESTORE还原
|
||||
## RESTORE还原
|
||||
```sql
|
||||
RESTORE database_object;
|
||||
database_object: DATABASE(mount),TABLESPACE(open),DATAFILE,CONTROLFILE(mount),ARCHIVELOG,SPFILE(mount)
|
||||
```
|
||||
|
||||
# RECOVER同步恢复
|
||||
## RECOVER同步恢复
|
||||
```sql
|
||||
RECOVER database_object;
|
||||
database_object: DATABASE(mount),TABLESPACE(open),DATAFILE
|
||||
|
Reference in New Issue
Block a user