Linux安装Oracle

  1. Oracle LInux安装Oracle11

Oracle 11g 7个压缩包说明

  1. 文件名称 说明
    p102025301120——Linux-x86-64_1of7.zip database安装介质
    p102025301120——Linux-x86-64_2of7.zip database安装介质
    p102025301120——Linux-x86-64_3of7.zip grid安装介质
    p102025301120——Linux-x86-64_4of7.zip client安装介质
    p102025301120——Linux-x86-64_5of7.zip gateways安装介质
    p102025301120——Linux-x86-64_6of7.zip example
    p102025301120——Linux-x86-64_7of7.zip deinstall
  2. Linux网络流量实时查看工具iftop

下载RPM:ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/iftop-1.0-0.pre3.el6.rf.x86_64.rpm
安装:rpm -ivh iftop-1.0-0.pre3.el6.rf.x86_64.rpm
运行:iftop -i 网卡接口
例如:iftop -i ens33
(1) 界面介绍:
TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
(2)iftop相关参数说明:
-i设定监测的网卡,如:# iftop -i eth1
-B 以bytes为单位显示流量(默认是bits),如:# iftop -B
-n使host信息默认直接都显示IP,如:# iftop -n
-N使端口信息默认直接都显示端口号,如: # iftop -N
-F显示特定网段的进出流量,如# iftop -F 172.30.1.0/24或# iftop -F 172.30.1.0/255.255.255.0
-h(display this message),帮助,显示参数信息
-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
-b使流量图形条默认就显示;
-f这个暂时还不太会用,过滤计算包用的;
-P使host信息及端口信息默认就都显示;
-m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M
6.进入iftop画面后的一些操作命令(注意大小写哟~)
按h切换是否显示帮助;
按n切换显示本机的IP或主机名;
按s切换是否显示本机的host信息;
按d切换是否显示远端目标主机的host信息;
按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;
按N切换显示端口号或端口服务名称;
按S切换是否显示本机的端口信息;
按D切换是否显示远端目标主机的端口信息;
按p切换是否显示端口信息;
按P切换暂停/继续显示;
按b切换是否显示平均流量图形条;
按B切换计算2秒或10秒或40秒内的平均流量;
按T切换是否显示每个连接的总流量;
按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;
按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;
按j或按k可以向上或向下滚动屏幕显示的连接记录;
按1或2或3可以根据右侧显示的三列流量数据进行排序
按<根据左边的本机名或IP排序;
按>根据远端目标主机的主机名或IP排序;
按o切换是否固定只显示当前的连接;
按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!
按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!
按q退出监控

https://blog.csdn.net/studycount/article/details/80515915

  1. Redhat Linux安装Oracle11

https://blog.csdn.net/feinifi/article/details/78412954
https://blog.csdn.net/qq_22260641/article/details/76182447?tdsourcetag=s_pctim_aiomsg

  1. 配置web界面console
在CMD窗口下执行:
1、删除原来配置:emca -repos drop
	输入以下信息:
	数据库 SID: orcl
	监听程序端口号: 1521
	SYS 用户的口令:
	SYSMAN 用户的口令:
	SYSMAN 用户的口令:
	是否继续? [yes(Y)/no(N)]: y
2、创建新的配置: emca -repos create
	输入以下信息:
	数据库 SID: orcl
	监听程序端口号: 1521
	SYS 用户的口令:
	SYSMAN 用户的口令:
	是否继续? [yes(Y)/no(N)]: y
3、执行配置:emca -config dbcontrol db
	输入以下信息:
	数据库 SID: orcl
	已为数据库 orcl 配置了 Database Control
	您已选择配置 Database Control, 以便管理数据库 orcl
	此操作将移去现有配置和默认设置, 并重新执行配置
	是否继续? [yes(Y)/no(N)]: y
	监听程序端口号: 1521
	SYS 用户的口令:
	DBSNMP 用户的口令:
	用户名/口令无效。
	DBSNMP 用户的口令:
	SYSMAN 用户的口令:
	通知的电子邮件地址 (可选):
	通知的发件 (SMTP) 服务器 (可选):
	-----------------------------------------------------------------

	已指定以下设置

	数据库 ORACLE_HOME ................ E:\oracle\product\10.2.0\db_1

	数据库主机名 ................ server
	监听程序端口号 ................ 1521
	数据库 SID ................ orcl
	通知的电子邮件地址 ...............
	通知的发件 (SMTP) 服务器 ...............
	-----------------------------------------------------------------
	是否继续? [yes(Y)/no(N)]: y

  1. Oracle12中配置CDB和PDB

https://blog.csdn.net/dougfii/article/details/53897177

