{"id":316,"date":"2007-10-16T00:00:00","date_gmt":"2007-10-16T00:00:00","guid":{"rendered":"http:\/\/www.strongd.net\/?p=316"},"modified":"2007-10-16T00:00:00","modified_gmt":"2007-10-16T00:00:00","slug":"oracle\u91cc\u7684\u5e38\u7528\u547d\u4ee4 ","status":"publish","type":"post","link":"https:\/\/www.strongd.net\/?p=316","title":{"rendered":"oracle\u91cc\u7684\u5e38\u7528\u547d\u4ee4"},"content":{"rendered":"<p><P>oracle\u91cc\u7684\u5e38\u7528\u547d\u4ee4 <BR>\u7b2c\u4e00\u7ae0\uff1a\u65e5\u5fd7\u7ba1\u7406 <\/P><br \/>\n<P>1.forcing log switches <BR>sql&gt; alter system switch logfile;<\/P><br \/>\n<P>2.forcing checkpoints <BR>sql&gt; alter system checkpoint; <\/P><br \/>\n<P>3.adding online redo log groups <BR>sql&gt; alter database add logfile [group 4] <BR>sql&gt; (&#8216;\/disk3\/log4a.rdo&#8217;,&#8217;\/disk4\/log4b.rdo&#8217;) size 1m; <\/P><br \/>\n<P>4.adding online redo log members <BR>sql&gt; alter database add logfile member <BR>sql&gt; &#8216;\/disk3\/log1b.rdo&#8217; to group 1, <BR>sql&gt; &#8216;\/disk4\/log2b.rdo&#8217; to group 2; <\/P><br \/>\n<P>5.changes the name of the online redo logfile <BR>sql&gt; alter database rename file &#8216;c:\/oracle\/oradata\/oradb\/redo01.log&#8217; <BR>sql&gt; to &#8216;c:\/oracle\/oradata\/redo01.log&#8217;; <\/P><br \/>\n<P>6.drop online redo log groups <BR>sql&gt; alter database drop logfile group 3; <\/P><br \/>\n<P>7.drop online redo log members <BR>sql&gt; alter database drop logfile member &#8216;c:\/oracle\/oradata\/redo01.log&#8217;; <\/P><br \/>\n<P>8.clearing online redo log files <BR>sql&gt; alter database clear [unarchived] logfile &#8216;c:\/oracle\/log2a.rdo&#8217;; <\/P><br \/>\n<P>9.using logminer analyzing redo logfiles <\/P><br \/>\n<P>a. in the init.ora specify utl_file_dir = &#8216; &#8216; <BR>b. sql&gt; execute dbms_logmnr_d.build(&#8216;oradb.ora&#8217;,&#8217;c:\\oracle\\oradb\\log&#8217;); <BR>c. sql&gt; execute dbms_logmnr_add_logfile(&#8216;c:\\oracle\\oradata\\oradb\\redo01.log&#8217;, <BR>sql&gt; dbms_logmnr.new); <BR>d. sql&gt; execute dbms_logmnr.add_logfile(&#8216;c:\\oracle\\oradata\\oradb\\redo02.log&#8217;, <BR>sql&gt; dbms_logmnr.addfile); <BR>e. sql&gt; execute dbms_logmnr.start_logmnr(dictfilename=&gt;&#8217;c:\\oracle\\oradb\\log\\oradb.ora&#8217;); <BR>f. sql&gt; select * from v$logmnr_contents(v$logmnr_dictionary,v$logmnr_parameters <BR>sql&gt; v$logmnr_logs); <BR>g. sql&gt; execute dbms_logmnr.end_logmnr; <\/P><br \/>\n<P>\u7b2c\u4e8c\u7ae0\uff1a\u8868\u7a7a\u95f4\u7ba1\u7406 <BR>1.create tablespaces <BR>sql&gt; create tablespace tablespace_name datafile &#8216;c:\\oracle\\oradata\\file1.dbf&#8217; size 100m, <BR>sql&gt; &#8216;c:\\oracle\\oradata\\file2.dbf&#8217; size 100m minimum extent 550k [logging\/nologging] <BR>sql&gt; default storage (initial 500k next 500k maxextents 500 pctinccease 0) <BR>sql&gt; [online\/offline] [permanent\/temporary] [extent_management_clause] <\/P><br \/>\n<P>2.locally managed tablespace <BR>sql&gt; create tablespace user_data datafile &#8216;c:\\oracle\\oradata\\user_data01.dbf&#8217; <BR>sql&gt; size 500m extent management local uniform size 10m; <\/P><br \/>\n<P>3.temporary tablespace <BR>sql&gt; create temporary tablespace temp tempfile &#8216;c:\\oracle\\oradata\\temp01.dbf&#8217; <BR>sql&gt; size 500m extent management local uniform size 10m; <\/P><br \/>\n<P>4.change the storage setting <BR>sql&gt; alter tablespace app_data minimum extent 2m; <BR>sql&gt; alter tablespace app_data default storage(initial 2m next 2m maxextents 999); <\/P><br \/>\n<P>5.taking tablespace offline or online <BR>sql&gt; alter tablespace app_data offline; <BR>sql&gt; alter tablespace app_data online; <\/P><br \/>\n<P>6.read_only tablespace <BR>sql&gt; alter tablespace app_data read only|write; <\/P><br \/>\n<P>7.droping tablespace <BR>sql&gt; drop tablespace app_data including contents; <\/P><br \/>\n<P>8.enableing automatic extension of data files <BR>sql&gt; alter tablespace app_data add datafile &#8216;c:\\oracle\\oradata\\app_data01.dbf&#8217; size 200m <BR>sql&gt; autoextend on next 10m maxsize 500m; <\/P><br \/>\n<P>9.change the size fo data files manually <BR>sql&gt; alter database datafile &#8216;c:\\oracle\\oradata\\app_data.dbf&#8217; resize 200m; <\/P><br \/>\n<P>10.Moving data files: alter tablespace <BR>sql&gt; alter tablespace app_data rename datafile &#8216;c:\\oracle\\oradata\\app_data.dbf&#8217; <BR>sql&gt; to &#8216;c:\\oracle\\app_data.dbf&#8217;; <\/P><br \/>\n<P>11.moving data files:alter database <BR>sql&gt; alter database rename file &#8216;c:\\oracle\\oradata\\app_data.dbf&#8217; <BR>sql&gt; to &#8216;c:\\oracle\\app_data.dbf&#8217;; <\/P><br \/>\n<P>\u7b2c\u4e09\u7ae0\uff1a\u8868 <\/P><br \/>\n<P>1.create a table <BR>sql&gt; create table table_name (column datatype,column datatype]&#8230;.) <BR>sql&gt; tablespace tablespace_name [pctfree integer] [pctused integer] <BR>sql&gt; [initrans integer] [maxtrans integer] <BR>sql&gt; storage(initial 200k next 200k pctincrease 0 maxextents 50) <BR>sql&gt; [logging|nologging] [cache|nocache] <\/P><br \/>\n<P>2.copy an existing table <BR>sql&gt; create table table_name [logging|nologging] as subquery <\/P><br \/>\n<P>3.create temporary table <BR>sql&gt; create global temporary table xay_temp as select * from xay; <BR>on commit preserve rows\/on commit delete rows <\/P><br \/>\n<P>4.pctfree = (average row size &#8211; initial row size) *100 \/average row size <BR>pctused = 100-pctfree- (average row size*100\/available data space) <\/P><br \/>\n<P>5.change storage and block utilization parameter <BR>sql&gt; alter table table_name pctfree=30 pctused=50 storage(next 500k <BR>sql&gt; minextents 2 maxextents 100); <\/P><br \/>\n<P>6.manually allocating extents <BR>sql&gt; alter table table_name allocate extent(size 500k datafile &#8216;c:\/oracle\/data.dbf&#8217;); <\/P><br \/>\n<P>7.move tablespace <BR>sql&gt; alter table employee move tablespace users; <\/P><br \/>\n<P>8.deallocate of unused space <BR>sql&gt; alter table table_name deallocate unused [keep integer] <\/P><br \/>\n<P>9.truncate a table <BR>sql&gt; truncate table table_name; <\/P><br \/>\n<P>10.drop a table <BR>sql&gt; drop table table_name [cascade constraints]; <\/P><br \/>\n<P>11.drop a column <BR>sql&gt; alter table table_name drop column comments cascade constraints checkpoint 1000; <BR>alter table table_name drop columns continue; <\/P><br \/>\n<P>12.mark a column as unused <BR>sql&gt; alter table table_name set unused column comments cascade constraints; <BR>alter table table_name drop unused columns checkpoint 1000; <BR>alter table orders drop columns continue checkpoint 1000 <BR>data_dictionary : dba_unused_col_tabs<\/P><br \/>\n<P>\u7b2c\u56db\u7ae0\uff1a\u7d22\u5f15 <\/P><br \/>\n<P>1.creating function-based indexes <BR>sql&gt; create index summit.item_quantity on summit.item(quantity-quantity_shipped); <\/P><br \/>\n<P>2.create a B-tree index <BR>sql&gt; create [unique] index index_name on table_name(column,.. asc\/desc) tablespace <BR>sql&gt; tablespace_name [pctfree integer] [initrans integer] [maxtrans integer] <BR>sql&gt; [logging | nologging] [nosort] storage(initial 200k next 200k pctincrease 0 <BR>sql&gt; maxextents 50); <\/P><br \/>\n<P>3.pctfree(index)=(maximum number of rows-initial number of rows)*100\/maximum number of rows <\/P><br \/>\n<P>4.creating reverse key indexes <BR>sql&gt; create unique index xay_id on xay(a) reverse pctfree 30 storage(initial 200k <BR>sql&gt; next 200k pctincrease 0 maxextents 50) tablespace indx; <\/P><br \/>\n<P>5.create bitmap index <BR>sql&gt; create bitmap index xay_id on xay(a) pctfree 30 storage( initial 200k next 200k <BR>sql&gt; pctincrease 0 maxextents 50) tablespace indx; <\/P><br \/>\n<P>6.change storage parameter of index <BR>sql&gt; alter index xay_id storage (next 400k maxextents 100); <\/P><br \/>\n<P>7.allocating index space <BR>sql&gt; alter index xay_id allocate extent(size 200k datafile &#8216;c:\/oracle\/index.dbf&#8217;); <\/P><br \/>\n<P>8.alter index xay_id deallocate unused; <\/P><br \/>\n<P>\u7b2c\u4e94\u7ae0\uff1a\u7ea6\u675f <\/P><br \/>\n<P>1.define constraints as immediate or deferred <BR>sql&gt; alter session set constraint[s] = immediate\/deferred\/default; <BR>set constraint[s] constraint_name\/all immediate\/deferred; <\/P><br \/>\n<P>2. sql&gt; drop table table_name cascade constraints <BR>sql&gt; drop tablespace tablespace_name including contents cascade constraints <\/P><br \/>\n<P>3. define constraints while create a table <BR>sql&gt; create table xay(id number(7) constraint xay_id primary key deferrable <BR>sql&gt; using index storage(initial 100k next 100k) tablespace indx); <BR>primary key\/unique\/references table(column)\/check <\/P><br \/>\n<P>4.enable constraints <BR>sql&gt; alter table xay enable novalidate constraint xay_id; <\/P><br \/>\n<P>5.enable constraints <BR>sql&gt; alter table xay enable validate constraint xay_id; <\/P><br \/>\n<P>\u7b2c\u516d\u7ae0\uff1aLOAD\u6570\u636e <\/P><br \/>\n<P>1.loading data using direct_load insert <BR>sql&gt; insert \/*+append *\/ into emp nologging <BR>sql&gt; select * from emp_old; <\/P><br \/>\n<P>2.parallel direct-load insert <BR>sql&gt; alter session enable parallel dml; <BR>sql&gt; insert \/*+parallel(emp,2) *\/ into emp nologging <BR>sql&gt; select * from emp_old; <\/P><br \/>\n<P>3.using sql*loader <BR>sql&gt; sqlldr scott\/tiger \\ <BR>sql&gt; control = ulcase6.ctl \\ <BR>sql&gt; log = ulcase6.log direct=true <\/P><br \/>\n<P>\u7b2c\u4e03\u7ae0\uff1areorganizing data <\/P><br \/>\n<P>1.using expoty <BR>$exp scott\/tiger tables(dept,emp) file=c:\\emp.dmp log=exp.log compress=n direct=y <\/P><br \/>\n<P>2.using import <BR>$imp scott\/tiger tables(dept,emp) file=emp.dmp log=imp.log ignore=y <\/P><br \/>\n<P>3.transporting a tablespace <BR>sql&gt;alter tablespace sales_ts read only; <BR>$exp sys\/.. file=xay.dmp transport_tablespace=y tablespace=sales_ts <BR>triggers=n constraints=n <BR>$copy datafile <BR>$imp sys\/.. file=xay.dmp transport_tablespace=y datafiles=(\/disk1\/sles01.dbf,\/disk2 <BR>\/sles02.dbf) <BR>sql&gt; alter tablespace sales_ts read write; <\/P><br \/>\n<P>4.checking transport set <BR>sql&gt; DBMS_tts.transport_set_check(ts_list =&gt;&#8217;sales_ts&#8217; ..,incl_constraints=&gt;true); <BR>\u5728\u8868transport_set_violations \u4e2d\u67e5\u770b <BR>sql&gt; dbms_tts.isselfcontained \u4e3atrue \u662f\uff0c \u8868\u793a\u81ea\u5305\u542b <\/P><br \/>\n<P>\u7b2c\u516b\u7ae0\uff1a managing password security and resources <\/P><br \/>\n<P>1.controlling account lock and password <BR>sql&gt; alter user juncky identified by oracle account unlock; <\/P><br \/>\n<P>2.user_provided password function <BR>sql&gt; function_name(userid in varchar2(30),password in varchar2(30), <BR>old_password in varchar2(30)) return boolean <\/P><br \/>\n<P>3.create a profile : password setting <BR>sql&gt; create profile grace_5 limit failed_login_attempts 3 <BR>sql&gt; password_lock_time unlimited password_life_time 30 <BR>sql&gt;password_reuse_time 30 password_verify_function verify_function <BR>sql&gt; password_grace_time 5; <\/P><br \/>\n<P>4.altering a profile <BR>sql&gt; alter profile default failed_login_attempts 3 <BR>sql&gt; password_life_time 60 password_grace_time 10; <\/P><br \/>\n<P>5.drop a profile <BR>sql&gt; drop profile grace_5 [cascade]; <\/P><br \/>\n<P>6.create a profile : resource limit <BR>sql&gt; create profile developer_prof limit sessions_per_user 2 <BR>sql&gt; cpu_per_session 10000 idle_time 60 connect_time 480; <\/P><br \/>\n<P>7. view =&gt; resource_cost : alter resource cost <BR>dba_Users,dba_profiles <\/P><br \/>\n<P>8. enable resource limits <BR>sql&gt; alter system set resource_limit=true; <\/P><br \/>\n<P>\u7b2c\u4e5d\u7ae0\uff1aManaging users <\/P><br \/>\n<P>1.create a user: database authentication <BR>sql&gt; create user juncky identified by oracle default tablespace users <BR>sql&gt; temporary tablespace temp quota 10m on data password expire <BR>sql&gt; [account lock|unlock] [profile profilename|default]; <\/P><br \/>\n<P>2.change user quota on tablespace <BR>sql&gt; alter user juncky quota 0 on users; <\/P><br \/>\n<P>3.drop a user <BR>sql&gt; drop user juncky [cascade]; <\/P><br \/>\n<P>4. monitor user <BR>view: dba_users , dba_ts_quotas<\/P><br \/>\n<P>\u7b2c\u5341\u7ae0\uff1amanaging privileges <\/P><br \/>\n<P>1.system privileges: view =&gt; system_privilege_map ,dba_sys_privs,session_privs <\/P><br \/>\n<P>2.grant system privilege <BR>sql&gt; grant create session,create table to managers; <BR>sql&gt; grant create session to scott with admin option; <BR>with admin option can grant or revoke privilege from any user or role; <\/P><br \/>\n<P>3.sysdba and sysoper privileges: <BR>sysoper: startup,shutdown,alter database open|mount,alter database backup controlfile, <BR>alter tablespace begin\/end backup,recover database <BR>alter database archivelog,restricted session <BR>sysdba: sysoper privileges with admin option,create database,recover database until <\/P><br \/>\n<P>4.password file members: view:=&gt; v$pwfile_users <\/P><br \/>\n<P>5.O7_dictionary_accessibility =true restriction access to view or tables in other schema <\/P><br \/>\n<P>6.revoke system privilege <BR>sql&gt; revoke create table from karen; <BR>sql&gt; revoke create session from scott; <\/P><br \/>\n<P>7.grant object privilege <BR>sql&gt; grant execute on dbms_pipe to public; <BR>sql&gt; grant update(first_name,salary) on employee to karen with grant option; <\/P><br \/>\n<P>8.display object privilege : view =&gt; dba_tab_privs, dba_col_privs <\/P><br \/>\n<P>9.revoke object privilege <BR>sql&gt; revoke execute on dbms_pipe from scott [cascade constraints]; <\/P><br \/>\n<P>10.audit record view :=&gt; sys.aud$ <\/P><br \/>\n<P>11. protecting the audit trail <BR>sql&gt; audit delete on sys.aud$ by access; <\/P><br \/>\n<P>12.statement auditing <BR>sql&gt; audit user; <\/P><br \/>\n<P>13.privilege auditing <BR>sql&gt; audit select any table by summit by access; <\/P><br \/>\n<P>14.schema object auditing <BR>sql&gt; audit lock on summit.employee by access whenever successful; <\/P><br \/>\n<P>15.view audit option : view=&gt; all_def_audit_opts,dba_stmt_audit_opts,dba_priv_audit_opts,dba_obj_audit_opts <\/P><br \/>\n<P>16.view audit result: view=&gt; dba_audit_trail,dba_audit_exists,dba_audit_object,dba_audit_session,dba_audit_statement <\/P><br \/>\n<P>\u7b2c\u5341\u4e00\u7ae0\uff1a manager role <\/P><br \/>\n<P>1.create roles <BR>sql&gt; create role sales_clerk; <BR>sql&gt; create role hr_clerk identified by bonus; <BR>sql&gt; create role hr_manager identified externally; <\/P><br \/>\n<P>2.modify role <BR>sql&gt; alter role sales_clerk identified by commission; <BR>sql&gt; alter role hr_clerk identified externally; <BR>sql&gt; alter role hr_manager not identified; <\/P><br \/>\n<P>3.assigning roles <BR>sql&gt; grant sales_clerk to scott; <BR>sql&gt; grant hr_clerk to hr_manager; <BR>sql&gt; grant hr_manager to scott with admin option; <\/P><br \/>\n<P>4.establish default role <BR>sql&gt; alter user scott default role hr_clerk,sales_clerk; <BR>sql&gt; alter user scott default role all; <BR>sql&gt; alter user scott default role all except hr_clerk; <BR>sql&gt; alter user scott default role none; <\/P><br \/>\n<P>5.enable and disable roles <BR>sql&gt; set role hr_clerk; <BR>sql&gt; set role sales_clerk identified by commission; <BR>sql&gt; set role all except sales_clerk; <BR>sql&gt; set role none; <\/P><br \/>\n<P>6.remove role from user <BR>sql&gt; revoke sales_clerk from scott; <BR>sql&gt; revoke hr_manager from public; <\/P><br \/>\n<P>7.remove role <BR>sql&gt; drop role hr_manager; <\/P><br \/>\n<P>8.display role information <BR>view: =&gt;dba_roles,dba_role_privs,role_role_privs,dba_sys_privs,role_sys_privs,role_tab_privs,session_roles <\/P><br \/>\n<P>\u7b2c\u5341\u4e8c\u7ae0: BACKUP and RECOVERY <\/P><br \/>\n<P>1. v$sga,v$instance,v$process,v$bgprocess,v$database,v$datafile,v$sgastat <\/P><br \/>\n<P>2. Rman need set dbwr_IO_slaves or backup_tape_IO_slaves and large_pool_size <\/P><br \/>\n<P>3. Monitoring Parallel Rollback <BR>&gt; v$fast_start_servers , v$fast_start_transactions <\/P><br \/>\n<P>4.perform a closed database backup (noarchivelog) <BR>&gt; shutdown immediate <BR>&gt; cp files \/backup\/ <BR>&gt; startup <\/P><br \/>\n<P>5.restore to a different location <BR>&gt; connect system\/manager as sysdba <BR>&gt; startup mount <BR>&gt; alter database rename file &#8216;\/disk1\/..\/user.dbf&#8217; to &#8216;\/disk2\/..\/user.dbf&#8217;; <BR>&gt; alter database open; <\/P><br \/>\n<P>6.recover syntax <BR>&#8211;recover a mounted database <BR>&gt;recover database; <BR>&gt;recover datafile &#8216;\/disk1\/data\/df2.dbf&#8217;; <BR>&gt;alter database recover database; <BR>&#8211;recover an opened database <BR>&gt;recover tablespace user_data; <BR>&gt;recover datafile 2; <BR>&gt;alter database recover datafile 2; <\/P><br \/>\n<P>7.how to apply redo log files automatically <BR>&gt;set autorecovery on <BR>&gt;recover automatic datafile 4; <\/P><br \/>\n<P>8.complete recovery: <BR>&#8211;method 1(mounted databae) <BR>&gt;copy c:\\backup\\user.dbf c:\\oradata\\user.dbf <BR>&gt;startup mount <BR>&gt;recover datafile &#8216;c:\\oradata\\user.dbf; <BR>&gt;alter database open; <BR>&#8211;method 2(opened database,initially opened,not system or rollback datafile) <BR>&gt;copy c:\\backup\\user.dbf c:\\oradata\\user.dbf (alter tablespace offline) <BR>&gt;recover datafile &#8216;c:\\oradata\\user.dbf&#8217; or <BR>&gt;recover tablespace user_data; <BR>&gt;alter database datafile &#8216;c:\\oradata\\user.dbf&#8217; online or <BR>&gt;alter tablespace user_data online; <BR>&#8211;method 3(opened database,initially closed not system or rollback datafile) <BR>&gt;startup mount <BR>&gt;alter database datafile &#8216;c:\\oradata\\user.dbf&#8217; offline; <BR>&gt;alter database open <BR>&gt;copy c:\\backup\\user.dbf d:\\oradata\\user.dbf <BR>&gt;alter database rename file &#8216;c:\\oradata\\user.dbf&#8217; to &#8216;d:\\oradata\\user.dbf&#8217; <BR>&gt;recover datafile &#8216;e:\\oradata\\user.dbf&#8217; or recover tablespace user_data; <BR>&gt;alter tablespace user_data online; <BR>&#8211;method 4(loss of data file with no backup and have all archive log) <BR>&gt;alter tablespace user_data offline immediate; <BR>&gt;alter database create datafile &#8216;d:\\oradata\\user.dbf&#8217; as &#8216;c:\\oradata\\user.dbf&#8221; <BR>&gt;recover tablespace user_data; <BR>&gt;alter tablespace user_data online <BR>5.perform an open database backup <BR>&gt; alter tablespace user_data begin backup; <BR>&gt; copy files \/backup\/ <BR>&gt; alter database datafile &#8216;\/c:\/..\/data.dbf&#8217; end backup; <BR>&gt; alter system switch logfile; <BR>6.backup a control file <BR>&gt; alter database backup controlfile to &#8216;control1.bkp&#8217;; <BR>&gt; alter database backup controlfile to trace; <BR>7.recovery (noarchivelog mode) <BR>&gt; shutdown abort <BR>&gt; cp files <BR>&gt; startup <BR>8.recovery of file in backup mode <BR>&gt;alter database datafile 2 end backup; <\/P><br \/>\n<P>9.clearing redo log file <BR>&gt;alter database clear unarchived logfile group 1; <BR>&gt;alter database clear unarchived logfile group 1 unrecoverable datafile; <\/P><br \/>\n<P>10.redo log recovery <BR>&gt;alter database add logfile group 3 &#8216;c:\\oradata\\redo03.log&#8217; size 1000k; <BR>&gt;alter database drop logfile group 1; <BR>&gt;alter database open; <BR>or &gt;cp c:\\oradata\\redo02.log&#8217; c:\\oradata\\redo01.log <BR>&gt;alter database clear logfile &#8216;c:\\oradata\\log01.log&#8217;;<\/P><br \/>\n<DIV><\/DIV><\/p>\n","protected":false},"excerpt":{"rendered":"<p>oracle\u91cc\u7684\u5e38\u7528\u547d\u4ee4 \u7b2c\u4e00\u7ae0\uff1a\u65e5\u5fd7\u7ba1\u7406 1.forcing log switches sql&gt; alter system switch logfile; 2.forcing checkpoints sql&gt; alter system checkpoint; 3.adding online redo log groups sql&gt; alter database add logfile [group 4] sql&gt; (&#8216;\/disk3\/log4a.rdo&#8217;,&#8217;\/disk4\/log4b.rdo&#8217;) size 1m; 4.adding online redo log members sql&gt; alter database add logfile member sql&gt; &#8216;\/disk3\/log1b.rdo&#8217; to group 1, sql&gt; &#8216;\/disk4\/log2b.rdo&#8217; to group 2; 5.changes the &hellip; <a href=\"https:\/\/www.strongd.net\/?p=316\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">oracle\u91cc\u7684\u5e38\u7528\u547d\u4ee4<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-316","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/posts\/316","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.strongd.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=316"}],"version-history":[{"count":0,"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/posts\/316\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.strongd.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=316"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.strongd.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=316"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.strongd.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}