Oracle 常用命令及近期使用問題集合

來源:互聯網
上載者:User
Oracle 常用命令及近期使用問題集合
【問題與背景】

一、刪除一個表?一個庫?
   drop table table_name;
   drop table database_name;

   二、刪除一個使用者下所有的資料?
   最好先停掉庫,shutdown immediate; && startup 這樣能保證沒有使用者串連
   或者 SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME=///'USERNAME///'; 查詢到串連
       SID SERIAL#
   ---------- ----------
             24    25341
   結束此使用者的所有會話
   SQL>ALTER SYSTEM KILL SESSION ///'24,25341///';
   System altered.
   再刪除:DROP USER USERNAME CASCADE;

   三、建立使用者並授權 (本例給串連,修改,管理員)
   create user username identified by passwd;
   grant connect,resource,dba to username;
   commit;

   四、如何設定字元集?
   查看用戶端字元集環境:
   select * from nls_instance_parameters;其來源於v$parameter
   設定過程
   SVRMGR> SHUTDOWN IMMEDIATE;
   SVRMGR> STARTUP MOUNT;
   SVRMGR> ALTER SYSTEM ENABLE RESTRICTED SESSION;
   SVRMGR> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
   SVRMGR> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
   SVRMGR> ALTER DATABASE OPEN;
   SVRMGR> ALTER DATABASE CHARACTER SET zhs16gbk;
   SVRMGR> SHUTDOWN IMMEDIATE;
   SVRMGR> STARTUP;
   如果報以下的錯:
   SQL> alter database character set zhs16gbk;
   alter database character set zhs16gbk
   *
   ERROR at line 1:
   ORA-12712: new character set must be a superset of old character set
   處理方法:
   SQL> ALTER DATABASE character set INTERNAL_USE zhs16gbk; # 使用INTERNAL_USE可以跳過超集的檢查,ALTER DATABASE character set INTERNAL_USE

   五、查詢執行個體?所有庫名?表名?
   select * from v$database;   show parameter db;   // 查看當前的所有資料庫:
   show parameter optimizer; //顯示設定資訊
   select table_name from user_tables;     //目前使用者的表  
   select table_name from all_tables;     //所有使用者的表  
   select table_name from dba_tables;    //包括系統資料表
   看欄位名與資料類型:  
   desc talbename;  
   查看主鍵:  
   select * from user_constraints where constraint_type=///'P///' and TABLE_name=upper(///'TRD_USER///')  
   查看錶空間的sql語句
   col tablespace_name format a10;
   select f.tablespace_name,a.total,u.used,f.free,round((u.used/a.total)*100) ///"% used///",
       round((f.free/a.total)*100) ///"% Free///"
       from
       (select tablespace_name, sum(bytes/(1024*1024)) total
         from dba_data_files group by tablespace_name) a,
       (select tablespace_name, round(sum(bytes/(1024*1024))) used
         from dba_extents group by tablespace_name) u,
       (select tablespace_name, round(sum(bytes/(1024*1024))) free
         from dba_free_space group by tablespace_name) f
   WHERE a.tablespace_name = f.tablespace_name
   and a.tablespace_name = u.tablespace_name;

   六、增加資料表空間
   為資料表空間增加資料檔案:
   alter tablespace users add datafile ///'/u01/oracle/oradata/trds/system01.dbf///' size 1000M;
   增加資料表空間原有資料檔案尺寸:
   alter database datafile ///'/u01/oracle/oradata/trds/system01.dbf///' resize 1000M;

   七、資料庫暫存資料表空間的資料檔案的丟失
   當資料庫的暫存資料表空間的資料檔案丟失也會引起ORA-01157的錯誤。因為資料庫對暫存資料表空間的資料檔案不會發生檢查點,所以這個時候資料庫照樣能夠開啟。這種情況下的解決方案是邏輯上刪除暫存資料表空間的資料檔案,並且重新增加一個新的暫存資料表空間的資料檔案。
   例如:
   SELECT * FROM DBA_OBJECTS ORDER BY OBJECT_NAME;
   select * from dba_objects order by object_name;
   * ERROR at line 1:
   ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
   ORA-01110: data file 5: ///'/Oracle/oradata/temp01.dbf///'

   ALTER DATABASE TEMPFILE ///'/oracle/oradata/temp01.dbf///'   DROP;
   SELECT TABLESPACE_NAME,FILE_NAME FROM DBA_TEMP_FILES;
   ALTER TABLESPACE TEMP ADD TEMPFILE ‘/Oracle/oradata/temp01.dbf‘ SIZE 100M;

   八、查看ORACLE 使用者串連數
   select count(*) from v$session #串連數
   Select count(*) from v$session where status=///'ACTIVE///' #並發串連數
   查看oracle 資料庫狀態
   select status from v$instance;
   select open_mode from v$database;

   九、PLS-213: package STANDARD not accessible報錯解決方案
   sqlplus /nolog
   SQL> connect / as sysdba
   SQL> $ORACLE_HOME/rdbms/admin/catalog.sql
   SQL> $ORACLE_HOME/rdbms/admin/catproc.sql
   SQL> $ORACLE_HOME/rdbms/admin/catexp.sql 

   十、運行lsnrctl start 出現
   TNSLSNR for Linux: Version 8.1.7.0.0 - Production
   System parameter file is /oracle/product/8.1.7/network/admin/listener.ora
   Log messages written to /oracle/product/8.1.7/network/log/listener.log
   Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
   Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=LinServer)(PORT=1521)))
   Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=LinServer)(PORT=2481))(PROTOCOL_STACK=(PRESENTATION=GIOP)(SESSION=RAW)))
   TNS-01201: Listener cannot find executable /oracle/product/8.1.7/bin/extproc for SID PLSExtProc
   把binl裡的extprocO 做一個叫extproc的link

   十一、oemapp相關命令,如下:
   oemapp dbastudio
   oemapp console
   oemapp txtm

   十二、如何建立一個執行個體?
   CREATE DATABASE trds
   CONTROLFILE REUSE
   LOGFILE ///'/data/oracle/trds/redo01.log///' SIZE 1M REUSE,
   ///'/data/oracle/trds/redo02.log///' SIZE 1M REUSE,
   ///'/data/oracle/trds/redo03.log///' SIZE 1M REUSE,
   ///'/data/oracle/trds/redo04.log///' SIZE 1M REUSE
   DATAFILE ///'/data/oracle/trds/system01.dbf///' SIZE 10M REUSE
   AUTOEXTEND ON
   NEXT 10M MAXSIZE 200M
   CHARACTER SET WE8ISO8859P1;
   CREATE ROLLBACK SEGMENT rb_temp STORAGE (INITIAL 100 k NEXT 250 k);
   ALTER ROLLBACK SEGMENT rb_temp ONLINE;
   CREATE TABLESPACE rbs
   DATAFILE ///'/data/oracle/trds/rbs01.dbf///' SIZE 5M REUSE AUTOEXTEND ON
   NEXT 5M MAXSIZE 150M;
   CREATE TABLESPACE users
   DATAFILE ///'/data/oracle/trds/users01.dbf///' SIZE 3M REUSE AUTOEXTEND ON
   NEXT 5M MAXSIZE 150M;
   CREATE TABLESPACE temp
   DATAFILE ///'/data/oracle/trds/temp01.dbf///' SIZE 2M REUSE AUTOEXTEND ON
   NEXT 5M MAXSIZE 150M;
   CREATE ROLLBACK SEGMENT rb1 STORAGE(INITIAL 50K NEXT 250K)
   tablespace rbs;
   CREATE ROLLBACK SEGMENT rb2 STORAGE(INITIAL 50K NEXT 250K)
   tablespace rbs;
   CREATE ROLLBACK SEGMENT rb3 STORAGE(INITIAL 50K NEXT 250K)
   tablespace rbs;
   CREATE ROLLBACK SEGMENT rb4 STORAGE(INITIAL 50K NEXT 250K)
   tablespace rbs;
   ALTER ROLLBACK SEGMENT rb1 ONLINE;
   ALTER ROLLBACK SEGMENT rb2 ONLINE;
   ALTER ROLLBACK SEGMENT rb3 ONLINE;
   ALTER ROLLBACK SEGMENT rb4 ONLINE;
   ALTER ROLLBACK SEGMENT rb_temp OFFLINE;
   DROP ROLLBACK SEGMENT rb_temp ;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.