一、管理数据库的用户主要是:sys、system
(1)存储的数据的重要性
sys:所有oracle的数据库字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba(数据库管理员角色),sysdba(系统管理员),sysoper(系统操作员)角色或权限是oracle权限最高的用户
system:用于存放次一级的内部数据,如oracle的一些特性和工具的管理信息。system用户拥有dba,sysdba角色或系统权限
(2)权限不同
sys用户必须以as、 sysdba或 as sysoper形式登录,不能以normal方式登录
system如果正常登录,它其实就是一个普通的dba用户,但是如果以as sysdba登录,其结果实际上它是作为sys用户登录的,从登录信息里面可以看出来。
例如;conn sys/12345 as sysdba;
sys 、system、sysoper三种角色分析;
图1
dba权限的用户:
dba用户是指具有dbajuese的数据库用户,特权用户可以执行启动实例,关闭实例等特殊操作,而dba用户只有在启动数据库后才能执行各种管理工作。
conn system/manager as sysdba;
shutdown;关闭数据库
startup;打开数据库
二、管理初始化参数
初始化参数用于这只实例或者是数据库特征。oracle9i提供了200多个初始化参数,并且每个初始化参数都有默认值。
显示初始化参数
(1)show parameter命令
如何修改参数?
D:\app\wangbing\admin\orcl\pfile\init.ora
三、数据库(表)的逻辑备份与恢复
------------------------导入和导出时,要到oracle的bin目录下------------------------------------------
逻辑备份是指使用工具export将数据对象的结构和数据导出到文件的过程,逻辑恢复是指当数据库对象误操作而损坏后使用工具import利用数据备份的文件把数据对象导入到数据库的过程。物理备份即可在数据库open的状态下进行,也可以在关闭数据库后进行,但是逻辑备份和回复只能在open的状态下进行。
----------------------------导出:三种(导出表、导出方案、导出数据库)--------------------------------------------
导出使用exp命令来完成,其选项有:
userid:用于指定执行导出操作的用户名,口令,连接字符串
tables:用于指定执行导出操作的表
owner:用于指定执行导出操作的方案
full=y:用于指定执行导出操作的数据库
inctype:用于指定执行导出操作的增量类型
rows:用于指定执行导出操作是否要导出表中的数据
file:用于指定导出文件名
导出表:
(1)导出自己的表
exp userid = scott/tiger @oracl tables =(emp ,其他表名) file = d:\e1.dmp;
(2)导出其他方案的表
如果用户要导出其他方案的表,则需要dba的权限或是exp_full_database的权限,比如system就是可以导出scott的表
exp userid = system/3142344 @oracl tables =(scott.emp ,其他表名) file = d:\e2.dmp
(3)导出表结构
exp userid = scott/tiger @oracl tables =(emp ,其他表名) file = d:\e3.dmp rows =n;
(4)使用直接导出方式
exp userid = scott/tiger @oracl tables =(emp ,其他表名) file = d:\e4.dmp direct = y;
这种方式比常规的方式快,当数据量大时,可以考虑,【注:需要数据库的字符集要与客户端的字符集完全一致,否则会报错】
导出方案:
导出方案是指使用export工具导出一个方案或是多个方案中的所有对象(表,索引,约束...)和数据。并存放到文件中。
(1)导出自己的方案
exp scott/tiger@tiger@orcl owner = scott file = d:\scott.dmp;
(2)导出其他方案
如果要导出其他方案,则需要dba的权限或是exp_full_database的权限,例如system用户就可以导出任何方案
expsystem/tiger@tiger@orcl owner = (system,scott) file = d:\scott.dmp;
表示:用system用户,导出scott 的方案!
导出数据库:
利用export导出所有数据库中的对象及数据,要求该用户具有dba权限或者exp_full_database权限
exp system/tiger@tiger@orcl full =y inctype = completefile =d:\scott.dmp;
增量备份!
---------------------------导入--------------------------------------------
导入就是使用工具import将文件中的对象和数据导入到数据库中,但是导入要使用的文件必须是export所到处的文件,同样有三种方式,导入表,导入方案,导入数据库。
imp 常用的选项;
userid:用于指定执行导入操作的用户名,口令,连接字符串
tables:用于指定执行导入操作的表
formuser:用于指定源用户
touser:用于指定目标用户
file:用于指定导入文件名
full= y:用于指定执行导入操作的增量类型
inctype:用于指定执行导入操作的增量类型
rows:指定是否要导入表行(数据)
ignore:如果表存在,则只导入数据
导入表:
(1)导入自己的表:imp userid =scott/tiger@myor tables=(emp) file = d:\a.dmp
(2)导入表到其他用户:要求该用户具有dba的权限,或者是imp_full_database
imp userid=system/manerage@myor tables = (emp) file = d:\s.dmp rows = n
(3)导入表的结构
只导入表的结构而不导入数据
imp userid = scott/tiger@myor tables =(emp) file=d:\a.dmp rows = n;
(4)导入数据
如果对象(比如表)已经存在可以导入表的数据
imp userid =scott /tiger@myor tables =(emp) file =d:\da.dmp ignore = y;
导入方案:
导入方案是指使用inport工具将文件中的对象和数据导入到一个或者多个方案中,如果导入其他方案,要求该用户具有dba权限,或者imp_full_database
(1)导入自身方案
imp userid = scott /tiger@myor file=d:\a.bmp
(2)导入其他方案
要求该用户具有dba的权限
imp userid = system/tiger file = d:\a.dmp formuser = system touser =scott;
导入数据库:
默认时 ,导入数据库,会导入所有对象结构和数据。
imp userid=system/tiger full=y file=d:\a.dmp