数据库维护与管理—2018

发布时间:2024-12-12 11:05

学习数据库管理:SQL基础和关系型数据库 #生活技巧# #工作学习技巧# #编程学习路径#

数据库管理员介绍
1.dba的主要工作
1)安装和升级oracle数据库
2)建库,表空间,表,视图,索引
3)指定并实施备份与恢复计划
4)数据库权限管理,调优,故障排除
5)对于高级dba,要求参与项目开发,会编写sql语句,存储过程,触发器,规则,约束,包
2、sys和system
system是数据库内置的一个普通管理员,你手工创建的任何用户在被授予dba角色后都跟这个用户差不多。
sys用数据库的超级用户,数据库内很多重要的东西(数据字典表、内置包、静态数据字典视图等)都属于这个用户,sys用户必须以sysdba身份登录。
1)最重要的区别,存储的数据的重要性不同
sys:所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于orcale的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys拥有dba、sysdba、sysoper角色或权限,是orcale权限最高的用户。
system:用于存放次一级的内部数据,如orcale的一些特性或工具的管理信息。system用户拥有dba,sysdba角色或系统权限。
2)其次的区别,权限不同
sys用户必须以sysdba或sysoper形式登录,不能以normal方式登录;
conn sys/change_on_install;
system如果正常登录,其实是一个普通的dba用户,但是如果以sysdba登录,其结果实际上是作为sys用户登录的。
conn system/manger as sysdba
show user
user为"SYS"

3)sysdba和sysoper的区别
sysdba拥有以下权限:启动数据库(startup)、关闭数据库(shutdown)、alter database open/mount/backup、改变字符集、创建数据库(create database)、删除数据库(drop database)、create spfile、alter database archivelog(归档日志)、拥有restricted session(会话限制)权限、可以让用户作为sys用户连接、登录之后是sys。
conn system/manger as sysdba
shutdown
startup

sysoper:基本权限跟sysdba差不多,但是不能改变字符集、不能创建和删除数据库、登录之后是public。
3.管理初始化参数
初始化参数用于设置实例或是数据库的特征。
显示初始化参数:show parameter命令
SQL plus的简单使用
前期配置:保证以上两个服务开启。运行 regedit,查看HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_OraDb11g_home1中的ORACLE_SID的值是否为当前数据库实例的名字(ORCL),如果不是则右击修改,注销重启电脑。
1.conn[ect]连接命令
用法:conn用户名/密码@网络服务名[as sysdba/sysoper]
注意:当用特殊用户身份连接时,必须带上as sysdba或as sysoper
例:
show user;
conn system/manger
show user;

2.disc[onnect]断开连接
passw[ord]修改密码
如果想修改其他用户的密码,则需要用sys/system账户
例:修改本身的密码
pass
更改SCOTT的口令
旧口令:
新口令:
重新键入新口令:
口令已更改

4.show user显示当前用户名
5.exit断开数据库连接并退出sqlplus
6.start和@运行sql脚本
例:start d:\aa.sql
7.edit编辑指定的sql脚本
8.spool截取sqlplus屏幕上的内容输出到指定文件中去
例:
spool d:\b.sql
select * from emp;
spool off

9.&交互替代变量,需要用户输入
例:
select * from emp where job=’&job’
输入job的值:CLERK
原值 1:select * from emp where job=’&job’
新值 1:select * from emp where job='CLERK’

10.set linesize 120 设置显示行的宽度,默认80个字符
11.set pagersize 8 设置每页显示的行数目,默认是14
oracle用户的管理
1.创建用户
conn system/manger;
create user xiaowang identified by m123;

注意:普通用户不行
2.修改别人密码
如果是sysdba角色,可以使用password命令
password xiaoming
更改xiaoming的口令
新口令:
重新键入新口令:
口令已更改

3.删除账户
必须是dba,在删除用户的时候注意如果要删除的用户已经创建了表,就需要在删 除的时候带一个参数cascade(级联删除)
用法:drop user 用户名 [cascade]
4.grant授权
新创建的用户,默认没有连接数据库的权限,需要使用sys或system来给普通用户 赋予权限。
这里权限分为:系统权限(用户对数据库的相关权限,例如链接数据库、创建表等), 对象权限(用户对其它用户的数据对象操作的权限)
例:
grant connect to xiaowang
授权成功
conn xiaowang/m123

常用的角色还有dba和resource(可以在表空间建表)
grant resource to xiaoming;授权xiaoming可以创表;
希望xiaoming用户可以去查询emp表:
grant select on emp to xiaoming;
注意:授权帐号只能是scott(表的拥有者),sys,system.所授权限有:select,update,insert,delete,all.
select * from scott.emp
5.revoke收回权限
revoke select on emp from xiaoming;
注意:哪个帐号授的权,哪个帐号才能撤销权限。
6.权限的维护
权限的转发
如果是对象权限,就加入with grant option
例:
grant select on emp to xiaoming with grant option,
conn xiaoming/m123
grant select on scott.emp to xiaoming;

如果是系统权限,就加入with admin option
例:
grant connect to xiaoming with admin option;
注意:权限撤销时,递归撤销
7.账户锁定
指定该帐户登录时最多可以输入密码的次数,也可以指定用户锁定的时间(天)一 般用dba的身份去执行该命令。
例:
create profile loc_account limit failed_login_attempts 3 password_lock_time2;
alter user xiaoming profile lock_account;

