轉載於:(140條消息) 如何管理oralce口令文件和參數文件_oracle 口令文件_夢想家DBA匠人的博客-CSDN博客口令文件審核 Step 1: 使用root賬號將 oracle dba的許可權移除 [root@oracle-db-19c ~]# su - oracle[oracle@ora ...
轉載於:(140條消息) 如何管理oralce口令文件和參數文件_oracle 口令文件_夢想家DBA匠人的博客-CSDN博客
口令文件審核
Step 1: 使用root賬號將 oracle dba的許可權移除
[root@oracle-db-19c ~]# su - oracle
[oracle@oracle-db-19c ~]$
[oracle@oracle-db-19c ~]$ id oracle
uid=1501(oracle) gid=1501(oinstall) groups=1501(oinstall),1502(dba),1503(oper),1504(backupdba),1505(dgdba),1506(kmdba),1507(racdba)
[oracle@oracle-db-19c ~]$
[oracle@oracle-db-19c ~]$ su -
Password:
[root@oracle-db-19c ~]# gpasswd -d oracle dba
Removing user oracle from group dba
[root@oracle-db-19c ~]#
[root@oracle-db-19c ~]# id oracle
uid=1501(oracle) gid=1501(oinstall) groups=1501(oinstall),1503(oper),1504(backupdba),1505(dgdba),1506(kmdba),1507(racdba)
[root@oracle-db-19c ~]#
註意:如何恢復已經刪除的許可權:
gpasswd -d userName groupName
gpasswd -d oracle dba
usermod -a -G groupName userName
usermod -a -G dba oracle
gpasswd -a oracle dba
[root@oracle-db-19c ~]# id oracle
uid=1501(oracle) gid=1501(oinstall) groups=1501(oinstall),1503(oper),1504(backupdba),1505(dgdba),1506(kmdba),1507(racdba)
[root@oracle-db-19c ~]# groupadd -g 1502 dba
groupadd: group 'dba' already exists
[root@oracle-db-19c ~]# usermod -a -G dba oracle
[root@oracle-db-19c ~]# id oracle
uid=1501(oracle) gid=1501(oinstall) groups=1501(oinstall),1502(dba),1503(oper),1504(backupdba),1505(dgdba),1506(kmdba),1507(racdba)
[root@oracle-db-19c ~]#
Step2 : 核查使用 sqlplus / as sysdba是否可以登錄。結果是無法登錄,需要口令方可登錄。
Version 19.3.0.0.0
[oracle@oracle-db-19c ~]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sat Nov 19 17:26:20 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
ERROR:
ORA-01017: invalid username/password; logon denied
Enter user-name:
ERROR:
ORA-01017: invalid username/password; logon denied
Enter user-name:
ERROR:
ORA-01017: invalid username/password; logon denied
SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
[oracle@oracle-db-19c ~]$ sqlplus sys/sys as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sat Nov 19 17:26:52 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
[oracle@oracle-db-19c ~]$
Step3 查看口令文件在何處?
oracle@oracle-db-19c ~]$ cd $ORACLE_HOME/dbs
[oracle@oracle-db-19c dbs]$ pwd
/u01/app/oracle/product/19.3.0/dbhome_1/dbs
[oracle@oracle-db-19c dbs]$ ls -ltr
total 20
-rw-r--r--. 1 oracle oinstall 3079 May 14 2015 init.ora
-rw-r-----. 1 oracle oinstall 24 Nov 2 15:03 lkCDB1
-rw-r-----. 1 oracle oinstall 2048 Nov 16 17:17 orapwcdb1
-rw-rw----. 1 oracle oinstall 1544 Nov 19 11:09 hc_cdb1.dat
-rw-r-----. 1 oracle oinstall 3584 Nov 19 14:00 spfilecdb1.ora
[oracle@oracle-db-19c dbs]$
[oracle@oracle-db-19c dbs]$ ls -ltr orapwcdb1
-rw-r-----. 1 oracle oinstall 2048 Nov 16 17:17 orapwcdb1
[oracle@oracle-db-19c dbs]$ cp -p orapwcdb1 orapwcdb1_bkp
[oracle@oracle-db-19c dbs]$
Step 4.口令文件刪除後就無法登錄到超級用戶了。
[oracle@oracle-db-19c dbs]$ ls -ltr
total 24
-rw-r--r--. 1 oracle oinstall 3079 May 14 2015 init.ora
-rw-r-----. 1 oracle oinstall 24 Nov 2 15:03 lkCDB1
-rw-r-----. 1 oracle oinstall 2048 Nov 16 17:17 orapwcdb1_bkp
-rw-r-----. 1 oracle oinstall 2048 Nov 16 17:17 orapwcdb1
-rw-rw----. 1 oracle oinstall 1544 Nov 19 11:09 hc_cdb1.dat
-rw-r-----. 1 oracle oinstall 3584 Nov 19 14:00 spfilecdb1.ora
[oracle@oracle-db-19c dbs]$ rm -rf orapwcdb1
[oracle@oracle-db-19c dbs]$
[oracle@oracle-db-19c dbs]$
[oracle@oracle-db-19c dbs]$
[oracle@oracle-db-19c dbs]$ sqlplus sys/sys as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sat Nov 19 17:34:07 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
ERROR:
ORA-01017: invalid username/password; logon denied
Enter user-name:
Step5. 如何解決口令文件丟失或口令文件損壞(切記使用絕對路徑,不要使用
orapwd file=$ORALCE_HOME/dbs/orapwcdb1 password=1qazxsw23edc#
否則,OPW-00001: Unable to open password-file
)
[oracle@oracle-db-19c dbs]$ pwd
/u01/app/oracle/product/19.3.0/dbhome_1/dbs
[oracle@oracle-db-19c dbs]$ orapwd file=/u01/app/oracle/product/19.3.0/dbhome_1/dbs/orapwcdb1 password=1qazxsw23edc#
[oracle@oracle-db-19c dbs]$ ll
total 28
-rw-rw----. 1 oracle oinstall 1544 Nov 19 11:09 hc_cdb1.dat
-rw-r--r--. 1 oracle oinstall 3079 May 14 2015 init.ora
-rw-r-----. 1 oracle oinstall 24 Nov 2 15:03 lkCDB1
-rw-r-----. 1 oracle oinstall 6144 Nov 19 17:57 orapwcdb1
-rw-r-----. 1 oracle oinstall 2048 Nov 16 17:17 orapwcdb1_bkp
-rw-r-----. 1 oracle oinstall 3584 Nov 19 14:00 spfilecdb1.ora
[oracle@oracle-db-19c dbs]$
[oracle@oracle-db-19c ~]$
[oracle@oracle-db-19c ~]$
[oracle@oracle-db-19c ~]$
[oracle@oracle-db-19c ~]$ sqlplus sys/1qazxsw23edc# as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sat Nov 19 18:00:17 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL>
sys的安全審核需要通過口令文件。
擁有dba角色的許可權就可以所有用戶許可權。
參數文件
什麼是參數? 控制資料庫屬性行為的開關。
如何查看參數和參數的取值?
SQL> column name for a40
SQL> column value for a40
SQL> set linesize 200
SQL> set pagesize 200
SQL> select name,value from v$parameter;
NAME VALUE
---------------------------------------- ----------------------------------------
lock_name_space
processes 320
sessions 504
timed_statistics TRUE
timed_os_statistics 0
resource_limit TRUE
license_max_sessions 0
license_sessions_warning 0
long_module_action TRUE
standby_db_preserve_states NONE
instance_abort_delay_time 0
cpu_count 4
cpu_min_count 4
instance_groups
event
sga_max_size 629145600
use_large_pages TRUE
pre_page_sga TRUE
shared_memory_address 0
hi_shared_memory_address 0
lock_sga FALSE
processor_group_name
allow_group_access_to_sga FALSE
sga_min_size 0
shared_pool_size 0
large_pool_size 0
java_pool_size 0
streams_pool_size 0
shared_pool_reserved_size 8598323
java_soft_sessionspace_limit 0
java_max_sessionspace_size 0
如何查看非預設值的參數?
SQL>
SQL> column name for a40
SQL> column value for a40
SQL> set pagesize 200
SQL> set linesize 200
SQL> select name,value from v$parameter where isdefault<>'TRUE';
NAME VALUE
---------------------------------------- ----------------------------------------
processes 320
nls_language AMERICAN
nls_territory AMERICA
sga_target 629145600
control_files /u02/oradata/CDB1/control01.ctl, /u02/or
adata/CDB1/control02.ctl
db_block_size 8192
compatible 19.0.0
db_create_file_dest /u02/oradata
undo_tablespace UNDOTBS1
remote_login_passwordfile EXCLUSIVE
dispatchers (PROTOCOL=TCP) (SERVICE=cdb1XDB)
audit_file_dest /u01/app/oracle/admin/cdb1/adump
audit_trail DB
db_name cdb1
open_cursors 300
pga_aggregate_target 209715200
diagnostic_dest /u01/app/oracle
enable_pluggable_database TRUE
18 rows selected.
SQL>
使用sqlplus環境命令查看參數取值
show parameter xxxxx ---> 查看記憶體值
show spparameter xxxxx ---> 查看spfile中的值
參數的分類
動態參數:記憶體中的當前值可以被修改。
SQL> select NAME,ISSYS_MODIFIABLE from v$parameter where ISSYS_MODIFIABLE!='FALSE' order by 2;
NAME ISSYS_MOD
---------------------------------------- ---------
backup_tape_io_slaves DEFERRED
recyclebin DEFERRED
session_cached_cursors DEFERRED
private_temp_table_prefix DEFERRED
audit_file_dest DEFERRED
olap_page_pool_size DEFERRED
object_cache_max_size_percent DEFERRED
sort_area_size DEFERRED
sort_area_retained_size DEFERRED
client_statistics_level DEFERRED
object_cache_optimal_size DEFERRED
sessions IMMEDIATE
timed_statistics IMMEDIATE
timed_os_statistics IMMEDIATE
靜態參數 :記憶體中的當前值是不可以被修改的。
SQL> select NAME,ISSYS_MODIFIABLE from v$parameter where ISSYS_MODIFIABLE='FALSE';
NAME ISSYS_MOD
---------------------------------------- ---------
lock_name_space FALSE
processes FALSE
standby_db_preserve_states FALSE
instance_groups FALSE
event FALSE
sga_max_size FALSE
use_large_pages FALSE
pre_page_sga FALSE
shared_memory_address FALSE
hi_shared_memory_address FALSE
lock_sga FALSE
processor_group_name FALSE
allow_group_access_to_sga FALSE
shared_pool_reserved_size FALSE
SQL>
SQL> select count(*) from v$parameter;
COUNT(*)
----------
445
SQL> show user;
USER is "SYS"
SQL>
參數文件的分類:
spfile : server parameter file
二進位格式,脫離文件系統的束縛
只能放在server端
一致性比較好
只能使用sql命令修改
spfile的優先順序高於pfile
命名規則: spfile<sid>.ora & spfile.ora
pfile: parameter file
文本文件
可以放在server端也可以放在client端
pfile靈活但是副本太多
可以使用文本編輯器直接修改
命名規則: init<sid>.ora
參數文件保存的位置: $ORACLE_HOME/dbs
找到自己的參數文件!
使用spfile啟動的實例,如何修改動態參數的記憶體值?
alter system set open_cursors=500 scope=memory;
使用spfile啟動的實例,如何修改動態參數在參數文件中的取值?
alter system set open_cursors=400 scope=spfile;
使用spfile啟動的實例,如何修改動態參數在參數文件中的取值和記憶體的取值?
alter system set open_cursors=600 scope=both;
alter system set open_cursors=600;
使用spfile啟動的實例,如何修改靜態參數在參數文件中的取值?重新啟動實例生效!!! startup force
alter system set db_unique_name='pdb1' scope=spfile;
memory_target=50g
SQL> show parameter open_cursors
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 300
SQL> show spparameter open_cursors
SID NAME TYPE VALUE
-------- ----------------------------- ----------- ----------------------------
* open_cursors integer 300
SQL>
[oracle@oracle-db-19c dbs]$
[oracle@oracle-db-19c dbs]$ strings spfilecdb1.ora | grep open_cursors
*.open_cursors=300
[oracle@oracle-db-19c dbs]$
使用pfile:
create pfile from spfile;
create spfile from pfile;
使用pfile 啟動實例
alter system set 命令沒有scope選項
alter system set 命令只能修改記憶體
使用pfile 啟動的實例,如何修改動態參數的記憶體值?
alter system set open_cursors=500;
使用pfile啟動的實例,如果修改動態參數在參數文件中的取值?
使用vi直接修改。
使用pfile啟動的實例,如何同時修改動態參數在參數文件中的取值和記憶體中的取值?
先用alter system set 命令,再使用vi
使用pfile啟動的實例,如何修改靜態參數在參數文件中的取值?
直接使用vi直接修改
修改pfile的預設路徑
使用臨時的pfile啟動實例
startup pfile='/home/oracle/l.ora'
————————————————
版權聲明:本文為CSDN博主「夢想家DBA匠人」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u011868279/article/details/127939444