对于oracle数据库下的企业级应用开发,经常会使用到新建用户,新建表空间以及数据的迁移工作。虽然目前互联网存在很多单个问题的解决方案,但是比较零散,本博文结合研发兄弟们的实际现状,提供一套完整初始研发数据库环境的搭建手段,免得导出搜素。
登录相关操作
默认有以下2个超级用户:
sys:超级管理员用户,具备所有操作的权限,包括启动,停止,修改数据库模式等所有操作;一般我们进行特殊操作都会使用sys用户;但是很多时候会执行:sqlplus / as sysdba,该命令是省略用户名和密码以sysdba角色进行登录。为什么能够省略用户名和密码?这跟数据库的授权机制有关,从本质上来讲跟登录操作系统的用户有关,windows擦偶偶系统默认会自动安装一个角色ora_dba,linux需要我们自己在安装oracle的时候去配置一个dba角色,这个角色就具备操作免密登录oracle的权限。并且使用免密登录必须只能是 as sysdba模式。
system:具备数据库管理相关所有的操作,比如新建用户,授权之类的,但是没有启停数据的权限;
oracle用户需要指定:用户名,密码,所使用默认表空间,临时表空间,基本配置文件,权限。
其中表空间用来进行表存储,索引存储等,临时表空间用来进行order by,group by,索引rebuild操作。配置文件(profile)用来控制cpu使用,连接数,密码过期时间等。
创建表空间:create tablespace hyb datafile 'F:ORACLEADMINISTRATORORADATAORCLHYB01.DBF' size 100M autoextend on next 2M;
创建临时表空间:create temporary tablespace hyb_temp tempfile 'F:ORACLEADMINISTRATORORADATAORCLHYBTEMP.DBF' size 100M autoextend on next 2M;
创建用户并指定表空间:create user hyb default tablespace hyb temporary tablespace hyb_temp profile default identified by hyb;
对用户进行授权:grant connect,resource,dba to hyb;
数据迁移相关操作
服务端工具:该命令要在数据所在的oracle服务器上执行;
expdp/impdp
expdp username/password 该命令会将导出的文件放到指定的目录中,DATA_PUMP_DIR目录中,该目录可以通过后边的数据字典查询。
impdp username/password remap_schema=old_user:new_user remap_tablespace=old_ts:new_ts table_exists_action=replace,必须将待导入文件放到DATA_PUMP_DIR下边,并且名称必须为EXPDAT.DMP,且在oracle下大小写敏感即必须大写。
客户端工具:该命令可以在任何安装了oracle客户端(实际安装oracle就行)
exp/imp
exp username/password@远程服务器地址:1521/orcl file=本地路径和名称
imp username/password full=y
其中full=y表示导入所有的数据,可以指定fromuser=username touser=当前username方式将远数据导入本地。
常用数据字典表
select FILE_NAME from dba_data_files; --dba_data_files 查看oracle的数据文件的基本信息 select * from tab; --tab 查看当前数据库下有哪些表 SELECT * FROM ind; --查看当前数据库下有哪些索引 SELECT * FROM dba_directories t WHERE t.directory_name='DATA_PUMP_DIR'; --查看数据泵导出数据默认保存的目录
转载自三径就荒博客:https://blog.csdn.net/superhanyubo/article/details/96430064