系统运维
进出口,数据泵,SQL*Loader,rman
数据库的逻辑备份和恢复:exp和顽童
1.导库:导出和导入整个数据库
2.导表空间:导出和导入表空间
3.导表用户:导出和导入用户中所有对象
4.导表:导出和导入表或表分区
(1)提交=y插入并提交,频繁提交会影响数据库效率。提交数据库过大时可以添加。
(2)忽略=是/否该参数表示忽略创建错误,并继续执行。
(3)满=y是否完全导入。
1.导出导入表
备份测试表:
将表emp _测试创建为select *来自emp _ test
经历导出数据库表:
exp Scott/123456 @ orcl file=/Oracle/bak _ Oracle/EMP _ test。DMP表=' EMP _ test '
按条件进行选择性导出
exp Scott/123456 @ 10。1 .1 .10:1521/orcl file=/Oracle/bak _ Oracle/EMP _ test。DMP表=' EMP _ test ' query=\ \ \ \ ' where sal between \ \ \ ' 1000 \ \ \ '和\ \ \ ' 2000 \ \ \ ' \ \ ' log=/Oracle/bak _ Oracle/EMP _ test。原木
用有权限用户导出不同用户的不同表
exp \ \ \ \ \ \ \ ' sys/syste as SYSDBA \ \ \ \ \ ' file=/Oracle/bak _ Oracle/EMP _ test。DMP表='斯科特。'雇员测试,测试.标签测试'
注:甲骨文用户登录并且配置了TNSNAME可以直接斯科特/123456
不是本机备份斯科特10.1.1.10:1521/orcl
删除测试表
删除表emp _测试
参数净化
顽童导入数据库表:
查询该用户存放数据的缺省表空间:从DBA _ users中选择用户名、默认表空间其中用户名=\\\ '斯科特\\\ '
在特殊情况下有些用户的数据需要放到特殊的表空间中,使用如下的命令进行修改。
修改该用户存放数据的缺省表空间:更改用户斯科特默认表空间XXX
imp Scott/123456 file=/Oracle/bak _ Oracle/EMP _ test。DMP
用有权限用户导出不同用户的不同表导入到一个用户表中
imp \ \ \ \ \ \ \ ' sys/system as SYSDBA \ \ \ \ \ \ \ ' file=/Oracle/bak _ Oracle/EMP _ test。DMP来自user=Scott
查询表是否删除和导入成功
select count(*)from EMP _ test;
2.导出导入用户
导出一个用户下面的数据
exp Scott/123456 file=/Oracle/bak _ Oracle/Scott。DMP所有者=斯科特;
删除一个用户
SQL删除用户斯科特卡斯克德
删除用户斯科特级联
*
第一行出错:
ORA-01940:无法删除当前已连接的用户
(1)查看是否有结构化查询语言语句在占用这张表
选择ses .INST_ID,sess.machine,
sess.program,sess.sql_id,
sess.sid,sess.serial#,
成功.过程
lo.oracle用户名,lo.os用户名,
lo.locked _ mode
ao.object_name,ao.object_type,
敖。状态,
来自gv$locked_object lo,dba_objects ao,gv$session sess
其中ao.object_id=lo.object_id
而lo.session_id=sess.sid
和sess.username=\\\'SCOTT\\\ '
杀掉进程样本号,序列号
更改系统终止会话\\\'10,11562 \ \ \ '
(2)查看是否有会话没有结束
SQL从v$session中选择用户名、sid、序列号、paddr、状态其中用户名=\ \ \ '斯科特\ \ \
用户名(同suddenionosphericdisturbance)电离层的突然骚扰序列号PADDR状态
斯科特1 281 000000008E51C510死亡
斯科特20 362 000000008E491150未激活
斯科特21 175 000000008E48D050未激活
斯科特28 169 000000008E51C510死亡
SQL选择程序from v $ process where addr=\ \ \ ' 000000008 e 490110 \ \ \ '
程序
oracle@master.example.com
杀掉进程样本号,序列号
更改系统终止会话\\\'1,281 \ \ \ '
更改系统终止会话\\\'20,362 \ \ \ '
更改系统终止会话\\\'21,175 \ \ \ '
更改系统终止会话\\\'28,169 \ \ \ '
SQL删除用户斯科特卡斯克德
用户已删除。
导入一个用户下面的数据
先授权(连接数据库和工商管理学博士(工商管理博士)的权限)再导入(用户斯科特下面的所有表)
将连接、资源授予由123456标识的斯科特
将工商管理学博士授予斯科特
imp Scott/123456 file=/Oracle/bak _ Oracle/Scott。DMP满=y;
用有权限的用户导入表给用户
imp \ \ \ ' sys/system @ 10 . 1 . 1 . 10:1521/orcl as SYSDBA \ \ \ ' file=/Oracle/bak _ Oracle/Scott . DMP from user=Scott touser=Scott
注意:touser=可以给不同的用户。
3.导入和导出表空间
-待续
当要备份的数据量很大时,建议选择数据泵。
数据库的逻辑备份和恢复:expdp和impdp
数据泵只能在数据库的服务器端使用。
在服务器上创建一个目录,用于在导入和导出时存储数据。
将目录DATA_BAK创建为\ \ \ '/Oracle \ \ \ '
授权用户对目录进行读写。
授予对目录DATA_BAK的读、写权限以进行测试;
查看目录和所有者,路径
select * from dba _ directories
Expdp用户名/密码@IP/net服务名称schemas=用户名目录=创建的目录转储文件=数据表名称。dmp日志文件=数据表名称。日志。
ex PDP TEST/TEST @ 10 . 1 . 1 . 10:1521/orcl schemas=\ \ \ ' TEST \ \ \ ' directory=\ \ \ ' DATA _ BAK \ \ \ ' dump file=/Oracle/XXX . DMP log file=/Oracle/XXX . log
模式:用户名,目录:创建的用于存储数据的目录,转储文件:要导出的数据库备份dmp文件,日志文件:存储导出日志文件,压缩:导出时压缩文件。
用脚本文件导出数据库文件:
[Oracle @主oracle]$ cat aa.par
userid='测试/测试'
#userid='/as sysdba '用dba导出
目录=数据_BAK
dumpfile=emp_test2.dmp
logfile=emp_test2.log
#平行=5
压缩=全部
# nologfile=否
模式=测试
job_name=emp_test2_expdp
使用命令调用:
nohup expdp parfile=aa.par
使用命令导出数据库文件:
ex PDP test/test @ 10 . 1 . 1 . 10/orcl directory=DATA _ BAK dump file=EMP _ test 2 . DMP log file=EMP _ test 2 . log schemas=test
数据泵导入数据库语句:
impdp test/test @ 10 . 1 . 1 . 10:1521/orcl REMAP _ SCHEMA=test:test table _ exists _ action=replace directory=DATA _ BAK dump file=EMP _ test 2 . DMP log file=EMP _ test 2 . log
数据库的批量导入:SQL*Loader
连接用户
查看表格结构
?
控制文件:
[Oracle @主oracle]$ cat EMP_LOADERTEST2.ctl
加载数据
INFILE \ \ \ '/Oracle/EMP _ loader test 2 . CTL \ \ \ '
截断到表EMP_LOADERTEST2中
以''结尾的字段可以用\\\''\\ '括起来
(员工编号、姓名、职务)
数据文件:
[Oracle @主oracle]$ cat EMP_LOADERTEST2.dat
11,a1,1,11,22,33,44,55
11,2,2,11,22,33,44,55
11,3,2,11,22,33,44,55
11,4,3,11,22,33,44,55
导入时,数据文件中的数据应该与控制文件中的数据相对应。
要导入的表中的字段类型需要一致。
sqlldr测试/测试控制=/Oracle/EMP _ loader test 2 . CTL data=EMP _ loader test 2 . dat
生成sqlldr的日志文件。
在日志文件中查看数据库导入。
检查表中有数据吗?
扩展表空间
如果系统表空间莫名其妙地变大,系统表空间会自动扩展。
1.查询审计功能是否开启,对审计表中的数据影响较大。
检查审计功能是否打开。
显示参数审核;
2.关闭审计功能命令
SQL alter system set audit _ sys _ operations=FALSE scope=spfile;
系统改变了。
SQL alter system set audit _ trail=NONE scope=spfile;
系统改变了。
重新启动数据库以使其生效
注意:audit_sys_operations的参数设置:
None禁用数据库审计。
操作系统支持数据库审计,并将数据库审计记录定向到操作系统审计记录。
Db启用数据库审计,并将数据库的所有审计记录定向到SYS。数据库的AUD$表。
Xml支持数据库审计,并将所有记录以XML格式写入操作系统文件。
Xml,extended启用数据库审计并输出审计记录的所有列,包括SqlText和SqlBind的值。
3.查询统计数据是否过多。
统计信息的默认时间为31天,可以修改为10天或一周,过期的统计信息系统会自动删除。
SQL select DBMS _ stats . get _ stats _ history _ retention from dual;
SQL连接/作为sysdba
已连接。
SQL exec DBMS _ stats . alter _ stats _ history _ retention(10);
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。