CREATE pluggable DATABASE pdborcl admin USER pdbadmin identified BY pdbadmin roles=(resource)
file_name_convert= ('/home/oracle/app/oradata/orcl/pdbseed', '/home/oracle/app/oradata/orcl/pdborcl');  
 
show con_name;
alter session set container=pdborcl; 
startup;
show con_name;

--Oracle创建用户权限
--创建用户  
create user pdbadmin identified by pdbadmin default tablespace test;  

3)修改tnsnames.ora:
在"D:\App\Oracle\product\12.1.0\dbhome_1\NETWORK\ADMIN"目录下,用记事本打开tnsnames.ora,在最后添加

PDBORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = PDBORCL)
    )
  )

重启
sqlplus / as sysdba
select con_id, dbid, guid, name , open_mode from v$pdbs;
SQL> select con_id, dbid, guid, name , open_mode from v$pdbs;

    CON_ID       DBID GUID                             NAME       OPEN_MODE
---------- ---------- -------------------------------- ---------- ----------
         2 2215246445 838565876C374043E055000000000001 PDB$SEED   READ ONLY
         3  797490731 83CC7CD6D2150DBCE053CA64A8C08E0C PDBORCL    MOUNTED
注意这里是mount,表示PDB 是关闭的。

--指定PDB 数据库:
SQL>alter session set container=PDBORCL;

SQL>startup	 

select con_id, dbid, guid, name , open_mode from v$pdbs;

SQL> select con_id, dbid, guid, name , open_mode from v$pdbs;

    CON_ID       DBID GUID                             NAME       OPEN_MODE
---------- ---------- -------------------------------- ---------- ----------
         3  797490731 83CC7CD6D2150DBCE053CA64A8C08E0C PDBORCL    READ WRITE
		 
3. 设置Pluggable Database (PDB) 的自动startup
默认情况下,在CDB 启动的时候,all 的PDB 都是mount状态,也没有默认的机制,在CDB启动时自动启动PDB。
但这里可以通过触发器来实现PDB的自动open:

SQL> CREATE OR REPLACE TRIGGER open_pdbs
  2  AFTER STARTUP ON DATABASE
  3  BEGIN
  4  EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';
  5  END open_pdbs;
  6  /

Trigger created.


其中pdborcl是我创建的可插接式数据库,pdbadmin是创建的用户,Learning是密码。file_name_convert换成相应目录。至此PDB创建成功。
 
4、创建默认表空间

1)用dba账户登陆

2)创建表空间,并修改用户默认表空间


-- 创建临时空间
create temporary tablespace pdbadmin_temp
tempfile '/home/oracle/app/oradata/orcl/pdborcl/pdbadmin_temp01.dbf'
size 32m
autoextend on
next 32m MAXSIZE unlimited  
extent management local;


-- 创建数据表空间
create tablespace pdbadmin_data
logging
datafile '/home/oracle/app/oradata/orcl/pdborcl/pdbadmin_data01.dbf'
size 10240m
autoextend on
next 100m MAXSIZE unlimited  
extent management local;

-- 更改用户默认表空间
alter user pdbadmin default tablespace pdbadmin_data temporary tablespace pdbadmin_temp;

  1. ORacle的URL连接方式:
1》. sid:
	jdbc:oracle:thin:@host:port:SID 
	Example: jdbc:oracle:thin:@localhost:1521:orcl 
2》. ServiceName:
	jdbc:oracle:thin:@//host:port/service_name 
	Example:jdbc:oracle:thin:@//localhost:1521/orcl.city.com 
3》. TNSName
	jdbc:oracle:thin:@TNSName 
	Example: jdbc:oracle:thin:@TNS_ALIAS_NAME 
	jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=x.x.x.1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=x.x.x.2)(PORT=1521)))(LOAD_BALANCE=yes)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=xxrac)))
  1. Oracle的简单基本操作
Oracle默认系统用户:
sys(超级用户,权限最大,只能以sysdba或者sysoper权限登录)
    conn sys/oracle as sysdba
    conn sys/manager @orcl as sysdba(orcl是Oracle数据库实例,这是我自己的用户名和密码连接方式)
ststem(没有sys权限大,可以直接登录normal)
    conn system/manager
sysman(EM管理的用户)

scott(Oracle提供的示例用户,理由提供了初学者操作的的表emp,dept,salgrade,bonus)
    conn scott/tiger
sqlplus /nolog;(这样只是进入了sqlplus界面,并没有登录连接到Oracle数据库实例,然后使用conn命令连接实例才能登录)

配置Oracle开机自启动:

启动
1.#su - oracle 切换到 oracle 用户且切换到它的环境
2.$lsnrctl status 查看监听及数据库状态
3.$lsnrctl start 启动监听
4.$sqlplus / as sysdba 以 DBA 身份进入 sqlplus
5.SQL>startup 启动 db

