docker安装oracle数据库

下载数据库dmp文件
su oracle

source ~/.bash_profile

expdp plm_base_product_ht_d/plm_base_product_ht_d@10.10.10.01:1521/orcl directory=ORACLE_BASE dumpfile=plm_base_product_ht_d_20230522.dmp

----------------------------------------------------------------------------------------oracle-----------------------------------------------------------

docker run --name oracle_temp -p 1500:1521 --privileged=true -d registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latest

mkdir -p /home/app/oracle/oradata

docker cp oracle_temp:/home/oracle/app/oracle/oradata/ /home/app/oracle #复制

chown -R 500:500 /home/app/oracle/oradata/ #修改挂载目录所属用户和用户组

docker rm -f oracle_temp #删除临时容器

mkdir -p /home/bak/product;

chmod -R 777 /home/bak/product/

把dmp文件放在/home/bak/product下

docker run -d --name hs_oracle -p 1521:1521 --privileged=true -v /home/app/oracle/oradata:/home/oracle/app/oracle/oradata -v /home/bak/product/:/home/bak/product/ registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g:latest

docker exec -it hs_oracle bash

rm -rf /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl #删除oracle的机制文件

cp /home/oracle/app/oracle/oradata/helowin/control01.ctl /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl #拷贝

exit;

docker restart hs_oracle #重启

docker exec -it hs_oracle bash

source ~/.bash_profile

sqlplus / as sysdba #登录sqlplus

alter user system identified by system; #修改system用户账号密码
alter user sys identified by system; #修改sys用户账号密码


创建用户
create user PLM_BASE_PRODUCT_ZMD identified by PLM_BASE_PRODUCT_ZMD;
赋权限
grant connect,resource,dba to PLM_BASE_PRODUCT_ZMD;
创建空间
create tablespace YSSPLM datafile '/home/oracle/app/oracle/oradata/helowin/PLM_BASE_PRODUCT_ZMD.dbf 'size 13g autoextend on next 50m maxsize unlimited;
创建文件夹 把dmp文件放到这个目录下
create directory PLM_BASE_PRODUCT_ZMD_DIR as ‘/home/bak/product’;
赋权读写执行权-这个目录给这个用户
grant read,write,execute on directory PLM_BASE_PRODUCT_ZMD_DIR to PLM_BASE_PRODUCT_ZMD ;

grant read,write,execute on directory PLM_BASE_PRODUCT_ZMD_DIR to system ;
导入dmp文件
impdp plm_base_product_zmd/plm_base_product_zmd@10.10.90.122:1521/helowin directory=plm_base_product_zmd_dir dumpfile=plm_base_product_ht_d_20230518.dmp remap_schema=plm_base_product_ht_d:plm_base_product_zmd TABLE_EXISTS_ACTION=REPLACE logfile=product0518.log

如果填写用户名密码:
system/system


其他命令
select tablespace_name, sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;
drop tablespace PLM_BASE_PRODUCT_HT_D ;
drop tablespace YSSPLM;

修改账号密码
alter user PLM_BASE_PRODUCT_ZMD identified by PLM_BASE_PRODUCT_ZMD;

删除用户和下面的所有表
drop user PLM_BASE_PRODUCT_HT_D cascade;
查看当前用户
show user;


修改字符集:
1.首先以sysdba的身份登录上去 conn /as sysdba
sqlplus / as sysdba

2.关闭数据库
shutdown immediate

3.以mount(挂载方式)打开数据库
startup mount

4.设置session
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;

5.启动数据库
alter database open;

6.修改字符集
ALTER DATABASE CHARACTER SET ZHS16GBK;

可能会报错,提示我们的字符集:新字符集必须为旧字符集的超集,跳过超集检查做更改
ALTER DATABASE character set INTERNAL_USE ZHS16GBK;

7.关闭数据库,重新启动
shutdown immediate
startup

8、建议执行(可能使用impdp/expdp无法导入)
原因:数据泵无法使用元数据API。通常,这是由于XSL样式表未正确设置造成的。
execute sys.dbms_metadata_util.load_stylesheets;

9.查询 select userenv(‘language’) from dual;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值