oracle怎样存储数据
① 服务器无法开机怎么保存oracle数据
服务器无法开机保存oracle数据的方法:
1、如果SQLdevelop可以连接数据库,从新开一个账号,分配表空间,进行数据库复制,这是最简单的方法。
2、如不能链接数据库,可使用PLSQL进行远程登录oracle进行数据库备份。
② oracle数据库如何存储数据
利用逻辑数据库 和物理数据库 来存储 其中 逻辑数据库主要包括表 ,段,区,oracle数据块。物理数据块 包括 数据文件,联机重做日志文件等
③ Oracle基本数据类型存储格式浅析—日期类型(3)
对于公元前的日期 Oracle从 开始保存 公元前的年的保存的值和对应的公元后的年的值相加的和是 如上例中的公元 年和公元前 年的值相加 + = + =
SQL中DATE类型最后还包括一个 似乎目前没有使用
SQL> CREATE TABLE TEST_TIMESTAMP(TIME TIMESTAMP( ) TIME TIMESTAMP( ) WITH LOCAL TIME ZONE TIME TIMESTAMP( ) WITH TIME ZONE);
表已创建
SQL> INSERT INTO TEST_TIMESTAMP VALUES (SYSTIMESTAMP SYSTIMESTAMP SYSTIMESTAMP);
已创建 行
SQL> SELECT * FROM TEST_TIMESTAMP;
TIME TIME TIME 月 下午 月 下午 月 下午 + :
SQL> SELECT DUMP(TIME ) DUMP(TIME ) DUMP(TIME ) FROM TEST_TIMESTAMP;
DUMP(TIME ) DUMP(TIME ) DUMP(TIME ) Typ= Len= : b b fc c Typ= Len= : b b fc c Typ= Len= : b b fc c c c
可以发现 如果客户端和数据库中的时区是一致的 那么TIMESTAMP和TIMESTAMP WITH LOCAL TIME ZONE存储的数据是完全一样的
TIMESTAMP WITH TIME ZONE则略有不同 它保存的是 时区的时间 和所处的时区信息
修改客户端主机的时区 由东 区(+ 区)改为 时区
SQL> INSERT INTO TEST_TIMESTAMP VALUES (SYSTIMESTAMP SYSTIMESTAMP SYSTIMESTAMP);
已创建 行
修改客户端主机的时区 改为西 区( 时区)
SQL> INSERT INTO TEST_TIMESTAMP VALUES (SYSTIMESTAMP SYSTIMESTAMP SYSTIMESTAMP);
已创建 行
修改客户端主机的时区 改为西 区( 时区)
SQL> INSERT INTO TEST_TIMESTAMP VALUES (SYSTIMESTAMP SYSTIMESTAMP SYSTIMESTAMP);
已创建 行
修改客户端主机的时区 改为东 区(+ 时区)
SQL> INSERT INTO TEST_TIMESTAMP VALUES (SYSTIMESTAMP SYSTIMESTAMP SYSTIMESTAMP);
已创建 行
修改客户端主机的时区 改为西 区( 时区)
SQL> INSERT INTO TEST_TIMESTAMP VALUES (SYSTIMESTAMP SYSTIMESTAMP SYSTIMESTAMP);
已创建 行
修改客户端主机的时区 改为东 区(+ 时区)
SQL> INSERT INTO TEST_TIMESTAMP VALUES (SYSTIMESTAMP SYSTIMESTAMP SYSTIMESTAMP);
已创建 行
SQL> MIT;
提交完成
修改客户端主机的时区 改回东 区(+ 时区)
SQL> SELECT * FROM TEST_TIMESTAMP;
TIME TIME TIME 月 下午 月 下午 月 下午 + :
月 下午 月 下午 月 下午 + :
月 上午 月 下午 月 上午 :
月 上午 月 下午 月 上午 :
月 上午 月 下午 月 上午 + :
月 下午 月 上午 月 下午 :
月 上午 月 上午 月 上午 + :
已选择 行
SQL> SELECT DUMP(TIME ) DUMP(TIME ) DUMP(TIME ) FROM TEST_TIMESTAMP;
DUMP(TIME ) DUMP(TIME ) DUMP(TIME ) Typ= Len= : b b fc c Typ= Len= : b b fc c Typ= Len= : b b fc c c c
Typ= Len= : b c c c e Typ= Len= : b c c c e Typ= Len= : b c c c e c
Typ= Len= : b b f a d c c Typ= Len= : b f a d c c Typ= Len= : b f a d c c f c
Typ= Len= : b b a f Typ= Len= : b b a f Typ= Len= : b b a f c
Typ= Len= : c f d Typ= Len= : b f d Typ= Len= : b f d c
Typ= Len= : b f cb bb c Typ= Len= : c e cb bb c Typ= Len= : b e cb bb c e
Typ= Len= : c b b Typ= Len= : c f b b Typ= Len= : b f b b d a
SQL> SELECT TO_NUMBER( C XXX ) TO_NUMBER( C XXX ) FROM DUAL;
TO_NUMBER( C XXX ) TO_NUMBER( C XXX )
SQL> SELECT TO_NUMBER( XXX ) TO_NUMBER( C XXX ) TO_NUMBER( C XXXXXXX ) FROM DUAL;
TO_NUMBER( XXX ) TO_NUMBER( C XXX )
SQL> SELECT TO_NUMBER( C XXX ) TO_NUMBER( E XXX ) TO_NUMBER( A XXX ) FROM DUAL;
TO_NUMBER( C XXX ) TO_NUMBER( E XXX ) TO_NUMBER( A XXX )
可以看出 修改时区会导致系统TIMESTAMP时间发生变化 但是对于TIMESTAMP WITH LOCAL TIME ZONE类型 总是将系统的时间转化到数据库服务器上时区的时间进行存储
TIMESTAMP WITH TIME ZONE保存的是当前时间转化到 时区的对应的时间 并通过最后两位来保存时区信息
第一位表示时区的小时部分 时区用 x 表示 东n区在这个基础上加n 西n区在这个基础上减n 我们所处的东 区表示为 x C 西 区表示为 xF
lishixin/Article/program/Oracle/201311/18690
④ oracle数据库是怎么存储数据的
这个问题可深可浅。
简单的说就是用表存储数据的。
往深里说,参考《关系数据库理论及应用》