一、数据库启动分为三个步骤:
SQL> startup nomount; //启动实例,不加载数据库
SQL> alter database mount; //加载数据库(挂起)
SQL> alter database open; //打开数据库
等同于 SQL> startup
startup参数
不带参数: 启动数据库实例并打开数据库,这种情况下用户才能使用数据库
nomount:只启动数据库实例,但不打开数据库
mount: 加载数据库。(挂起)
1、startup nomount – 启动实例,不加载数据库(模式一)
nomount:在这一阶段,只需要读取initSID.ora文件,启动数据库实例,创建后台进程。在initSID.ora文件中,可以定位 SPFILEORAC.ora文件,这是参数文件,通过它可以初始化SGA和启动后台进程。并可以定位控制文件位置。在此阶段,可以执行的操作有:重建控 制文件,重建数据库。
2、alter database mount – 加载数据库(模式二)
mount:在nomount阶段,可以通过读取控制文件来转换到mount阶段。在数据库加载阶段(mount),所有的数据文件和联机日志文件的名称和位置都从控制文件中读取,但是并没有真正查找这些文件。在此阶段,可以执行的操作有:数据库日志归档、数据库介质恢复、使数据文件联机或脱机、重定位 数据文件和联机日志文件。
3、alter database open – 打开数据库(模式三)
open:通过查找定位并打开数据文件和联机日志文件来切换到open阶段。此时数据库可用,可以建立

 停止
1.#su - oracle 切换到 oracle 用户且切换到它的环境
2.$lsnrctl stop 停止监听
3.$sqlplus / as sysdba 以 DBA 身份进入 sqlplus
4.SQL>shutdown immediate; 关闭 db

也分三个步骤:
SQL> alter database close; //关闭数据库(CLOSE 关闭数据文件)
SQL> alter database dismount; //卸载数据库(关闭控制文件 DISMOUNT),
SQL> shutdown //关闭Oracle实例(SHUTDOWN)
也可以查询oracle的进程:
ps -ef|grep ora_dbw0_$ORACLE_SID
然后kill掉
kill -9 PID
shutdown的参数
normal 等待所有连接用户断开后才执行关闭数据库任务(等待所有的用户断开连接)
immediate 等待用户执行完正在执行的语句后就断开连接,并不允许新用户连接。
transactional 等待用户执行完当前事务后断开连接,并不允许新的用户连接数据库。
abort 不等待,强行断开连接并直接关闭数据库。

开机自启动
1. 编辑/etc/oratab文件.
 orcl:/orcl/app/oracle/product/12.2.0/db_1:N
将N改为Y(注意大写)
/etc/oratab是在创建数据库实例时建立的,需要用root用户运行root.sh,如果忘记运行在自启动和关闭时会失败,错误信息:"/etc/oratab" is not accessible。

它记录主机中有多少个数据库。

在$ORACLE_HOME/bin目录下的$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut需要调用/etc/oratab文件,如果不存在,dbstart和dbshut将失败。

etc/oratab 格式为: SID:ORACLE_HOME:AUTO

如果需要自动启动数据库,则将AUTO设为Y,在调用dbstart命令才生效。dbstart根据/etc/oratab中的配置来启动相应的数据库,选项只是能不能用$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut来启动和关闭数据库的开关。

2.编辑 $ORACLE_HOME/dbstart 和 $ORACLE_HOME/dbshut
找到 ORACLE_HOME_LISTNER=$1  这行, 修改成:
ORACLE_HOME_LISTNER=$ORACLE_HOME

3.添加系统启动项
su - root
vim etc/rc.d/rc.local
在文件末尾添加:
su - oracle -lc 'lsnrctl start'
su - oracle -lc 'dbstart'

好了,现在重启就会自动启动Oracle监听和实例啦.
1>查看当前的所有数据库: select * from v$database;    select name from v$database;
2>查看数据库结构字段: desc v$databases;
3>查看所有的数据库实例:select * from v$instance;
4>查看当前库的所有数据表:select * from all_tables;    select TABLE_NAME from all_tables;
5>创建和管理用户: create user scott identified by tiger;
6>刚创建的用户没有权限,需要授权: grant connect, resource to scott;
7>解锁用户: alter user hr account unlock;
		   alter user hr identified by hr;
	14、增加数据库用户:(test/test)
	create user test11 identified by test default tablespace users Temporary TABLESPACE Temp;
	15、用户授权:
	grant connect,resource,dba to test;
	grant sysdba to test;
	commit;
	16、更改数据库用户的密码:(将sys与system的密码改为test.)
	alter user sys indentified by test;
	alter user system indentified by test;
8>查看有哪些表:select table_name from user_tables;
9>查看表结构: desc table_name;

你可能感兴趣的:(数据库)