新しいOracleデータベースに出会った時のやること
あくまで個人の経験談であって、人によって異なると思いますので、 参考までにどうぞ^^
1、Oracleのバージョンと関連プラットホームの情報
SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod PL/SQL Release 10.2.0.1.0 - Production CORE 10.2.0.1.0 Production TNS for Linux: Version 10.2.0.1.0 - Production NLSRTL Version 10.2.0.1.0 - Production SQL> select * from dba_registry_database;(Oracle 11gの場合) SQL> select dbid, name, open_mode, database_role, platform_name from v$database; DBID NAME OPEN_MODE DATABASE_ROLE PLATFORM_NAME ---------- --------- ---------- ---------------- ------------------------------ 1204647702 ORCL READ WRITE PRIMARY Linux IA (32-bit) SQL> select dbms_utility.port_string from dual; PORT_STRING ------------------------------------------------------------------------------- Linuxi386/Linux-2.0.34-8.1.0 SQL> set serveroutput on declare ver VARCHAR2(100); compat VARCHAR2(100); begin dbms_utility.db_version(ver, compat); dbms_output.put_line('Version: ' || ver ||' Compatible: ' || compat); end; / Version: 10.2.0.1.0 Compatible: 10.2.0.1.0 PL/SQL procedure successfully completed.
2、どんなコンポーネントが実装されたか
SQL> select COMP_NAME,VERSION,STATUS from dba_registry; COMP_NAME VERSION STATUS -------------------------------------------------- ------------------------------ ------- Oracle Database Catalog Views 10.2.0.1.0 VALID Oracle Database Packages and Types 10.2.0.1.0 VALID Oracle Workspace Manager 10.2.0.1.0 VALID JServer JAVA Virtual Machine 10.2.0.1.0 VALID Oracle XDK 10.2.0.1.0 VALID Oracle Database Java Packages 10.2.0.1.0 VALID Oracle Expression Filter 10.2.0.1.0 VALID Oracle Data Mining 10.2.0.1.0 VALID Oracle Text 10.2.0.1.0 VALID Oracle XML Database 10.2.0.1.0 VALID Oracle Rules Manager 10.2.0.1.0 VALID Oracle interMedia 10.2.0.1.0 VALID OLAP Analytic Workspace 10.2.0.1.0 VALID Oracle OLAP API 10.2.0.1.0 VALID OLAP Catalog 10.2.0.1.0 VALID Spatial 10.2.0.1.0 VALID Oracle Enterprise Manager 10.2.0.1.0 VALID 17 rows selected.
確認方法いろいろあるけど、ここではdbms_utilityを使いましょう。 SQL> set serveroutput on declare inst_tab dbms_utility.instance_table; inst_cnt NUMBER; begin if dbms_utility.is_cluster_database then dbms_utility.active_instances(inst_tab, inst_cnt); dbms_output.put_line('-' || inst_tab.FIRST); dbms_output.put_line(TO_CHAR(inst_cnt)); else dbms_output.put_line('Not A Clustered Database'); end if; end; / Not A Clustered Database PL/SQL procedure successfully completed.
4、DataGuard利用されているか
SQL> select protection_mode, protection_level, remote_archive, database_role, dataguard_broker,guard_status from v$database; PROTECTION_MODE PROTECTION_LEVEL REMOTE_A DATABASE_ROLE DATAGUAR GUARD_S -------------------- -------------------- -------- ---------------- -------- ------- MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE ENABLED PRIMARY DISABLED NONE
SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 5 Next log sequence to archive 7 Current log sequence 7 SQL> select log_mode from v$database; LOG_MODE ------------ ARCHIVELOG
6、Flashback Database機能は有効か
SQL> select flashback_on from v$database; FLASHBACK_ON ------------------ YES YESの場合さらにフラッシュ リカバリ領域(FRA)を確認する。 V$RECOVERY_FILE_DEST:Flash Recovery Area領域使用状況 V$FLASH_RECOVERY_AREA_USAGE:ファイルタイプ別の領域使用状況 SQL> show parameter db_recovery_file_dest NAME TYPE VALUE ---------------------------- ----------- ------------------------------ db_recovery_file_dest string /u01/oracle/app/flash_recovery _area db_recovery_file_dest_size big integer 2G
7、Force loggingとsupplemental logは有効か
SQL> select force_logging,supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_ui, supplemental_log_data_fk, supplemental_log_data_all from v$database; FOR SUPPLEME SUP SUP SUP SUP --- -------- --- --- --- --- NO NO NO NO NO NO
8、制御ファイルの構成情報
SQL> select * from v$controlfile;
9、ログファイルの構成情報
SQL> select l.group#, lf.type, lf.member, l.bytes, l.status LOG_STATUS, lf.status LOGFILE_STATUS from v$log l, v$logfile lf where l.group# = lf.group# order by 1,3;
10、パラメータファイルの構成情報
SQL> show parameter spfile NAME TYPE VALUE ---------- ----------- ------------------------------ spfile string /u01/oracle/app/oracle/product /10.2.0/db_1/dbs/spfileorcl.ora a その他: create spfile from pfile... create pfile from spfile... create spfile from memory... create pfile from memory...
11、インスタンスに関する情報
SQL> select instance_name, host_name, status, archiver, database_status, instance_role, active_state from v$instance; INSTANCE_NAME HOST_NAME STATUS ARCHIVE DATABASE_STATUS INSTANCE_ROLE ACTIVE_ST ---------------- ------------------------- ------ ------- ----------------- ------------------ --------- orcl CentOS52.Oracle.Desktop OPEN STARTED ACTIVE PRIMARY_INSTANCE NORMAL
12、ユーザとパスワードに関する情報
(1)デフォルトパスワード使用したか (2)プロファイル使用したか (3)パスワード検証関数使用したか (4)ユーザの認証方法は? (5)パスワードは大文字小文字区別か SQL> select name, value from gv$parameter where name = 'resource_limit'; NAME VALUE ---------------- ----------- resource_limit FALSE SQL> select profile, resource_name, limit from dba_profiles order by 1,2; PROFILE RESOURCE_NAME LIMIT ------------------------------ -------------------------------- ---------------------------------------- DEFAULT COMPOSITE_LIMIT UNLIMITED DEFAULT CONNECT_TIME UNLIMITED DEFAULT CPU_PER_CALL UNLIMITED DEFAULT CPU_PER_SESSION UNLIMITED DEFAULT FAILED_LOGIN_ATTEMPTS 10 DEFAULT IDLE_TIME UNLIMITED DEFAULT LOGICAL_READS_PER_CALL UNLIMITED DEFAULT LOGICAL_READS_PER_SESSION UNLIMITED DEFAULT PASSWORD_GRACE_TIME UNLIMITED DEFAULT PASSWORD_LIFE_TIME UNLIMITED DEFAULT PASSWORD_LOCK_TIME UNLIMITED DEFAULT PASSWORD_REUSE_MAX UNLIMITED DEFAULT PASSWORD_REUSE_TIME UNLIMITED DEFAULT PASSWORD_VERIFY_FUNCTION NULL DEFAULT PRIVATE_SGA UNLIMITED DEFAULT SESSIONS_PER_USER UNLIMITED MONITORING_PROFILE COMPOSITE_LIMIT DEFAULT MONITORING_PROFILE CONNECT_TIME DEFAULT MONITORING_PROFILE CPU_PER_CALL DEFAULT MONITORING_PROFILE CPU_PER_SESSION DEFAULT MONITORING_PROFILE FAILED_LOGIN_ATTEMPTS UNLIMITED MONITORING_PROFILE IDLE_TIME DEFAULT MONITORING_PROFILE LOGICAL_READS_PER_CALL DEFAULT MONITORING_PROFILE LOGICAL_READS_PER_SESSION DEFAULT MONITORING_PROFILE PASSWORD_GRACE_TIME DEFAULT MONITORING_PROFILE PASSWORD_LIFE_TIME DEFAULT MONITORING_PROFILE PASSWORD_LOCK_TIME DEFAULT MONITORING_PROFILE PASSWORD_REUSE_MAX DEFAULT MONITORING_PROFILE PASSWORD_REUSE_TIME DEFAULT MONITORING_PROFILE PASSWORD_VERIFY_FUNCTION DEFAULT MONITORING_PROFILE PRIVATE_SGA DEFAULT MONITORING_PROFILE SESSIONS_PER_USER DEFAULT 32 rows selected. SQL> select username, profile from dba_users where account_status = 'OPEN' order by 1; USERNAME PROFILE ------------------------------ ------------------------------ DBSNMP MONITORING_PROFILE MGMT_VIEW DEFAULT SPOTLIGHT DEFAULT SYS DEFAULT SYSMAN DEFAULT SYSTEM DEFAULT 6 rows selected. 11gの場合 select d.username, u.account_status from dba_users_with_defpwd d, dba_users u where d.username = u.username and account_status = 'OPEN' order by 2,1;
13、Block Change Trackingは有効か
SQL> select filename, status, bytes from v$block_change_tracking; FILENAME STATUS BYTES ------------------------- DISABLED
14、ほかに何か機能を利用されているか
11gの場合はDBMS_FEATURE_USAGE_REPORTを利用しましょう。
15、表領域とデータファイルの構成情報
select * from dba_tablespaces; select * from v$tablespace; select * from v$datafile;
16、文字コードに関する情報
select * from database_properties;
17、システム上Invalidオブジェクト存在するか
SQL> select owner, object_type, COUNT(*) from dba_objects where status = 'INVALID' group by owner, object_type; no rows selected
18、ASMを利用されているか
19、現在のバックアップ・リストアのソリューションは何か
20、ネットワークの構成情報
21、最近のAlart.logをチェックし、運用状況を把握する
22、Statspack、RDA、OSWレポートを収集する
以上はパッと思い出した情報で、これらを把握することで 新たな環境を分析できると思います。