下载数据库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;