ORACLE创建、授权、导入、导出

简介: ORACLE创建、授权、导入、导出

整理一份oracle常用的命令集合,这样自己查询起来比较方便。

首先打开cmd或者终端

1. sqlplus /nolog
2. sqlplus / as sysdba

1. 重启数据库

1. shutdown immediate ;
2. startup

2. 删除用户

DROP USER XX CASCADE;

3. 删除表空间

DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;

4. 创建表空间

create tablespace FCVS
datafile'E:\app\Eric\oradata\orcl\FCVS.dbf' 
size 1024m  
autoextend on  
maxsize 2048m  
extent management local;

5. 创建用户

1. create user fcvs identified by fcvs
2. default tablespace FCVS
3. temporary tablespace temp;

6. 用户授权

1. grant resource to fcvs;
2. grant connect to fcvs;
3. grant dba to fcvs;

7. 导入导出DMP文件

1) 使用exp、imp方式导入导出

exp fcvs/fcvs@FCVS file=home/oracle/backup.dmp full=y;
exp fcvs/fcvs@127.0.0.1/FCVS file=D:\expdat.dmp full=y;
exp fcvs/fcvs@localhost/FCVS file=D:\expdat.dmp full=y;
imp fcvs/fcvs@FCVS file=home/oracle/backup.dmp full=y;
imp fcvs/fcvs@127.0.0.1/FCVS file=D:\expdat.dmp full=y;
imp fcvs/fcvs@localhost/FCVS file=D:\expdat.dmp full=y;

因为ip地址的地方可以替换成远端的ip地址。有时候不带IP地址到处不成功可以适当加上localhost或者127.0.0.1。


2) 使用impdp、expdp方式导入导出


exp和expdp方式的区别在于expdp是oracle10之后推出来的,在处理大量数据上性能远远优于exp。exp在大量数据导出数据库时极容易卡死


创建目录

create directory dump_dir as '/data/oracle/my_dump_dir/';

查询目录,确认刚才新建的目录是否存在

select * from dba_directories;

给用户赋权限

grant read,write on directory dump_dir to fcvs;

导出

--1)按用户导
expdp fcvs/fcvs@127.0.0.1:1521/orcl schemas=fcvs dumpfile=expdp.dmp DIRECTORY=dump_dir;
--2)并行进程parallel
expdp fcvs/fcvs@127.0.0.1:1521/orcl directory=dump_dir dumpfile=scott3.dmp parallel=40 job_name=scott3
--3)按表名导
expdp fcvs/fcvs@127.0.0.1:1521/orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dump_dir;
--4)按查询条件导
expdp fcvs/fcvs@127.0.0.1:1521/orcl directory=dump_dir dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';
--5)按表空间导
expdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
--6)导整个数据库
expdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;

导入

--1)导到指定用户下
impdp fcvs/fcvs DIRECTORY=dump_dir DUMPFILE=expdp.dmp SCHEMAS=scott;
--2)改变表的owner
impdp fcvs/fcvs DIRECTORY=dump_dir DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
--3)导入表空间
impdp fcvs/fcvs DIRECTORY=dump_dir DUMPFILE=expdp.dmp TABLESPACES=example;
--4)导入数据库并忽略错误(常用)
impdp fcvs/fcvs DIRECTORY=dump_dir DUMPFILE=expdp.dmp FULL=y ignore=y;
--5)追加数据
impdp fcvs/fcvs DIRECTORY=dump_dir DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION

8. 数据库自动备份脚本

新建一个txt文件写入,下边的代码,然后更改参数变量。然后把txt改成bat即可执行

