日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

参数到不进oracle,Oracle对于启动参数检查不严格

發布時間:2023/12/1 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 参数到不进oracle,Oracle对于启动参数检查不严格 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

偶然發現Oracle對于pfile啟動參數的檢查并不嚴格。

比如修改參數文件如下:

[oracle@yans1 ~]$ vi initprimary.ora

primary.__db_cache_size=1644167168

primary.__java_pool_size=16777216

primary.__large_pool_size=16777216

.

.

.

*.sga_target=2147483648

*.standby_file_management='AUTO'

*.undo_tablespace='UNDOTBS1

*.undo_management='AUTO'

*.user_dump_dest='/opt/ora10g/admin/primary/udump'

注意,在undo_tablespace參數的值UNDOTBS1后面缺少了一個引號,如果利用這個PFILE來創建SPFILE,Oracle會檢查出錯誤:

SQL> create spfile from pfile='/home/oracle/initprimary.ora';

create spfile from pfile='/home/oracle/initprimary.ora'

*

ERROR at line 1:

ORA-01078: failure in processing system parameters

LRM-00111: no closing quote for value 'AUTO'

'

但是如果嘗試利用這個初始化參數啟動到nomount或mount狀態,Oracle并不會對參數的正確性進行檢查:

SQL> startup mount pfile=initprimary.ora

ORACLE instance started.

Total System Global Area 2147483648 bytes

Fixed Size2074112 bytes

Variable Size486541824 bytes

Database Buffers1644167168 bytes

Redo Buffers14700544 bytes

Database mounted.

SQL> show parameter undo

NAMETYPEVALUE

------------------------------------ ----------- ------------------------------

undo_managementstringMANUAL

undo_retentioninteger900

undo_tablespacestringAUTO'

可以看到,UNDO_TABLESPACE的值變成了AUOT’,而UNDO_MANAGEMENT的值則丟失,變成了系統的默認值。

這種情況數據庫還可以打開:

SQL> alter database open;

Database altered.

SQL> select name from v$datafile;

NAME

----------------------------------------------------------------------------------------

/data/oradata/primary/system01.dbf

/data/oradata/primary/undotbs01.dbf

/data/oradata/primary/sysaux01.dbf

/data/oradata/primary/users01.dbf

/data/oradata/primary/test01.dbf

/data/oradata/primary/new01.dbf

/data/oradata/primary/new02.dbf

7 rows selected.

當然只要是非SYS用戶執行任何的需要回滾段的操作,都會導致錯誤:

SQL> conn test/test

Connected.

SQL> create table t_undo (id number) tablespace new;

create table t_undo (id number) tablespace new

*

ERROR at line 1:

ORA-01552: cannot use system rollback segment for non-system tablespace 'NEW'

看來Oracle對于啟動參數的檢查還存在漏洞。

總結

以上是生活随笔為你收集整理的参数到不进oracle,Oracle对于启动参数检查不严格的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。