将数据库安装好;
su - oracle
sqlplus "/as sysdba"
show con_name CDB$ROOT
show pdbs
alter session set container=test;--pdb
--创建directory
create or replace directory dump_dir as '/u01/dump_dir';
--创建表空间
CREATE TABLESPACE testDATA LOGGING DATAFILE '/u01/app/oracle/oradata/test2/data001.dbf' SIZE 30G EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
ALTER TABLESPACE testDATA ADD DATAFILE '/u01/app/oracle/oradata/test2/data002.dbf' SIZE 30G;
--创建用户
create user testuser identified by testuser default tablespace testDATA;
--授权
grant dba to testuser ;
--更新字符集 见后面
--数据导入
将expdp导出文件上传到/u01/dump_dir目录
root用户下:chown -R oracle:oinstall /u01/dump_dir
impdp testuser/[email protected]/test DIRECTORY=dump_dir DUMPFILE=testuser01.dmp LOGFILE=imp_testuser01.log remap_schema=testuser01:testuser REMAP_TABLESPACE=testDATA 01:testDATA
导入完成后通过plsqldeveloper连接测试检查
--以下为导入时存在报错或重新导入删除原用户、表空间等
字符集错误用户数据删除后重新导入(删除用户及相关表数据)
alter session set container=test;
drop user testuser cascade;
删除用户时报错:(由于字符集进行了修改,删除用户时提示如下,将字符集还原后可以正常删除)
drop user test_user cascade;
--删除directory
drop directory dump_dir;
--删除空表空间,包含物理文件(将此表空间与数据文件一同删除)
drop tablespace testDATA including contents and datafiles;
--更新字符集
--查看当前服务器字符集
select userenv('language') from dual; --AMERICAN_AMERICA.WE8MSWIN1252 数据库原字符集
Server端字符集修改
将数据库启动到RESTRICTED模式下做字符集更改:
$ sqlplus "/as sysdba"
SQL> shutdown immediate;
SQL> startup mount;
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL> alter database open;
SQL>-- alter database character set INTERNAL_USE UTF8; ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
SQL> shutdown immediate;
SQL> startup;
SQL> exit;
impdp导入时报错:
sqlplus "/as sysdba"
execute dbms_metadata_util.load_stylesheets;
打开CDB和PDB
1,首先,确保您已经连接到CDB(容器数据库)sqlplus "/as sysdba"
2,确认CDB已经打开:SELECT NAME, OPEN_MODE FROM V$DATABASE;
如果显示OPEN_MODE不是READ WRITE,则需要打开数据库:ALTER DATABASE OPEN;
3,打开所有PDB或特定的PDB:
打开所有PDB:ALTER PLUGGABLE DATABASE ALL OPEN;
或者只打开特定的PDB:ALTER PLUGGABLE DATABASE MZYTJ OPEN;