rem--------------------------------------------------------------------------------------
rem windows环境下Oracle数据库的自动备份脚本。
rem 可以将本批处理设成windows任务计划下自动执行。
@echo off
@echo ===================================================================================
@echo windows环境下Oracle数据库自动备份脚本
@echo 说明:启动备份时,需要配置以下变量
@echo  1.BACKUP_DIR   指定要备份到那个目录
@echo  2.ORACLE_USERNAME  指定备份所用的Oracle用户名
@echo  3.ORACLE_PASSWORD  指定备份所用的Oracle密码
@echo  4.ORACLE_DB  指定备份所用的Oracle连接名
@echo  5.BACK_OPTION  备份选项,可以为空,也可以为full=y,也可为owner=a用户,b用户 等等...
@echo  6.RAR_CMD  指定RAR命令行压缩工具所在目录
@echo ===================================================================================
rem 以下变量需要根据实际情况配置
set BACKUP_DIR=D:\backup
set ORACLE_USERNAME=root
set ORACLE_PASSWORD=aaaa
set ORACLE_IP=127.0.0.1
set ORACLE_DB=orcl
set BACKUP_OPTION=owner=root
set NOW=%date:~0,4%%date:~5,2%%date:~8,2%
rem 开始备份
exp %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%ORACLE_IP%/%ORACLE_DB% %BACKUP_OPTION% file="%BACKUP_DIR%\%NOW%.dmp" log="%BACKUP_DIR%\%NOW%exp.log
rem 删除n天前的备份数据文件
forfiles /p "D:\backup" /d -n /c "cmd /c echo deleting @file ... && del /f @path"

9. 查看用户

select * from dba_users;//查看数据库里所有的用户,前提是你是有dba权限的账户;
select * from all_users;查看你能管理的所有用户;
select * from user_users;查看当前用户信息;

10. 查看所有表

查看当前登录用户下的所有表

select table_name from user_tables;

查看指定用户下的所有表,用户名需大写

select * from all_tables where owner='ROOT';

11. 密码失效

sqlplus / as sysdba;
alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;
alter user xxx identified by xxxx;

12. 查看数据库信息

查看oracle版本

SELECT version FROM product_component_version WHERE substr(product, 1, 6) = 'Oracle';

查看表空间及大小

SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space FROM d

查看数据库对象

SELECT owner, object_type, status, COUNT(*) count# FROM all_objects GROUP BY owner, object

13. 重启oracle监听

1)ssh到oracle安装的服务器

2)切换用户,进入oracle安装目录

1. su - oracle
2. cd $ORACLE_HOME/bin

3)查看监听状态

./lsnrctl status

4)重启监听

./lsnrctl start


目录
相关文章
|
6月前
Oracle11G用EXP导出时,空表不能导出解决
Oracle11G用EXP导出时,空表不能导出解决
|
7月前
|
Oracle 关系型数据库 数据库
9-2 Oracle数据库(表)的逻辑备份与恢复 --导出与导入
9-2 Oracle数据库(表)的逻辑备份与恢复 --导出与导入
|
7天前
|
SQL Oracle 关系型数据库
Oracle 数据泵导出导入(映射表空间、Schema)
Oracle 数据泵导出导入(映射表空间、Schema)
|
5月前
|
SQL Oracle 关系型数据库
Oracle - Spool导出数据到TXT文件
Oracle - Spool导出数据到TXT文件
54 0
|
6月前
|
Oracle 关系型数据库 数据库
oracle导入时IMP-00010: 不是有效的导出文件, 头部验证失败
oracle导入时IMP-00010: 不是有效的导出文件, 头部验证失败
135 1
|
7月前
|
SQL Oracle 关系型数据库
导出Oracle数据库sqlplus命令行查询的结果到文件
导出Oracle数据库sqlplus命令行查询的结果到文件
126 0
|
9月前
|
Oracle 关系型数据库 数据库
通过数据泵expdp、impdp方式备份与还原(导出与导入)Oracle数据库
通过数据泵expdp、impdp方式备份与还原(导出与导入)Oracle数据库
|
3天前
|
DataWorks Oracle 关系型数据库
DataWorks操作报错合集之尝试从Oracle数据库同步数据到TDSQL的PG版本,并遇到了与RAW字段相关的语法错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
15 0
|
9天前
|
存储 Oracle 网络协议
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
Oracle 11gR2学习之二(创建数据库及OEM管理篇)

推荐镜像

更多