Oracle基本操作

2020-05-19  本文已影响0人  ArthurIsUsed

Oracle基本概念

SYS是Oracle数据库中权限最高的帐号,具有create database的权限,而system没有这个权限,sys的角色是sysdba,system的角色是sysoper。
SYS用户具有DBA权限,并且拥有SYS模式,只能通过SYSDBA登陆数据库,是Oracle数据库中权限最高的帐号.
SYSTEM具有DBA权限。但没有SYSDBA权限。平常一般用该帐号管理数据库就可以了。
sys拥有数据字典(dictionay),或者说dictionay属于sys schema
SQL> select tablespace_name , sum(bytes)/1024/1024 as MB from dba_data_files group by tablespace_name;

TABLESPACE_NAME    MB
----------------- ----------
KMDATA              6986.625
UNDOTBS1                 150
SYSAUX                  4630
USERS                      5
SYSTEM                  1440

SQL> select sum(bytes)/1024/1024/1024 as GB from dba_data_files;
GB
----------
12.9019775
# set ORACLE_SID=KMEXP
# sqlplus / as sysdba
# SQL> show parameter db_name
NAME     TYPE      VALUE
-------  -------   ------
db_name  string    kmb2b

SQL> create user kmbi identified by nw12345;
用户已创建。
SQL> grant connect, resource to kmbi;
授权成功。
SQL> revoke connect, resource from kmbi;
撤销成功
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC;

表空间名         表空间大小(M)  已使用空间(M)   使用比    空闲空间(M)   最大块(M)
------------  -------------  -------------  -------  -----------  ---------
SYSTEM                 2420        2369.56   97.92         50.44         50
SYSAUX                16640        15846.5   95.23         793.5        767
USERS                 26.25          24.25   92.38             2       1.25
KMDATA            163715.56      132505.31   80.94      31210.25       3968
UNDOTBS1                150          42.25   28.17        107.75         91
DATASPACE              2000           4.44    0.22       1995.56    1992.56
INDEXSPACE             2000           2.69    0.13       1997.31    1994.88

SELECT T.TABLESPACE_NAME,D.FILE_NAME,
D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS
FROM DBA_TABLESPACES T,DBA_DATA_FILES D
WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME
ORDER BY TABLESPACE_NAME,FILE_NAME;
select 'CREATE SEQUENCE '||SEQUENCE_OWNER||'.'||SEQUENCE_NAME||' MINVALUE '||to_char(MIN_VALUE)||' MAXVALUE '||to_char(MAX_VALUE)||' INCREMENT BY '||to_char(INCREMENT_BY)||' START WITH '||to_char(LAST_NUMBER+CACHE_SIZE*2)||' CACHE '||CACHE_SIZE||
case when ORDER_FLAG='N' then ' NOORDER ' else ' ORDER ' end||case when CYCLE_FLAG='N' then ' NOCYCLE;' else ' CYCLE;' end SQL
from dba_SEQUENCEs
where (SEQUENCE_OWNER = 'KMDATA')
and CACHE_SIZE<>0 and MAX_VALUE!=CACHE_SIZE
and SEQUENCE_NAME in (
'PKGSEQ_USERSTATUSCHANGE',
'SEQ_TELCOMMON',
'SEQ_TRANSID'
)
union all
select 'CREATE SEQUENCE '||SEQUENCE_OWNER||'.'||SEQUENCE_NAME||' MINVALUE '||to_char(MIN_VALUE)||' MAXVALUE '||to_char(MAX_VALUE)||' INCREMENT BY '||to_char(INCREMENT_BY)||' START WITH '||to_char(LAST_NUMBER+1)||' NOCACHE '||
case when ORDER_FLAG='N' then ' NOORDER ' else ' ORDER ' end||case when CYCLE_FLAG='N' then ' NOCYCLE;' else ' CYCLE;' end SQL
from dba_SEQUENCEs
where (SEQUENCE_OWNER = 'KMDATA')
and CACHE_SIZE=0 and MAX_VALUE!=CACHE_SIZE
and SEQUENCE_NAME in (
'PKGSEQ_USERSTATUSCHANGE',
'SEQ_TELCOMMON',
'SEQ_TRANSID'
)
order by 1;
SQL> select username,default_tablespace from dba_users;
USERNAME      DEFAULT_TABLESPACE
------------- -------------------
KMZC          DATASPACE
SQL> col TABLESPACE_NAME for A15;    
SQL> col FILE_NAME for A50;
SQL> select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space_MB from dba_data_files order by tablespace_name;  

TABLESPACE_NAME  FILE_ID     FILE_NAME                                   TOTAL_SPACE_MB
---------------  ----------  ------------------------------------------  ---------------
DATASPACE                 8  /u01/app/oracle/data/kmzc/data_1.dbf                   2000
INDEXSPACE                9  /u01/app/oracle/data/kmzc/idx_1.dbf                    2000
KMDATA                    6  /u01/app/oracle/data/kmb2b/kmdata02.dbf               32706
KMDATA                   10  /u01/app/oracle/data/kmb2b/kmdata04.dbf               32767
KMDATA                    7  /u01/app/oracle/data/kmb2b/kmdata03.dbf               32731
KMDATA                   11  /u01/app/oracle/data/kmb2b/kmdata05.dbf               32767
KMDATA                    5  /u01/app/oracle/data/kmb2b/kmdata01.dbf               32745
SYSAUX                    2  /u01/app/oracle/data/kmb2b/sysaux01.dbf               16640
SYSTEM                    1  /u01/app/oracle/data/kmb2b/system01.dbf                2420
UNDOTBS1                  3  /u01/app/oracle/data/kmb2b/undotbs01.dbf                150
USERS                     4  /u01/app/oracle/data/kmb2b/users01.dbf                   26
SQL> select
t.tablespace_name,
round(sum(bytes/(1024*1024)),0) used_size_mb
from
dba_tablespaces t,
dba_data_files d
where
t.tablespace_name = d.tablespace_name
group by t.tablespace_name;   

TABLESPACE_NAME   USED_SIZE_MB
---------------   ------------
KMDATA                  163716
INDEXSPACE                2000
UNDOTBS1                   150
SYSAUX                   16640
DATASPACE                 2000
USERS                       26
SYSTEM                    2420

修改连接数

SQL> show parameter processes;

NAME                       TYPE      VALUE
-------------------------- --------  ---------
aq_tm_processes            integer   1
db_writer_processes        integer   2
gcs_server_processes       integer   0
global_txn_processes       integer   1
job_queue_processes        integer   1000
log_archive_max_processes  integer   4
processes                  integer   100

SQL> alter set processes = 500 scope = spfile;
SQL> create pfile from spfile;
SQL> shutdown immediate;
SQL> startup
SQL> show parameter processes;
NAME        TYPE       VALUE
----------  ---------  ------
processes   integer    500
上一篇 下一篇

猜你喜欢

热点阅读