数据库启动关闭
-- 关闭数据库
shutdown;
-- 打开数据库
startup;
数据库的备份与恢复
逻辑备份:使用工具export将数据对象的结构和数据导出到文件的过程。
逻辑恢复:使用工具import利用备份的文件将数据对象导入到数据库的过程。
物理备份即可在数据库open状态下进行,也可在关闭数据库后进行,但是逻辑备份和恢复只能在open状态下进行。
使用exp导出表、方案、数据库,使用cmd切换到Oracle安装目录的bin目录,使用exp命令导出
exp命令常用参数
属性 | 操作 |
---|---|
userid | 执行导出操作的用户名、口令、连接字符 |
tables | 指定执行导出操作的表 |
owner | 指定执行导出操作的方案 |
full=y | 指定执行导出操作的数据库 |
inctype | 指定执行导出操作的增量类型 |
rows | 指定执行导出操作是否导出表中的数据 |
file | 指定导出文件名 |
direct | 直接导出,比常规导出方式速度要快,适应大量数据导出 |
导出表
-- 导出指定表
exp userid=scott/trigger@orcl tables=(emp) file=d:\emp.dmp;
-- 导出其他用户的表,执行操作的用户必须有dba权限或者exp_full-database的权限
exp userid=system/manager@orcl tables=(scott.emp) file=d:\emp.dmp;
-- 导出表的结构
exp userid=scott/trigger@orcl tables=(emp) file=d:\emp.dmp rows=n;
-- 使用直接导出的方式,比常规导出方式要快,当数据量大时可以使用该方式
-- 必须保证数据的字符集合客户端字符集完全一致,否则出错
exp userid=scott/trigger@orcl tables=(emp) file=d:\emp.dmp direct=y;
导出方案
-- 导出自己的方案
exp userid=scott/trigger@orcl owners=scott file=d:\scott.dmp
-- 导出其他用户的方案,需要有dba或者exp_full_database权限
exp userid=system/manager@orcl owners=(system,scott) file=d:\scott.dmp
导出数据库
-- 导出用户必须有dba权限或者exp_full_database权限
-- complete 增量备份
exp userid=scott/trigger@orcl full=y inctype=complete file=d:\scott.dmp;
导入表
-- 导入表
imp userid=scott/trigger@orcl tables=(emp) file=d:\emp.dmp;
-- 导入表结构
imp userid=scott/trigger@orcl tables=(emp) file=d:\emp.dmp rows=n;
-- 导入数据
-- 如果对象(表)已经存在可以导入表的数据
imp userid=scott/trigger@orcl tables=(emp) file=d:\emp.dmp ignore=y;
导入方案
-- 导入自己的方案
imp userid=scott/trigger@orcl file=d:\scott.dmp
-- 导入其他用户的方案,需要有dba权限
imp userid=system/manager@orcl file=d:\scott.dmp fromuser=system touser=scott;
导入数据库
-- 默认导入所有对象结构和数据
imp userid=scott/trigger@orcl full=y file=d:\scott.dmp;
数据字典和动态视图
-- 返回当前用户对应的所有表,只返回当前用户方案权限表
user_tables
-- 返回当前用户可访问的所有表,包括别的方案
all_tables
-- 查询用户必须具有dba权限,或者select any table权限
--显示数据库所有方案的所有表
dba_tables
-- 所有用户
dba_users
-- 系统权限
dba_sys_privs
-- 对象权限
dba_tab_privs
-- 列权限
dba_col_privs
-- 角色权限
dba_role_privs