{"id":437,"date":"2009-02-13T11:01:54","date_gmt":"2009-02-13T16:01:54","guid":{"rendered":"http:\/\/jianmingli.com\/wp\/?p=437"},"modified":"2009-09-14T14:14:12","modified_gmt":"2009-09-14T19:14:12","slug":"oracle-dba-samples","status":"publish","type":"post","link":"https:\/\/jianmingli.com\/wp\/?p=437","title":{"rendered":"Oracle DBA Samples"},"content":{"rendered":"<p>\u2022@ vs @@<br \/>\n@\tfind file in current directory<br \/>\n@@\tfind file in same path as the command file from which it was called<\/p>\n<p>\u2022object priv granted to PUBLIC<br \/>\nselect * from dba_tab_privs<br \/>\nwhere grantee = &#8216;PUBLIC&#8217;;<br \/>\n\u2022system priv granted to PUBLIC<br \/>\nselect * from dba_sys_privs<br \/>\nwhere grantee = &#8216;PUBLIC&#8217;;<br \/>\n\u2022roles granted to public<br \/>\nselect * from dba_role_privs<br \/>\nwhere grantee = &#8216;PUBLIC&#8217;;<\/p>\n<p>Move db files<\/p>\n<p>\u2022backup db<br \/>\n\u2022alter tablespace accounting offline normal | drop;<br \/>\n\u2022mv \/disk1\/accounting01.dbf \/disk2\/accounting01.dbf<br \/>\n\u2022alter tablespace  accounting  rename datafile &#8216;\/disk1\/accounting01.dbf&#8217; to &#8216;\/disk2\/accounting01.dbf&#8217;;<br \/>\n\u2022alter tablespace accounting online ;<\/p>\n<p>\u2022OR: shutdown; startup mount<br \/>\n\u2022mv \/disk1\/accounting01.dbf \/disk2\/accounting01.dbf<br \/>\n\u2022alter database  account  rename file  &#8216;\/disk1\/accounting01.dbf&#8217; to &#8216;\/disk2\/accounting01.dbf&#8217;;<br \/>\n\u2022alter database open ;<\/p>\n<p>\u00a7Add datafile<br \/>\nalter tablespace &#8220;LOB1&#8221;<br \/>\nadd datafile &#8216;\/disk1\/file2.dbf&#8217;<br \/>\nsize 500M<br \/>\nreuse;<\/p>\n<p>\u00a7Recover datafile<br \/>\nalter datafile<br \/>\nrecover datafile &#8216;\/disk1\/ fils2.dbf&#8217;;<\/p>\n<p>\u00a7Resize datafile<br \/>\nalter database<br \/>\ndatafile &#8216;\/disk1\/file2.dbf&#8217;<br \/>\nresize 5000K;<\/p>\n<p>Recover from Missing RBS Datafile<\/p>\n<p>\u2022add in pfile to indicate corrupted rbs segmente<br \/>\n_corrupted_rollback_segments=RBS0,RBS1,RBS2&#8230;<\/p>\n<p>\u2022shutdown abort;<br \/>\n\u2022alter database<br \/>\ndatafile &#8216;<datafile>&#8216; offline drop;<br \/>\n\u2022alter database open;<\/p>\n<p>\u2022create a temp rbs tblspc<br \/>\n\u2022create at least one online rbs seg<\/p>\n<p>\u2022drop all original rbs segments<br \/>\n\u2022drop original rbs tblspc<\/p>\n<p>\u2022recreate original rbs tblspc<br \/>\n\u2022recreate all original rbs segments<\/p>\n<p>\u2022take temp rbs segments offline<br \/>\n\u2022drop temp rbs tblspc<\/p>\n<p>\u2022remove from pfile<br \/>\n_corrupted_rollback_segments=RBS0,RBS1,RBS2&#8230;<br \/>\n\u2022restart database<\/p>\n<p>Reduce RBS datafiles<\/p>\n<p>\u2022Create temp rbs tblspc<br \/>\n\u2022Create temp rbs segs in it<br \/>\n\u2022Drop tblspc<br \/>\n\u2022Delete datafile<br \/>\n\u2022Recreate rbs tblspc &#038; rbs segs<\/p>\n<p>Retrieve store procedure text<br \/>\nselect obj.object_name, src.text<br \/>\nfrom user_objects obj,<br \/>\nuser_source src<br \/>\nwhere obj.object_name=src.name<br \/>\nand object_type=&#8217;PROCEDURE&#8217;<br \/>\n\/<\/p>\n<p>\u2022Outer Joins<br \/>\nmysql>select *<br \/>\nfrom clients c left join invoices i<br \/>\non c.id=i.id;<br \/>\nOr<br \/>\nmysql>select *<br \/>\nfrom clients c left join invoices i<br \/>\nusing (client_id);<\/p>\n<p>SQL*Plus<\/p>\n<p>\u2022SET AUTOCOMMIT 100<br \/>\n\u2022SET SCAN OFF<br \/>\n\u2022set pagesize 80<br \/>\n\u2022break on name skip page on value<\/p>\n<p>Oracle Table Definition<br \/>\nselect table_name, column_name,<br \/>\ndata_type, data_length, nullable<br \/>\nfrom user_tab_columns<br \/>\norder by table name<br \/>\n\/<\/p>\n<p>Constraint Definition<br \/>\nselect cons.table_name, cons_constraint_nams, cons.constraint_type, col.column_name<br \/>\nfrom user_constraints cons, user_cons_columns col<br \/>\nwhere cons.table_name = col.table_name<br \/>\nand cons.constraint_nams = col.constraint_name<br \/>\norder by cons.table_nams, cons.constraint_name<\/p>\n<pre>\r\n@?\/rdbms\/admin\/UTLXPLAN.SQL\r\n\r\nEXPLAIN PLAN FOR\r\n  2  SELECT *\r\n  3  FROM   emp e, dept d\r\n  4  WHERE  e.deptno = d.deptno\r\n  5  AND    e.ename  = 'SMITH';\r\n  \r\n\r\nSQL> EXPLAIN PLAN SET STATEMENT_ID = 'TIM' FOR\r\n  2  SELECT *\r\n  3  FROM   emp e, dept d\r\n  4  WHERE  e.deptno = d.deptno\r\n  5  AND    e.ename  = 'SMITH';\r\n\r\nExplained.\r\n\r\nSQL> @explain.sql TIM\r\n\r\nPLAN                                   OBJECT_NAME     OBJECT_TYPE     BYTES  COST PARTITION_START PARTITION_STOP\r\n-------------------------------------- --------------- --------------- ----- ----- --------------- ---------------\r\nSelect Statement                                                          57     4\r\n  1.1 Nested Loops                                                        57     4\r\n    2.1 Table Access (Full)            EMP             TABLE              37     3\r\n    2.2 Table Access (By Index Rowid)  DEPT            TABLE              20     1\r\n      3.1 Index (Unique Scan)          PK_DEPT         INDEX (UNIQUE)            0\r\n\r\n5 rows selected.\r\n\r\nSQL>\r\n\r\n-- SQL*Plus\r\nSet autotrace on\r\n<\/pre>\n<span id=\"Tablespaces\"><h3>Tablespaces<\/h3><\/span>\n<pre lang=\"sql\">\r\nDROP TABLESPACE tbs_01 \r\n    INCLUDING CONTENTS \r\n        CASCADE CONSTRAINTS; \r\n\r\n# Drop tablesapce mytbs01 AND drop data files\r\ndrop tablespace mytbs01 including contents and datafiles;\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u2022@ vs @@ @ find file in current directory @@ find file in same path as the command file from which it was called \u2022object priv granted to PUBLIC select * from dba_tab_privs where grantee = &#8216;PUBLIC&#8217;; \u2022system priv granted &hellip; <a href=\"https:\/\/jianmingli.com\/wp\/?p=437\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[35],"tags":[],"class_list":["post-437","post","type-post","status-publish","format-standard","hentry","category-oracle"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8cRUO-73","_links":{"self":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/437","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=437"}],"version-history":[{"count":5,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/437\/revisions"}],"predecessor-version":[{"id":451,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/437\/revisions\/451"}],"wp:attachment":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=437"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=437"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=437"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}