Docker 安装 Oracle创建表空间并导入数据库
一、Docker 安装Oracle1、检查docker 版本
2、docker 下载镜像
3、 docker启动容器
4、 进入容器内部
5、安装乐成,利用客户端工具连接
二、创建数据库用户与表空间
1、查询数据库文件位置
2、创建表空间
3、创建用户
4、设置权限
三、导出数据库DMP
1、上传文件到指定目录
2、创建权限目录
3、执行oracle-expdp导出
四、导入oracle dmp文件
1、创建权限目录
2、导入oracle dmp文件
一、Docker 安装Oracle
1、检查docker 版本
docker version https://i-blog.csdnimg.cn/direct/7b28dc3cd1d846be9262fff26ff8686a.png
2、docker 下载镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g 3、 docker启动容器
docker run -d -p 30026:1521 -p 8081:8080 --name oracle_11g -e ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2 -e ORACLE_SID=helowin registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g 4、 进入容器内部
docker exec -it oracle_11g bash
# 1. 切换至root用户(默认是oracle用户),密码为helowin
su root
# 2. 创建软链接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
# 3.切换回oracle用户
su oracle
# 4. 登录sql plus
sqlplus /nolog
conn /as sysdba
## 4.1 修改system用户密码为system
alter user system identified by system;
## 4.2 修改sys用户密码为system
alter user sys identified by system;
## 4.3 新增一个测试用户(用户名:test,密码:test123);
create user test identified by test123;
## 4.4 将dba权限给内部管理员账号和密码
grant connect,resource,dba to SYS_ORM;
## 4.5 修改密码策略规则为:密码永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
## 4.6 修改数据库最大连接数;
alter system set processes=1000 scope=spfile;
## 4.7 最后重启数据库;
shutdown immediate;
startup;
# 5.退出
exit
5、安装乐成,利用客户端工具连接
https://i-blog.csdnimg.cn/direct/b86de23d8a3f45d7b3af61321ad588c6.png
二、创建数据库用户与表空间
1、查询数据库文件位置
select t1.name,t2.namefrom v$tablespace t1,v$datafile t2where t1.ts# = t2.ts#;
https://i-blog.csdnimg.cn/direct/58eb379b57eb4ecabc87b5a7951fc4e6.png
2、创建表空间
用sysdba登岸,sqlplus /@sysware as sysdba /PLSQL利用SYSDBA 登录执行
CREATE TABLESPACE ORM
DATAFILE '/home/oracle/app/oracle/oradata/helowin/orm.dbf' size 800M --存储地址 初始大小800M
autoextend on next 50M maxsize unlimited --每次扩展10M,无限制扩展
EXTENT MANAGEMENT LOCAL autoallocate SEGMENT SPACE MANAGEMENT AUTO; 3、创建用户
用sysdba登岸,sqlplus /@sysware as sysdba /PLSQL利用SYSDBA 登录执行
create user 用户名 identified by 密码 default tablespace 表空间名;
create user ORM identified by ORM default tablespace ORM; 4、设置权限
用sysdba登岸,sqlplus /@sysware as sysdba /PLSQL利用SYSDBA 登录执行
grant connect,resource,create type,create view,recovery_catalog_owner to 用户名
--留意:克制利用:imp_full_database权限
grant connect,resource,create type,create view,recovery_catalog_owner to ORM;
三、导出数据库DMP
留意:导出必要记录用户名、表空间名,导入必要用到
1、上传文件到指定目录
docker cp /home/imp e5w3hr4rrre3:/home/ormexp 2、创建权限目录
用sysdba登岸,
create directory 授权目录名 as '授权目录';
grant read,write on directory 授权目录名 to 数据库用户名;
# 切换oracle用户:
su - oracle
# 管理员登录
sqlplus sys/system@orcl as sysdba
create directory ormExp as '/home/ormexp';
grant read,write on directory ormExp to ORM; 3、执行oracle-expdp导出
在cmd、用户窗口执行:
expdp 数据库用户名/数据库密码@sysware directory=授权目录名 dumpfile=数据文件名称.dmp
expdp ORM/ORM@orcl directory=ormExp dumpfile=data.dmp
四、导入oracle dmp文件
1、创建权限目录
用sysdba登岸,
create directory 授权目录名 as '授权目录';
grant read,write on directory 授权目录名 to 数据库用户名;
# 切换oracle用户:
su - oracle
# 管理员登录
sqlplus sys/system@orcl as sysdba
create directory ormimp as '/home/ormimp';
grant read,write on directory ormimp to ORM; 2、导入oracle dmp文件
在cmd、用户窗口执行
impdp 数据库用户名/数据库密码 directory=授权目录名 remap_tablespace=导出数据库的表空间:表空间 dumpfile=数据文件名称.dmp remap_schema=导出数据库的用户名:数据库用户名 transform=OID:N
impdp ORM/ORM@orcl directory=impdata remap_tablespace=BLUESYS20240715:ORM dumpfile=BLUESYS.DMP remap_schema=BLUESYS:ORM transform=OID:N impdp ORM/ORM directory=impdata remap_tablespace=BLUESYS20240715:ORM dumpfile=BLUESYS.DMP remap_schema=BLUESYS:ORM transform=OID:N
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]