Oracle用户管理和备份

开启服务:

  • su - oracle
  • lsnrctl start
  • sqlplus /nolog
  • conn /as sysdba
  • startup

关闭服务:

  • su - oracle
  • sqlplus /nolog
  • conn /as sysdba
  • shutdown abort
  • startup restrict
  • shutdown
  • List item
  • quit
  • lsnrctl stop

创建用户:

  • 查看用户表空间放置的位置:
    select status,fuzzy,tablespace_name,name from v$datafile_header;

  • 创建用户表空间:
    create tablespace test(表空间名) datafile ‘/oracle/oradata/orcl/test01.dbf’(数据文件位置) size 600M autoextend on next 50m maxsize unlimited;

  • 表空间增加数据文件:(Oracle一个数据文件默认最大为32G)
    alter tablespace test add datafile ‘/oracle/oradata/orcl/test02.dbf’ size 600M autoextend on next 50m maxsize unlimited;

  • 创建用户并指定默认表空间:
    create user testUse1r identified by 123456 default tablespace test;

  • 赋予权限:
    grant connect,resource,dba to testUser1;
    grant select on testUser2.t1 to testUser1;(为testUser1赋予testUser2用户t1表的读取权限)

  • 收回权限:
    revoke dba from testUser;

  • 修改用户密码:
    alter user testUser1 identified by 654321;

  • 删除用户,及级联关系也删除掉
    drop user testUser1 cascade;
    删除表空间,及对应的表空间文件也删除掉
    drop tablespace testUser1 including contents and datafiles cascade constraint;
    无法删除当前链接的用户:
    select username,sid,serial# from v$session;
    alter system kill session’507,53’;

Oracle数据备份和恢复:

  • exp方式
    导出指定用户下的所有表和数据
    exp testUser1/123456 file=/data/exp/testUser1.dpm log=/data/exp/log/testUser1.log
    导出指定的表和条件
    exp testUser1/123456 TABLES=t1,t2,t3 file=/data/exp/testUser1.dpm log=/data/log/exp/testUser1.log QUERY=“WHERE ID=‘7’ OR ID = ‘8’ OR ID = ‘9’”
  • imp方式
    恢复备份文件中的所有表:
    imp testUser2/testUser2@orcl file=/data/testUser1.dpm log=/data/log/imp/testUser1.log full=y ignore=y
    恢复备份文件中的指定表:
    imp testUser2/testUser2@orcl file=/data/testUser1.dpm log=/data/log/imp/testUser1.log tables=t1,t2,t3 full=y ignore=y
  • 相关参数:
    rows=n(只导出表结构)compress=n(不压缩)commit=y(提交)

SELECT * FROM dba_directories;
查看directory名称和位置,将dumpfile放置对应directory文件夹得位置。

  • expdp(建议使用Expdp方式进行备份,并行处理,暂停和重启,通过Remap_schema、Remap_datafile、Remap_tablespace实现导入过程中自动修改对象属主、 数据文件或数据所在表空间)

    并行备份,并压缩,生成4个dmp文件:
    expdp testUser1/123456@orcl directory=DIR1 dumpfile=testUser1_%U.dmp logfile=expdp_testUser1.log compression=ALL parallel=4
    备份指定表和条件:
    expdp testUser1/123456@orcl directory=DIR1 dumpfile=testUser1.dmp logfile=expdp_testUser1.log tables=(‘t1’,‘t2’,‘t3’) Query=A:" Where id<5",B:" Where neme = ‘a’ "
    备份50%抽样数据:
    expdp testUser1/123456@orcl directory=DIR1 dumpfile=testUser1.dmp logfile=expdp_testUser1.log sample=50

  • impdp

    并行恢复,将导出用户testUser1的备份文件数据恢复到testUser2,并更改表空间:
    impdp testUser2/123456@orcl directory=DATA_PUMP_DIR dumpfile=testUser1_%U.dmp parallel=4 REMAP_SCHEMA=testUser1:testUser2 REMAP_TABLESPACE=testUser1:testUser2

  • 相关参数:
    CONTENT=METADATA_ONLY(只导出表结构)compression=ALL(压缩)

如果恢复备份后,发现乱码,可查看相应导入数据库的字符集和导出数据库的字符集是否相同:
select * from nls_database_parameters; --服务端字符集
select * from nls_instance_parameters; --客户端字符集
select * from nls_session_parameters; --会话字符集
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值