如果新建表空间时候未指定文件位置,则文件默认被保存到oracle/product/11.2.0/db_1/dbs目录去了。

前提是 show parameter DB_CREATE_FILE_DEST; 执行的结果是空;

按网上多数文字的说法,执行alter system set DB_CREATE_FILE_DEST ='oracle/oradata/'这样去修改文件默认位置,实际上只影响在sqlplus下通过命令建表的结果(这样在不指定文件位置时,会默认建到默认位置)

引用别家图片如下,基本就是这么个结构和文件名形式:

而且如果oracle安装时已经在目录里面有了数据库名的目录,例如:orcl,并存放了默认表空间文件,这时候你再通过命令建表,则oracle会以大写形式再建一个数据库名的文件夹,例如:ORCL,里面是一个子目录“datafile”,再里面是你建的表空间文件。

DB_CREATE_FILE_DEST的设定是不影响Oracle SQL Developer的,用这个工具建表,你不指定表空间文件位置,依然会把文件生成到dbs目录去,你指定了位置它就会在你指定的位置生成你填入的表空间名(自动转成大写)的一个文件。

所以,当发现oradata里面没有数据文件时,不用懵逼,可以去$ORACLE_HOME/dbs/目录找找看。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