数据库基本管理
来源:互联网 发布:杭州房地产数据 编辑:程序博客网 时间:2024/06/03 09:35
通过实例创建数据库时会有sys,与system两个用户,对于两个用户,sys管理级别高于system
具体用法:
sys::所有的oracle的数据字典的基表和动态视图都存放在sys用户中,这些基表和视图对oracle来说是至关重要的,有数据库自己来维护,任何用户不能手动修改,sys用户是拥有最高权限的用户
system:存放的是一些次要级的数据,如oracle的一些特性或者工具的管理信息,拥有的权限也很高
·权限不同
sys:必须要用sysdba或者sysoper的身份才能登陆
system:可以使用sysdba的身份登陆,也可以使用normal的身份登陆,如果以sysdba身份登陆的话,那么就是相当于sys用户
sysdba 与 sysoper 身份的区别:
sysdba拥有最高的系统权限,登陆后是 sys
sysoper主要用来启动、关闭数据库,sysoper 登陆后用户是 public
sysdba和sysoper属于system privilege,也称为administrative privilege,拥有例如数据库开启关闭之类一些系统管理级别的权限sysdba和sysoper具体的权限可以看下表:
系统权限
sysdba
sysoper
区别
Startup(启动数据库)
startup
Shutdown(关闭数据库)
shutdown
alter database open/mount/backup
alter database open/mount/backup
改变字符集
none
create database(创建数据库)
None不能创建数据库
drop database(删除数据库)
none
create spfile
create spfile
alter database archivelog(归档日志)
alter database archivelog
alter database recover(恢复数据库)
只能完全恢复,不能执行不完全恢复
拥有restricted session(会话限制)权限
拥有restricted session权限
可以让用户作为sys用户连接
可以进行一些基本的操作,但不能查看用户数据
登录之后用户是sys
登录之后用户是public
dba用户:
dba用户是指具有dba角色的数据库用户,特殊用户(sys)可以关闭和启动数据库,但是普的dba用户不能进行
二,数据库的备份
逻辑备份和物理备份
导出(逻辑备份):导出可以分为导出表,导出方案,导出数据三种,用exp命令来完成
,常用的选项有:
userid:用于指定执行导出操作的用户名,密码,连接字符串
tables: 用于指定导出操作的表
owner: 用于指定执行导出操作的方案
full: = y/n 用户指定导出操作的数据库
inctype: 用于指定导出操作的增量类型
rows: =y/n 用于指定执行导出操作是否要导出表中的数据
file: 用于指定导出的路径以及文件名
compress: 用于导出的时候压缩文件
要进行导出操作,可以在oracle的D:\oracle\ora92\bin下面建立一个.bat文件,把命令写在.bat文件里面,也可以在dos命令下面输入,但是要先进入到这个文件夹中;
·导出表
|- 导出自身的表
exp userid=scott/tiger@hwt tables=(emp) file=D:\scott_emp.dmp;
|- 导出其他方案的表
如果用户要导出其他的方案的表,则需要dba的角色或是exp_full_database的权限,比如system就可以导出scottt表
exp userid=system/manager@hwt tables=(scott.emp,scott.dept) file=d:\system_emp_dept.dmp;
|- 只导出表的结构
exp userid=scott/tiger@hwt tables=(emp) file=D:\scott_emp.dmp rows=n;
//rows=n 意思就是不导出数据,只是导出结构
|- 直接导出
exp userid=scott/tiger@hwt tables=(emp) file=D:\scott_emp.dmp direct=y;
直接导出的速度很快,尤其在导入大对象的时候速度很快
直接导出的限制 :1. 导出表空间必须使用传统模式。
2. 含有LOB对象的表不支持直接导出模式。
3. 直接导出不支持QUERY.
4. 直接导出模式使用RECORDLENGTH设置一次可以导出数据的量,传统模式使用buffer设置.
5. 低版本直接导出模式要求导出客户端和数据库字符集设置一致。
·导出方案
|- 导出自己的方案
exp userid=scott/tiger@hwt owner=scott file=D:\scott_shema.dmp;
|- 导出其他的方案
导出其他的方案必须具有dba的角色,或者具有exp_full_database的权限,如:system可以导出任何的方案
exp userid=system/manager@hwt owner=(system,scott) file=D:\scott_shema.dmp;
·导出数据库
导出数据库必须具有dba的角色或者是exp_full_database的权限,同时因为导出数据的时间很长,而且不容易成功完成整个数据库的导出,所以少用
|- exp userid=system/manager@hwt full=y inctype=complete file=d:\hwt.dmp
导入(逻辑恢复)
·导入表
|- 导入自己的表
imp userid=scott/tiger@hwt tables=(emp) file=D:\scott_emp.dmp;
|- 导入别人的表(需要dba角色或者exp_full_database的权限)
imp userid=system/manager@hwt tables=(emp) touser=hwt file=D:\scott_emp.dmp;
|- 导入表结构
imp userid=scott/tiger@hwt tables=(emp) rows=n file=D:\scott_emp.dmp;
|- 导入表的数据(如果表的结果存在,就只导入数据)
imp userid=scott/tiger@hwt tables=(emp) ignore=y file=D:\scott_emp.dmp;
注意的是,备份文件必须是自己这个用户导出的,要不就用dba权限来导入给别的方案
·导入方案
|- 导入自身的方案
imp userid=scott/tiger@hwt file=D:\scott_schema.dmp;
|- 导入其他的方案(需要有dba的权限)
imp userid=sytem/manger@hwt fromuser=system touser=scott file=D:\scott_schema.dmp;
·导入数据库
|- 导入数据库
在默认情况下,导入数据库会导入对象结构和数据
(前提是要有导出数据库的那个用户,这个用户要先存在)
imp userid=system/manager@hwt full=y file=D:\db_hwt.dmp;
注:通常导入用户命令
imp sys/sys@oracle file='.dmp' log='.log' fromuser='' touser='' commit=y
- 数据库基本管理
- MySQL数据库管理基本命令
- oracle数据库笔记之数据库基本管理
- Exchange Server2013系列十一:数据库基本管理
- SQLserver学习day02 数据库用户管理 数据库的基本维护
- Mariadb数据库:基本语句及操作 数据库及用户管理
- MySQL之终端:管理数据库的基本操作
- Linux运维笔记----Mariadb数据库基本管理
- ORACLE 数据库对数据表的基本管理语句
- 数据库基本
- 数据库基本
- 数据库基本
- 数据库管理
- 数据库管理
- 管理数据库
- 数据库管理
- 管理数据库
- 数据库管理
- 用Doxygen为objective-c代码生成文档
- 【每日面试题】找出数组中长度>=3的最长的等差数列
- DirectFB 在Ubuntu下编译
- WinForm程序中两份mdf文件问题的解决
- 恢复误删除的crontab计划任务
- 数据库基本管理
- U3D层的运用
- 图像去噪算法
- iOS 开发 初级:Audio 之 Audio Session
- iOS 7.1使用企业应用部署方式无法安装app(2014-09-13更新:dropbox被墙后的解决方案)
- 数据结构之二叉排序树(基于引用实现基本操作)
- CMMI,CM介绍
- 微信公众号粉丝数增加技巧
- 还经营着一家汽车销售公司