8.用户解锁
alter user xiaoming profile look_account;
9.终止口令
为了让用户定期修改密码可以使用终止口令的指令来完成,同样这个命令也需要用 dba身份操作。例如给用户xiaoming创建一个profile文件,要求该用户每隔10天 要修改自己的登录密码,宽限为2天:
create profile myprofile limit password_life_time 10 password_grace_time 2;
alter user xiaoming profile myprofile

10.口令历史
如果希望用户在修改密码时,不能使用以前使用过的密码,可以使用口令历史。
例 如:
create profile password history limit password_life_time 10 password_grace_tie 2
password_reuse_time 10;
alter user xiaoming profile password_history

11.删除profile
drop profile password_history [cascade]
角色
1.预定于角色
指oracle所提供的角色,每种角色都用于执行一些特定的管理任务,常用的预定义角色有connect,resource,dba。
2.自定义角色
自己定义的角色,一般是dba来建立,如果是别的用户来建立,则需要具有create role的系统权限。
1)建立角色(不验证)
create role myrole1 not identfified -->不验证
此时角色没有任何权限,还需进行授权。
2)建立角色(数据库验证)
create role 角色名 identified by password;
采用这样的方式时,角色名、口令存放在数据库中。当激活该角色时,必须提供口令。
3)角色授权
conn system/manger
grant create session to myrole1 with admin option;
conn scott/tiger@orcl;
grant select on emp to myrole1;
grant update on emp to myrole1;
grant insert,delete on emp to myrole1;

通过上面步骤,就给角色授权了。
conn system/manger;
grant myrole1 to user1 with admin option;

通过上面步骤,就把角色分配给指定用户了。带上with参数表示user1可以把这个角色继续传给别人。
4)删除角色
conn system/manger
drop role myrole1;

注意:角色被删后,被分配的用户就没有相应的权限了。
数据库的备份与恢复
1.逻辑备份与恢复,只能在数据库open的状态下进行
1)导出、备份
导出分为:导出表,导出方案,导出数据库三种方式。
导出使用exp命令来完成的,该命令常用的选项有:
userid:用于指定执行导出操作的用户名,口令,连接字符串
tables:用于指定执行导出操作的表
owner:用于指定执行导出操作的方案
full=y:用于指定执行导出操作的数据库
inctype:用于指定执行导出操作的增量类型
rows:用于指定执行导出操作是否要导出表的数据
file:用于指定导出文件名
2)导出表
a).导出自己的表
exp userid=scott/tiger@orcl tables=(emp,dept) file=d:\e1.dmp
注意:需要在oracle的安装路径的bin目录下打开cmd,并执行该句命令。而不是在SQLPlus下。
b).导出其它方案的表,需要指定方案的名字
exp userid=sys/manger@orcl tables=(scott.emp,scott.dept) file=d:\e2.dmp
c).导出表的结构
exp userid=scott/tiger tables=(emp,dept) file=d:\e3.dmp rows=n -->n表示no
d).使用直接导出方式
exp userid=scott/tiger@orcl tables=(emp,dept) file=d:\e3.dmp direct=y
这种方式比默认的常规方式速度要快,当数据量大时,可以考虑使用这样的方法。
3)导出方案
a).导出自己的方案
exp userid=scott/tiger@orcl owner=scott file=d:\e5.dmp
b).导出其它方案
只需要dba的权限或是exp_full_database的权限,例如可以使用system同时导出自身的和scott方案:exp userid=system/manager@orcl owner=(system,scott) file=d:\e5.dmp
4) 导出数据库
导出数据库指到处所有数据库中的对象及数据,要求该用户具有dba的权限或是exp_full_database权限
epx userid=system/manger@orcl full=y inctype=complete file=d:\e6.dmp
主语:full=y指导出整个数据库,inctype表示增量备份。
5)导入表
a)导入自己的表
imp userid=scott/m123@orcl tables=(emp) file=d:\emp.dmp
b).导入表到其它用户
imp userid=system/manager@orcl tables=(emp) file=d:\xx.dmp touser=scott
c)导入表的结构
imp userid=scott/tiger@orcl tables=(emp) file=d:\xx.demp rows=n
d)导入数据,如果对象已经存在可以导入表的数据
imp userid=scott/tiger@orcl tables=(emp) file=d:\xxx.dmp ignore=y
e)导入自身的方案
imp userid=scott/tiger file=d:\xxx.dmp
f)导入其它方案,要求该用户具有dba权限
imp userid=system/manager file=d:\xxx.dmp fromuser=system touser=scott
g).导入数据库
imp userid=system/manager full=y file=d:\xxx.dmp

网址:数据库维护与管理—2018 https://www.yuejiaxmz.com/news/view/451944

相关内容

Oracle数据库日常管理与维护技巧:提升SQL性能与数据安全
Oracle数据库日常维护技巧与最佳实践:提升性能与安全
Oracle数据库日常维护命令
Oracle数据库日常维护知识总结
Oracle数据库数据安全面面观
如何高效整理数据库
设备设施的管理与维护:突破传统,迎接数字化
Springboot保险理赔管理系统312z6(程序+源码+数据库+调试部署+开发环境)
网络管理与维护基本知识
云原生 DaaS 服务:实现数据驱动的创新和价值(数据库、缓存、大数据等)

随便看看