中国林业网站群建设工程,app制作平台要多少钱,wordpress主题 安装,公司装修费属于什么费用一、开发环境
操作系统#xff1a;win11
Oracle版本#xff1a;12c
Oracle 数据库字符集#xff1a;AL32UTF8
Pl/Sql版本#xff1a;14
二、表空间创建
表空间是 Oracle 数据库中一种重要的逻辑结构#xff0c;它是数据库中数据文件的逻辑集合#xff0c;用于存储数据库对…一、开发环境
操作系统win11
Oracle版本12c
Oracle 数据库字符集AL32UTF8
Pl/Sql版本14
二、表空间创建
表空间是 Oracle 数据库中一种重要的逻辑结构它是数据库中数据文件的逻辑集合用于存储数据库对象如数据表、索引等。表空间与数据文件紧密相关dbf数据文件是实际存储数据的物理文件一个表空间可以包含一个或多个dbf数据文件 。
1.查看表空间对应的文件路径在Pl/Sql中输入下述命令
SELECT file_name,tablespace_name,bytes/1024/1024 AS size_mb
FROM dba_data_files可以看到咱电脑有这么些默认的表空间知道了这些默认表空间的存储路径我们就可以根据他们的路径来新建表空间了。
2.创建表空间
CREATE bigfile
TABLESPACE users03DATAFILE 你的表空间文件存储路径\数据文件名字可以DIY.DBFSIZE 40G -- 初始分配AUTOEXTEND ONNEXT 2G -- 每次扩展2GBMAXSIZE UNLIMITED; -- 最大限制空间分配逻辑例如我们现在有20GB的DMP备份文件70GB可用磁盘空间
DMP解压空间 20GB × 2 40GB 压缩数据解压膨胀系数总计分配 20GB x 2.5 50GB 最大限制值保留空间 20GB 系统运行必需空间
当然我上边的代码里没有设置最大限制值因为我这边的存储硬件资源比较宽裕大家可以参考一下这个空间分配逻辑。
3.创建公共用户
CREATE USER c##shuaige777 --用户名
IDENTIFIED BY shuaige777 -- 用户密码
DEFAULT TABLESPACE USERS03 --表空间名称
TEMPORARY TABLESPACE temp;--授权
GRANT DBA TO c##shuaige777;为什么要在用户名前加 c##
Oracle 12c 及以上版本使用多租户架构CDB 包含多个 PDB。在根容器 (CDB$ROOT) 中创建用户时用户名必须以 C## 或 c## 开头公共用户。如果未使用 C## 前缀或未切换到 PDB 容器执行命令会触发此错误。
三、导入DMP备份数据
1.登入Sql/Plus
打开Sql*Plus输入下述命令提示输入密码按回车键即可。
sqlplus / as sysdba2.创建目录对象并授权
# 创
CREATE DIRECTORY dump_dir AS F:\OracleDumpDir;
# 授
GRANT READ, WRITE ON DIRECTORY dump_dir TO taibao666;这是在Sql/Plus创建数据库目录对象指向服务器文件系统路径也要在本地这个路径下创建一个文件夹。注意事项Sql/Plus中创建的目录对象名称、路径和本地创建的文件名称、路径要一致目录对象一旦创建不能直接修改名称只能删除再重新创建。3.导入DMP备份数据文件导入dmp是不能在Sql/Plus环境下导的只能在cmd环境下导所以以下的命令都是要在cmd环境中输入。impdp username/password DIRECTORYdump_dir DUMPFILEexport.dmp LOGFILEimport.log remap_schemaold:new remap_tablespaceold:new参数解析
username/password就是上边我们创建的用户和密码c##shuaige777/shuaige777DIRECTORYdump_dir就是我们创建的目录对象dump_dirDUMPFILEexport.dmp就是我们的dmp备份数据文件名称LOGFILEimport.log就是导入日志你导入会有报错或者成功的信息就会存到这文件里边remap_schemaold:new就是你导出的源数据库的用户名称和我们现在被导入的用户名称remap_tablespaceold:new就是你导出的源数据库的表空间名称和被导入的表空间名称
了解导入参数的含义后我们可以自定义SQL导入代码
impdp c##shuaige777/shuaige777 DIRECTORYdump_dir DUMPFILEBH_01.DMP,BH_02.DMP,BH_03.DMP,BH_04.DMP,BH_05.DMP,BH_06.DMP LOGFILEBH_import.log JOB_NAMEBH_IMPORT_JOB remap_schemac##shuiage666:c##shuaige777 remap_tablespaceKFCV50:USERS03四、表空间数据文件迁移假如你的表空间USERS03现在由于业务量越来越大原来存放的存储空间开始不够用准备爆了领导叫你马上找办法解决在找不到其它办法解决的情况下将表空间迁移至拥有更大的地方是最好的选择。1.进入我们的Sql/Plus
sqlplus / as sysdba2.关闭数据库
shutdown immediate;3.进入mount模式因为迁移数据文件只能在mount模式下进行
startup mount;4.修改dbf文件存放的路径
alter database rename file D:\ORCALE12C\ORADATA\ORCL\USERS03.DBF to F:\OracleDbfDir\USERS03.DBF;5.恢复介质
recover datafile F:\OracleDbfDir\USERS03.DBF;6.打开数据库
alter database open;7.删除原路径下文件
HOST del D:\ORCALE12C\ORADATA\ORCL\USERS03.DBF五、数据库字符集更改在导入DMP备份文件时若源数据库与目标数据库字符集不一致可能导致导入失败。这时候我们就得修改我们的数据库字符集与源数据库一致才能导进来Oracle的字符集格式最常用的就俩个AL32UTF8、ZHS16GBK。注不建议修改自己的数据库的字符集最好是导出的时候对数据进行字符集的格式设定贸然在生产环境修改数据库的字符集会导致数据丢失到时候只能跑路了救不了。
Oracle的默认字符一般为AL32UTF8除非你在Oracle安装时另外选了。1.进入Sql/Plus关闭数据库
SHUTDOWN IMMEDIATE;2.以限制模式启动数据库
STARTUP RESTRICT;3.更改字符集
ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;4.重启数据库
SHUTDOWN IMMEDIATE;STARTUP;5.验证更改
SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER LIKE %CHARACTERSET;六、总结
这篇文章主要介绍Oracle数据库的基础操作和配置方法希望能为大家提供实用的学习参考给大伙敬酒了。